實驗介紹:MySQL的root密碼丟失,沒法登錄。須要重置其root密碼mysql
環境介紹:編譯安裝的MySQLsql
這篇博客介紹的找回 mysql root 密碼是 mysql 基於編譯安裝的,若是是多實例下的mysql root 密碼找回參數還有些許的不同(以下)數據庫
主要區別在於中止 mysql 服務後的啓動命令ide
編譯安裝的 mysql:mysqld_safe --skip-grant-tables --user=mysql &spa
多實例的 mysql:mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-table &命令行
在多實例環境下,須要加一個參數指明須要更改密碼的數據庫的 my.cnf 文件,在修改完密碼後,能夠經過 killall 命令將 mysqld 服務殺死,登錄時指定 mysql.sock3d
查看 mysql 版本blog
mysql --versionip
中止 mysql 服務get
/etc/init.d/mysqld stop
加入參數啓動 mysql 服務
mysqld_safe --skip-grant-tables --user=mysql &
命令行中輸入 mysql,便可登錄
mysql
執行 mysql 命令,重置 msyql root 密碼,並刷新權限
update mysql.user set password=password("123456") where user='root' and host='localhost';
flush privileges;
在執行完權限之後,經過 \q 退出 mysql 命令行。
由於啓動時沒有經過 mysqld 啓動,因此須要執行 shutdown 命令來關閉 mysql 服務
mysqladmin -uroot -p123456 shutdown
啓動 mysql 服務
/etc/init.d/mysqld start
經過剛纔更改過的密碼登錄 mysql 服務,密碼修改爲功
mysql -uroot -p123456
OK,mysql root 密碼已經成功重置