Mysql5.7忘記root密碼及mysql5.7修改root密碼的方法


轉自:https://www.jb51.net/article/77858.htm

關閉正在運行的 MySQL :

?
1
[root@www.woai.it ~]# service mysql stop

運行

?
1
[root@www.woai.it ~]# mysqld_safe --skip-grant-tables &

為了安全可以這樣禁止遠程連接:

?
1
[root@www.woai.it ~]# mysqld_safe --skip-grant-tables --skip-networking &

使用mysql連接server:

?
1
[root@www.woai.it ~]# mysql -p

更改密碼:

?
1
mysql> update mysql. user set authentication_string= password ( '123qwe' ) where user = 'root' and Host = 'localhost' ;

*特別提醒注意的一點是,新版的mysql數據庫下的user表中已經沒有Password字段了

而是將加密后的用戶密碼存儲於authentication_string字段

?
1
2
mysql> flush privileges ;
mysql> quit;

修改完畢。重啟

?
1
[root@localhost ~]# service mysql restart

然后mysql就可以連接了

但此時操作似乎功能不完全,還要alter user…

?
1
mysql> alter user 'root' @ 'localhost' identified by '123' ;

這樣也可以:

?
1
mysql> set password for 'root' @ 'localhost' = password ( '123' );

重點給大家介紹下mysql 5.7 root密碼修改

MySQL管理者密碼設置或修改:

依據官方說明5.6以后版本,第一次啟動時會在root目錄下生產一個隨機密碼,文件名.mysql_secret。

?
1
2
3
4
5
[root@bright ~]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2015-03-27 23:12:10
:Jj+FTiqvyrF
[root@bright ~]# cd /usr/ local /mysql/bin/
[root@bright bin]# ./mysqladmin -u root -h localhost password '123456' -p

Enter password: #此行輸入.mysql_secret里第二行內容

?
1
2
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

官方的方式,筆者無論是否使用--skip-grant-tables啟動mysql都測試失敗,親們可以測試:

?
1
2
shell>mysql -uroot -p 'password' # password 即.mysql_secret里的密碼
mysql> SET PASSWORD = PASSWORD ( 'newpasswd' );

舊版本,安裝后ROOT無密碼,按如下操作:

方法一:

?
1
2
3
4
5
6
7
shell>service mysqld stop #停止mysql服務
shell>mysqld_safe --skip-grant-tables & #以不啟用grant-tables模式啟動mysql
shell>mysql -uroot -p #輸入命令回車進入,出現輸入密碼提示直接回車。
mysql>use mysql;
mysql> update user set password = PASSWORD ( "123456" ) where user = "root" ; #更改密碼為 newpassord
mysql>flush privileges ; #更新權限
mysql>quit #退出

方法二:

?
1
2
3
4
shell>service mysqld stop #停止mysql服務
shell>mysqld_safe --skip-grant-tables & #以不啟用grant-tables模式啟動mysql
shell>mysql -uroot -p #輸入命令回車進入,出現輸入密碼提示直接回車。
mysql > set password for root@localhost = password ( 'mysqlroot' );

方法三:

?
1
shell>/path/mysqladmin -u UserName -h Host password 'new_password' -p


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM