31期 正確重置MySQL密碼

2021-08-26 03:48:19 字數 1100 閱讀 9180

誰都不想弄丟家門鑰匙,但不管多麼小心,時間長了,這樣的事情總會發生幾次。

mysql密碼也是一樣,把它寫在文件上不太安全,記在腦子裡又難免會忘記。  如果你忘記了mysql密碼,如何重置它呢?  下面是

錯誤答案:  首先停止mysql服務,然後使用skip-grant-tables引數啟動它:

shell> /etc/init.d/mysql stop

shell> mysqld_safe --skip-grant-tables &

此時無需授權就可以進入到mysql命令列,使用sql重置mysql密碼:

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

flush privileges;

為什麼說它是錯誤答案?因為在單純使用skip-grant-tables引數啟動服務後,除非

資料庫伺服器遮蔽了外網訪問,否則除了自己,其它別有用心的人也可能訪問資料庫,儘管重置密碼所需的時間很短,但俗話說不怕賊偷就怕賊惦記著,任何紕漏都可能釀成大禍。  下面是正確答案:  關鍵點是:在使用skip-grant-tables引數的同時,還要加上skip-networking引數:

shell> mysqld_safe --skip-grant-tables --skip-networking &

接著使用sql重置密碼後,記得去掉skip-networking,以正常方式重啟mysql服務:  shell> /etc/init.d/mysqld restart  上面的方法需要重啟兩次服務,實際上還能更優雅一點,重啟一次即可:  首先需要把用到的sql語句儲存到乙個文字檔案裡(/path /to/init/file):

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

flush privileges;

接著使用init-file引數啟動mysql服務,

shell> /etc/init.d/mysql stop

shell> mysqld_safe --init-file=/path/to/init/file &

31期 正確重置MySQL密碼

誰都不想弄丟家門鑰匙,但不管多麼小心,時間長了,這樣的事情總會發生幾次。mysql密碼也是一樣,把它寫在文件上不太安全,記在腦子裡又難免會忘記。如果你忘記了mysql密碼,如何重置它呢?下面是 錯誤答案 首先停止mysql服務,然後使用skip grant tables引數啟動它 shell etc...

正確重置MySQL密碼

如果你忘記了mysql密碼,如何重置它呢?單純使用skip grant tables引數啟動服務後,除非資料庫伺服器遮蔽了外網訪問,否則除了自己,其它別有用心的人也可能訪問資料庫,儘管重置密碼所需的時間很短,但俗話說不怕賊偷就怕賊惦記著,任何紕漏都可能釀成大禍。關鍵點是 在使用skip grant ...

重置mysql 密碼 mysql重置密碼

ubuntu下重置mysql的root密碼 sudo vi etc mysql my.cnf,在 mysqld 段中加入一行 skip grant tables sudo service mysql restart,重啟mysql服務 sudo mysql u root p mysql,用空密碼進入...