鑑於我在遇到這個問題時,在網上搜索到幾十個答案都是進行更改密碼解決該問題,然並無卵用。最後仍是讓小編找到了解決方法,但願你們遇到該問題時可以節省時間。解決方法以下:
#mysql -u root -p
提示」Access denied for user ‘root’@’localhost’ (using password: YES)」
這個緣由看起來好像是root 密碼被修改了,可是實際上不是這樣的
經過給my.ini文件中添加 skip-grant-tables 一行以後,再使用mysql直接回車以後輸入以下命令:
update mysql.user set authentication_string="mypassword" where user="root";
flush privileges;
quit;
在my.ini文件中刪除skip-grant-tables以後從新登陸仍是這個錯誤。所以問題來了,到底是什麼緣由致使不能登陸?從錯誤能夠猜出,應該是localhost沒有與127.0.0.1對應的緣由,輸入命令查詢:
select user,host from mysql.user;
顯然是不對的。而後使用下面語句登陸具體的ip地址:
mysql -u root -p xxxx -h 127.0.0.1
採用賦權語句,將root登陸到具體的IP地址:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
將其中的%改成127.0.0.1,就能夠在本機登陸mysql了
要是不改變的話,在任意電腦均可以登陸這個mysql數據庫。遠程電腦登陸的命令爲:
mysql -h 數據庫所在主機ip -u root -p
而後就能夠登陸了。