Linux MySQL的root沒法登陸數據庫ERROR 1045 (28000)

Linux環境下,腳本自動安裝完數據庫,命令行用mysql -uroot -ppasswaord 登陸卻報了這麼個錯:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)mysql

網上解決辦法都差很少,大概作個整理吧:
一、編輯/etc/my.cnf添加skip-grant-tables
二、重啓MySQL服務(Linux版本不一樣可能命令略不同)
systemctl restart mysqld.service
三、修改MySQL密碼(如下兩條命令執行一條便可,根據MySQL版本選擇,後一個適合版本比前一個高)
update user set password=password('我是密碼') where user='root' and host='localhost';
update user set authentication_string=password('我是密碼') where user='root' and host='localhost';
FLUSH PRIVILEGES;
四、註釋掉skip-grant-tables
五、重啓MySQL服務
六、mysql -uroot -p我是密碼
此時能登陸上去,但可能其餘大部分操做都會報錯
七、ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
則再設一次密碼便可
SET PASSWORD = PASSWORD('我是密碼');
八、若報錯:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements則修改密碼策略,再修改密碼。
mysql> set global validate_password_policy=low;
九、登陸驗證是否能成功登陸,並嘗試其餘操做驗證帳戶是否正常sql

相關文章
相關標籤/搜索