linux mysql 8.0 重置密碼或者刷新權限問題


關於mysql user 表的主鍵,百度說是user + host 構成了主鍵

 

1:問題如下: 

[root@izbp19kvzy03hpq35bq1jxz ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
這一段是拒絕user=root,host=localhost 的用戶訪問,需要數據密碼

解決方案:1):設置mysql為無密碼啟動 

                (修改MySQL的登錄設置:vi /etc/my.cnf (部分Linux安裝了vim,其命令則改為vim /etc/my.cnf)

在[mysqld]的段中加上一句:skip-grant-tables保存並退出vi。)

              2):重新啟動mysqld,清空密碼

                     重啟mysql:service mysqld restart(這一步不能少,這是讓my.cnf的修改生效)

                      進入mysql:mysql -u root

                      進入mysql后,切換數據庫至mysql:use mysql;

                      清空密碼:update user set authentication_string='' where user='root';
              3):退出mysql:exit; 並且 屏蔽skip-grant-tables:vi /etc/my.cnf,在skip-grant-tables前面添加#

               4):重啟mysql.

至此 mysql8.0 可以不需要密碼登錄了。登錄成功之后重新設置密碼和刷新權限 就可以遠程訪問了

 

設置密碼:

'root'@'%'   'root'等於user表里的user,'%' 等於user表里的host

 

ALTER USER 'root'@'%' IDENTIFIED BY '新密碼' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';

讓密碼馬上生效:FLUSH PRIVILEGES;

 

 

標記以便日后使用


免責聲明!

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



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