1. 程式人生 > >mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

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

此錯誤一般為密碼錯誤

1.停止mysql服務

service mysqld stop

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

vim /etc/my.cnf

在此檔案最後追加

skip-grant-tables(跳過密碼驗證)

3.啟動mysql

service mysqld start

4.登入mysql

mysql -u root -p    密碼直接按回車

5.修改密碼

mysql> use mysql;
mysql> update user set password=password("new password") where user="root"
; mysql> flush privileges; mysql> quit

6.回到第二步驟去掉加上的配置

7.mysql重啟,完成

service mysqld restart

對於遠端連線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';

附:

其實預設安裝完了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;

然後在進行設定密碼就好了