MariaDB 和MySQL登錄失敗或者密碼忘記


提示信息:

在啓動mysql時不啓動grant-tables,授權表,--skip-grant-tables。

步驟:

1、停掉所有mysql或mariadb服務:

~]#service mysqld stop(CentOS6)
~]#systemctl  stop mysqld.service(CentOS7)
或者
~]#pkill mysql


2、命令行啓動:

~]#/bin/mysqld_safe --skip-grant-tables &


3、進入mysql庫,用戶信息存放在mysql庫下user表:

MariaDB [none]>use mysql;


4、使用password()修改密碼:

MariaDB [mysql]>update user set password=password(‘your 密碼’) where user=’root’;


5、即時生效:

MariaDB [mysql]>flush privileges;


6、退出:

MariaDB [mysql]>exit;


7、此時設置完成,正常情況可以登錄:

  ~]#mysql -uroot -p




註釋:

    flush privileges 命令本質上的作用是將當前user和privilige表中的用戶信息/權限設置從mysql庫(MySQL數據庫的內置庫)中提取到內存裏。MySQL用戶數據和權限有修改後,希望在"不重啓MySQL服務"的情況下直接生效,那麼就需要執行這個命令。通常是在修改ROOT帳號的設置後,怕重啓後無法再登錄進來,那麼直接flush之後就可以看權限設置是否生效。而不必冒太大風險。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章