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即可

 

4. 如果沒有mysqld_safe:

通常,mysql安裝成功后會給root生成一個默認的密碼,通過以下命令查看。

sudo grep 'temporary password' /var/log/mysqld.log

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM