ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'mysql'


原因:修改數據庫賬號時刪除了默認的localhost root,  新建了% root 但沒有賦予全部權限;

解決方法:

1.關閉數據庫# mysqld stop

2.在my.cnf里加入skip-grant-tables

3.停止服務器進程  //沒有找到停止的方法用ps -ef | grep mysqld 后 kill掉了

4.重新啟動服務器

5.進入 use mysql

6.先刷新一下權限表。

mysql> flush privileges;

CREATE USER 'root'@'%' IDENTIFIED BY '12';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;#注意刷新權限表

7.關閉mysqld            /etc/init.d/mysqld stop

8.將my.cnf 里的設置注釋掉

#select host,user from mysql.user

 9.開啟mysqld       /etc/init.d/mysqld start

10.直接# mysql 進入服務器

11.設置用戶密碼

select host, user, authentication_string, plugin from user;//查看用戶密碼信息
//authentication_string 為用戶密碼 plugin 加密方式
update user set authentication_string='' where user='root';
ALTER user 'root'@'localhost' IDENTIFIED BY '1';//設置密碼
flush privileges;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM