MySQL 5.7 安裝完成後,首次登陸的幾個問題
Server:CentOS 7.0
MySQL : 5.7.20 MySQL Community Server (GPL)
1.首次登陸後修改密碼:
根據安裝時的選擇不同,有mysqld_safe用mysqld_safe,沒有就用mysqld。正常安裝都應該在/usr/sbin目錄下
a)啟動mysql
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
b)無密碼進入msyql
mysql -u root mysql
c) 修改密碼
UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
會發現這個錯誤:ERROR 1054 (42S22): Unknown column ‘Password‘ in ‘field list‘
最新版的mysql中,該命令應該改為:
UPDATE user SET authentication_string=PASSWORD(‘newpassword‘) where USER=‘root‘;
d) 刷新退出
flush privileges;
exit;
2.每次登陸提示需要修改密碼:
退出後通過密碼登錄發現無論做什麽操作都會提示
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
於是,只能再次設置
UPDATE user SET PASSWORD=PASSWORD(‘newpassword‘)
但是退出後,再次進入,仍然會有這個提示。非常坑........
解決辦法:
UPDATE user SET authentication_string=PASSWORD(‘newpassword‘) where USER=‘root‘ and host=‘root‘ or host=‘localhost‘;
貌似是把所有的空密碼都設置為有效的密碼才行,mysql 5.6還沒有這種限制。5.7上現在有了
flush privileges; exit之後再登錄就不會提示修改密碼了。
3. 無法啟動報錯
查看mysqld.log,發現如下錯誤記錄
====================================
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
===================================
root cause:啟動文件,被另一個進程占用。其實大多數情況是mysqld重啟的時候,之前的資源沒有完全釋放。
solution:
1)ps aux |grep mysq* #找到鎖住資源的進程
2)kill -s 9 進程號 # 殺死進程
3)重啟mysqld即可
MySQL 5.7 安裝完成後,首次登陸的幾個問題