1. 程式人生 > >centos7 上安裝mysql5.7後登入報錯ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pas

centos7 上安裝mysql5.7後登入報錯ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pas

安裝完mysql後會有個臨時密碼去日誌檢視,但是檢視登入修改密後還是不行

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes)

於是

1,停止mysql服務

systemctl stop mysqld.service

2,修改配置檔案無密碼登入

vi /etc/my.cnf

在最尾部加上

skip-grant-tables
儲存

3,啟動mysql

systemctl start mysqld.service

4,登入musql
mysql -u root
此處注意不要加-p

5,修改密碼,mysql5.7用此語法

use mysql ;

 update mysql.user set authentication_string=password('123456') where user='root' ;

6,回到第二步驟去掉加上的
skip-grant-tables

儲存 重啟mysql就ok了

#########################################################################

其實預設安裝完了mysql後或在日誌中生成一個預設的密碼 /var/log/mysqld.log 中

拿到預設密碼後登入mysql  進行密碼重新設定

set password=password('you password');

如果密碼級別與預設的級別要求不符時候會報

Your password does not satisfy the current policy requirements
此時需要修改級別與最小的預設密碼位數
set global validate_password_policy=0;
set global validate_password_length=4;
然後在進行設定密碼就好了

###################

遠端連線時1130錯誤

mysql;use mysql;  
mysql;select 'host' from user where user='root';  
mysql;update user set host = '%' where user ='root';  
mysql;flush privileges;  
mysql;select 'host'   from user where user='root';