欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

MySQLroot密碼忘記后更優(yōu)雅的解決方法

前言

創(chuàng)新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、成都網站制作、外貿網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的府谷網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

一直以來,對于MySQL root密碼的忘記,以為只有一種解法-skip-grant-tables。

問了下群里的大咖,第一反應也是skip-grant-tables。通過搜索引擎簡單搜索了下,無論是百度,抑或Google,只要是用中文搜索,首頁都是這種解法??梢娺@種解法在某種程度上已經占據了使用者的心智。下面具體來看看。

skip-grant-tables的解法

首先,關閉實例

這里,只能通過kill mysqld進程的方式。

注意:不是mysqld_safe進程,也切忌使用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

使用--skip-grant-tables參數,重啟實例

# bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables --skip-networking &

設置了該參數,則實例在啟動過程中會跳過權限表的加載,這就意味著任何用戶都能登錄進來,并進行任何操作,相當不安全。

建議同時添加--skip-networking參數。其會讓實例關閉監(jiān)聽端口,自然也就無法建立TCP連接,而只能通過本地socket進行連接。

MySQL8.0就是這么做的,在設置了--skip-grant-tables參數的同時會自動開啟--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版本,修改的應該是password字段,而不是authentication_string。

update mysql.user set password=password('123456') where host='localhost' and user='root';

而在MySQL 8.0.11版本中,這種方式基本不可行,因為其已移除了PASSWORD()函數及不再支持SET PASSWORD ... = PASSWORD ('auth_string')語法。

不難發(fā)現,這種方式的可移植性實在太差,三個不同的版本,就先后經歷了列名的改變,及命令的不可用。

下面,介紹另外一種更通用的做法,還是在skip-grant-tables的基礎上。

與上面不同的是,其會先通過flush privileges操作觸發(fā)權限表的加載,再使用alter user語句修改root用戶的密碼,如:

# bin/mysql -S /usr/local/mysql57/data/mysql.sock

mysql> alter user 'root'@'localhost' identified by '123';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

免密碼登錄進來后,直接執(zhí)行alter user操作是不行的,因為此時的權限表還沒加載??上韧ㄟ^flush privileges操作觸發(fā)權限表的加載,再執(zhí)行alter user操作。

需要注意的是,通過alter user修改密碼只適用于MySQL5.7和8.0,如果是MySQL 5.6,此處可寫成

update mysql.user set password=password('123456') where host='localhost' and user='root';

最后重啟實例

mysql> shutdown;

# bin/mysqld_safe --defaults-file=my.cnf &

需要注意的是,如果在啟動的過程中沒有指定--skip-networking參數,無需重啟實例。但在網上看到的絕大多數方案,都是沒有指定該參數,但重啟了實例,實在沒有必要。

下面對這個方案做個總結:

1. 如果只添加了--skip-grant-tables,修改完密碼后,其實無需重啟,執(zhí)行flush privileges即可。

2. 從安全角度出發(fā),建議加上--skip-networking。但因其是靜態(tài)參數,將其剔除掉需要重啟實例。

3. 加上--skip-networking,雖然可以屏蔽掉TCP連接,但對于本地其它用戶,只要有socket文件的可讀權限,都能無密碼登錄。還是存在安全隱患。

4. 不建議通過update的方式修改密碼,更通用的其實是alter user。

更優(yōu)雅的解法

相對于skip-grant-tables方案,我們來看看另外一種更優(yōu)雅的解法,其只會重啟一次,且基本上不存在安全隱患。

首先,依舊是關閉實例

其次,創(chuàng)建一個sql文件

寫上密碼修改語句

# vim init.sql 
alter user 'root'@'localhost' identified by '123456';

最后,使用--init-file參數,啟動實例

# bin/mysqld_safe --defaults-file=my.cnf --init-file=/usr/local/mysql57/init.sql &

實例啟動成功后,密碼即修改完畢~

如果mysql實例是通過服務腳本來管理的,除了創(chuàng)建sql文件,整個操作可簡化為一步。

# service mysqld restart --init-file=/usr/local/mysql57/init.sql 

注意:該操作只適用于/etc/init.d/mysqld這種服務管理方式,不適用于RHEL 7新推出的systemd。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯的支持。

網站欄目:MySQLroot密碼忘記后更優(yōu)雅的解決方法
轉載來于:http://aaarwkj.com/article38/jjhjsp.html

成都網站建設公司_創(chuàng)新互聯,為您提供自適應網站、企業(yè)建站、移動網站建設、定制網站服務器托管、網站策劃

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設公司
怡红院一区二区三区毛片| 日本高清不卡在线一区二区| 可以看的黄色亚洲网站| 欧美精品一区二区毛卡片| 插入内射视频在线观看| 自偷自拍亚洲综合精品| 九九热在线免费观看精品视频 | 可以免费看的欧美黄片| 色老头视频一区二区三区| 日韩视频在线不卡观看| 男女午夜激情四射视频| 午夜福利日本一区二区| 中文字幕av在线有码| 久亚洲精品色婷婷国产熟女| 国产熟女一区二区精品视频| 黄色录像三级黄色录像三级黄色| 中文字幕乱码亚洲影视| 久久亚洲天堂色图不卡| 乱码人妻精品一区二区三区| jvid视频在线观看免费| 最新中文字幕成人在线观看| 色综合一区二区日本韩国亚洲| 国产av一区二区三区| 欧美伊香蕉久久综合网99| 午夜在线免费观看小视频| 欧美精品久久在线观看| 亚洲不卡免费在线视频| 免费可以看的黄片欧美| 国产精品视频黄色一区| 亚洲欧美日韩乱码综合久久| 打开网址国语一级黄色片| 久久午夜av一区二区| 高清白嫩学生自拍视频 | 91精品国语对白人妻刺激| 麻豆精品国产免费av影片| 天堂av日韩在线播放| 日本av二区三区在线| 欧美亚洲成人免费电影| 日韩新片免费专区在线| 欧美国产日韩激情在线| 欧美精品亚洲二区中文乱码|