2008-09-10 87 views
3

我早已忘記root用戶在我的一個盒子上的密碼。有沒有一種方法可以在無需登錄實例的情況下進行更改,還是需要重新安裝?如何更改MySQL中root用戶的密碼?

+0

這可能有助於「[恢復MySQL root密碼](http://www.cyberciti.biz/tips/recover-mysql-root-password.html)」。 – jfs 2008-09-10 05:43:05

回答

4

步驟1

停止數據庫:

shell> /etc/init.d/mysql stop 

步驟2

重啓數據庫

  • 沒有密碼autentification
  • 沒有連接到網絡

訪問數據庫只能通過它的襪子文件「/var/lib/mysql/mysql.sock」。

shell> mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \ 
     --socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \ 
     --skip-grant-tables --skip-networking & 

步驟3

連接到數據庫並更改密碼:

shell> mysql --database mysql --socket=/var/lib/mysql/mysql.sock 

如果你想,顯示所有用戶:

mysql> select User, password from user; 

設置新密碼:

mysql> update user set password=password('NEW PASS') WHERE User='USERNAME'; 

保留數據庫連接:

mysql> exit 

步驟4

重啓數據庫服務器 「正常」。

shell> kill `cat /var/lib/mysql/mysqld.pid` 
shell> /etc/init.d/mysql start 
4

一個快速的谷歌導致了這個答案。在根殼型:

mysqladmin -u root password <password> 
+1

即使在Google上可以找到答案,但仍有良好的答案。它幫助堆棧溢出成爲編程答案的更全面的存儲庫,所以我打算解決這個問題。 – 2008-09-10 05:45:37

0

如果您正在運行Ubuntu服務器(可能還包括Debian?),則可以輕鬆進行重置。

如果你是在12.04:

sudo dpkg-reconfigure mysql-server-5.5 

如果你是10。04:

sudo dpkg-reconfigure mysql-server-5.1 

如果您不能確定哪個MySQL的服務器版本安裝,你可以嘗試:

dpkg --get-selections | grep mysql-server 

詳情參見:

https://help.ubuntu.com/12.04/serverguide/mysql.html https://help.ubuntu.com/10.04/serverguide/mysql.html