標籤:mysql linux
安裝mysql後,有的使用者既想在本地訪問,又想遠端存取。
mysql -h host -uroot -ppassword 出現錯誤:
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)
這是因為你沒有進入mysql的許可權,你的主機沒有在mysql的user表裡儲存,或者使用者名稱或者密碼不正確。
1.跳過授權,進入mysql:
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
2.賦予足夠的許可權
grant all privileges on *.* to ‘root‘@‘%‘ with grant option;
將許可權匯入記憶體,可以不用重啟mysql來查看是否正確執行許可權
flush privileges;
3.重新設定使用者密碼
>use mysql
>UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
4.sudo service mysql restart
成功。這樣就既可以從內網又可以從外網訪問資料庫了。
附:
如果user表裡沒有記錄,就得手動添加:
INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES (‘localhost‘, ‘username‘, PASSWORD(‘yourpassword‘), ‘Y‘, ‘Y‘,‘Y‘);
注釋/etc/mysql/my.cnf裡的記錄
bind-address =127.0.0.1
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)