誰都不想弄丟家門鑰匙,但不管多麼小心,時間長了,這樣的事情總會發生幾次。
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,用空密碼進入...