程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL 中如何復位根用戶密碼

MySQL 中如何復位根用戶密碼

編輯:關於MYSQL數據庫
 如果你以前設置了根用戶密碼,但卻忘記了該密碼,可設置新的密碼。下述步驟是針對Windows平台的。在本節後面的內容中,介紹了針對Unix平台的步驟。

  在Windows平台下,該步驟是:

  以系統管理員身份登錄到系統。

  如果MySQL服務器正在運行,停止它。對於作為Windows服務運行的服務器,進入服務管理器:

  開始菜單->控制面板->管理工具->服務

  然後在列表中找出MySQL服務器,並停止它。

  如果服務器不是作為服務而運行的,可能需要使用任務管理器來強制停止它。

  創建1個文本文件,並將下述命令置於單一行中:

  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassWord');

  用任意名稱保存該文件。在本例中,該文件為C:MySQL-init.txt。

  打開控制台窗口,進入DOS命令提示:

  開始菜單->運行-> cmd

  假定你已將MySQL安裝到C:mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。

  在DOS命令提示符下,執行命令:

  C:> C:mysqlinmysqld-nt --init-file=C:MySQL-init.txt

  在服務器啟動時,執行由“--init-file”選項命名的文件的內容,更改根用戶密碼。當服務器成功啟動後,應刪除C:MySQL-init.txt。

  如果你使用MySQL安裝向導安裝了MySQL,或許需要指定“--defaults-file”選項:

C:> C:Program FilesMySQLMySQL Server 5.1inMySQLd-nt.exe
--defaults-file="C:Program FilesMySQLMySQL Server 5.1my.ini"
--init-file=C:MySQL-init.txt

  使用服務管理器,可找到恰當的“--defaults-file”設置:

  開始菜單->控制面板->管理工具->服務

  在列表中找出MySQL服務,右擊,並選擇“屬性”選項。在可執行字段的Path(路徑)中包含“--defaults-file”設置。

  停止MySQL服務器,然後在正常模式下重啟它。如果以服務方式運行服務器,應從Windows服務窗口啟動它。如果以手動方式啟動了服務器,能夠像正常情形下一樣使用命令。

  應能使用新密碼進行連接。

  在Unix環境下,重置根用戶密碼的步驟如下:

  以Unix根用戶身份、或以運行MySQLd服務器的相同身份登錄到系統。

  找到包含服務器進程ID的.pid文件。該文件的准確位置和名稱取決於你的分發版、主機名和配置。常見位置是/var/lib/mysql/、/var/run/mysqld/和/usr/local/mysql/data/。一般情況下,文件名的擴展名為.pid,並以MySQLd或系統的主機名開始。

  在下述命令中使用.pid文件的路徑名,向mysqld進程發出正常的kill(而不是kill -9),可停止MySQL服務器:

shell> kill `cat /MySQL-data-directory/host_name.pid`

  注意,cat命令使用符號“`”而不是“’”:這會使cat的輸出代入到kill命令中。

  創建文本文件,並將下述命令放在文件內的1行上:

  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassWord');

  用任意名稱保存文件。對於本例,文件為~/MySQL-init。

  用特殊的“--init-file=~/mysql-init”選項重啟MySQL服務器:

  shell> mysqld_safe --init-file=~/MySQL-init &

  文件init-file的內容在服務器啟動時執行,更改根用戶密碼。服務器成功啟動後,應刪除~/MySQL-init。

  應能使用新密碼進行連接。

  作為可選方式,在任何平台上,可使用MySQL客戶端設置新密碼(但該方法不夠安全):

  停止MySQLd,並用“--skip-grant-tables --user=root”選項重啟它(Windows用戶可省略--user=root部分)。

  使用下述命令連接到MySQLd服務器:

shell> MySQL -u root

  在MySQL客戶端發出下述語句:

mysql> UPDATE MySQL.user SET Password=PASSWord('newpwd')
  ->          WHERE User='root';
MySQL> FLUSH PRIVILEGES;

  用打算使用的實際根用戶密碼替換“newpwd”。

  應能使用新密碼進行連接。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved