該命令作用是跳過授權表,也就是說誰都能進入mysql看到所有數據表,輸入任意字符賬號密碼都可以
當忘記賬號密碼時可以使用改命令修改密碼,但是要隨用隨關,重啟mysql,不然服務器上會有很大的風險。
介紹一個非常有用的mysql啟動參數—— --skip-grant-tables。 顧名思義,就是在啟動mysql時不啟動grant-tables,授權表。有什么用呢?當然是忘記管理員密碼后有用。
操作方法:
1、殺掉原來進行着的mysql:
rcmysqld stop
或者:
service mysqld stop
或者:
kill -TERM mysqld
2、以命令行參數啟動mysql:
/usr/bin/mysqld_safe --skip-grant-tables &
3、修改管理員密碼:
use mysql;
update user set password=password('yournewpasswordhere') where user='root';
flush privileges;
exit;
4、殺死mysql,重啟mysql
另外:有些時候my.ini並不是在默認位置,執行此命令時會報錯,這時需要手動指定my.ini的文件位置:
mysql所在bin目錄\mysqld --defaults-file="d:\java\MySQL\ProgramData\MySQL Server 5.6\my.ini" --skip-grant-tables
