忘記MySQL數據庫root帳號密碼,怎麼修改過來
背景:
MySQL數據庫root帳號一般只有MySQL DBA知道,這個帳號的密碼需要嚴格保密,一旦洩漏問題很嚴重;但是如果DBA忘記了,則不能進行某些MySQL的管理工作,這時就必須在保證數據安全、無損壞的情況重置root帳號密碼
步驟: www.2cto.com
1. 停止mysqld數據庫服務
shell> service mysql stop
注:如果有用戶擁有shutdown權限,則可以使用mysqladmin --user=xxx -password shutdown停止mysqld服務
2. 以--skip-grant-tables選項啟動mysqld數據庫服務
shell> mysqld --datadir=/var/data/ --pid-file=/var/data/xxx.pid --skip-grant-tables
注:datadir指定數據庫數據目錄,pid-file指定內容為mysqld進程號的文件,指定skip-grant-tables選項,mysqld啟動時忽略權限驗證
3. 不使用密碼登錄mysql數據庫
shell> mysql -uroot mysql
注:不指定密碼選項(-p或--password),則使用空密碼登錄
4. 修改帳號root密碼
mysql> update user set password=password('root_pwd') where user='root';
mysql> flush privileges;
注:修改完密碼後,必須使用flush privileges語句讓密碼生效,這裡設置root帳號密碼為root_pwd www.2cto.com
5. 停止mysqld數據庫服務
shell> mysqladmin --user=root -password shutdown
注:這次使用mysqladmin停止,linux下service不能停止手工啟動的mysql數據庫服務器
6. 正常啟動mysql數據庫
shell> service mysql start
7. 使用新密碼登錄,發現密碼已經修改為新密碼
shell> mysql -uroot -proot_pwd mysql
作者 chhuma