標籤:distrib ati p12 inter comm interface The 啟動 重啟
使用MySQL時,如果忘記了其他使用者的密碼,可以使用root使用者重新設定,但是如果忘記了root的密碼,就要採用特殊的方法進行操作。
直接修改授權表可以修改root的密碼,下面詳細介紹步驟,以mysql5.7為例。
- 停止mysqld服務進程
[[email protected] ~]# systemctl stop mysqld.service [[email protected] ~]# netstat -ntpln | grep 3306 //檢測mysql是否已經啟動
- 使用mysqld結合skip-grant-tables啟動資料庫,它的作用是使用者登入時不使用授權表,所以使用者可以不使用密碼直接登入。
[[email protected] ~]# mysqld --skip-grant-tables&[[email protected] ~]# netstat -ntpul | grep 3306 //檢測mysql是否已經啟動tcp6 0 0 :::3306 :::* LISTEN 1561/mysqld
- 可以不使用密碼直接登入到mysql,使用update修改root密碼。
[[email protected] ~]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.17 Source distributionmysql> update mysql.user set authentication_string=password(‘123abc‘) where user=‘root‘; //修改root密碼為123abcQuery OK, 1 row affected, 1 warning (0.01 sec)Rows matched: 1 Changed: 1 Warnings: 1
4.重新整理資料庫,使用update修改密碼後,只是在資料庫中進行了修改,記憶體中的資料並沒有修改。flush privileges 的作用就是把當前user和privilege表中的使用者資訊和使用權限設定從mysql庫提取到記憶體裡。mysql使用者資料和許可權修改後,希望在不重啟mysql服務的情況下直接生效,就需要執行以下命令。
mysql> flush privileges; //重新整理資料庫Query OK, 0 rows affected (0.01 sec)
5.使用新密碼做登入測試,登入成功說明修改成功。
[[email protected] ~]# mysql -uroot -p123abc //登入mysqlmysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.7.17 Source distribution
這裡注意登入時-p後面直接跟上登入密碼,不能有空格,否則就會有錯誤。
MySQL忘記root密碼的解決辦法