小編給大家分享一下忘了MySQL的密碼如何解決,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
饒河網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
skip-grant-tables的解法
首先,關(guān)閉實(shí)例
這里,只能通過kill mysqld進(jìn)程的方式。
注意:不是mysqld_safe進(jìn)程,也切忌使用kill -9。
# ps -ef |grep mysqld root 6220 6171 0 08:14 pts/0 00:00:00 /bin/sh bin/mysqld_safe --defaults-file=my.cnf mysql 6347 6220 0 08:14 pts/0 00:00:01 /usr/local/mysql57/bin/mysqld --defaults-file=my.cnf --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=slowtech.err --pid-file=slowtech.pid --socket=/usr/local/mysql57/data/mysql.sock --port=3307 root 6418 6171 0 08:17 pts/0 00:00:00 grep --color=auto mysqld # kill 6347
推薦:MySQL教程
使用--skip-grant-tables參數(shù),重啟實(shí)例
# bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables --skip-networking &
設(shè)置了該參數(shù),則實(shí)例在啟動過程中會跳過權(quán)限表的加載,這就意味著任何用戶都能登錄進(jìn)來,并進(jìn)行任何操作,相當(dāng)不安全。
建議同時添加--skip-networking參數(shù)。其會讓實(shí)例關(guān)閉監(jiān)聽端口,自然也就無法建立TCP連接,而只能通過本地socket進(jìn)行連接。
MySQL8.0就是這么做的,在設(shè)置了--skip-grant-tables參數(shù)的同時會自動開啟--skip-networking。
修改密碼
# mysql -S /usr/local/mysql57/data/mysql.sock mysql> update mysql.user set authentication_string=password('123456') where host='localhost' and user='root'; Query OK, 0 rows affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
注意:
這里的update語句針對的是MySQL 5.7的操作,如果是在5.6版本,修改的應(yīng)該是password字段,而不是authentication_string。
update mysql.user set password=password('123456') where host='localhost' and user='root';
而在MySQL 8.0.11版本中,這種方式基本不可行,因?yàn)槠湟岩瞥薖ASSWORD()函數(shù)及不再支持SET PASSWORD ... = PASSWORD ('auth_string')語法。
不難發(fā)現(xiàn),這種方式的可移植性實(shí)在太差,三個不同的版本,就先后經(jīng)歷了列名的改變,及命令的不可用。
看完了這篇文章,相信你對忘了mysql的密碼如何解決有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!