1. 程式人生 > >【mysql】linux用yum安裝mysql後,登陸root使用者提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (..

【mysql】linux用yum安裝mysql後,登陸root使用者提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (..

系統是CentOS 6.8

yum -y install mysql mysql-server mysql-devel

安裝完之後

[root@iZwz9gjh3pbz2k2hin7cg8Z ~]# mysql -uroot -p

這裡寫圖片描述
報ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)的錯誤。

首先把所有mysql的程序給殺掉:

ps -ef | grep mysql --color=auto

這裡寫圖片描述
kill -9 PID殺掉即可。(上圖中紅框內的即為PID,每個機器上都不一樣)


之後:

mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 回車

就能用安全模式進到mysql了
更改root使用者密碼:

UPDATE mysql.user SET authentication_string=PASSWORD('admin') where USER='root';
PS:有的mysql版本可能沒有authentication_string欄位,是password,改一下
UPDATE mysql.user SET PASSWORD=PASSWORD('admin') where
USER='root';
即可 執行FLUSH PRIVILEGES; 退出mysql,再登陸即可。

可能遇到的問題:

我在操作的時候還出現了一個問題,就是提示ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
檢視mysqld執行狀態

/etc/init.d/mysqld status

提示mysqld is stopped。
就算重啟mysqld服務也會失敗。
這裡寫圖片描述

解決辦法:
很簡單,改一下許可權就行。

chmod 777 -R /var
/lib/mysql/

這裡寫圖片描述
這就好了。