如果你從未為MySQL設(shè)置根用戶密碼,服務(wù)器在以根用戶身份進(jìn)行連接時(shí)不需要密碼。但是,建議你為每個(gè)賬戶設(shè)置密碼。 如果你以前設(shè)置了根用戶密碼,但卻忘記了該密碼,可設(shè)置新的密碼。下述步驟是針對(duì)Windows平臺(tái)的。在本節(jié)后面的內(nèi)容中,介紹了針對(duì)Unix平臺(tái)的
如果你從未為MySQL設(shè)置根用戶密碼,服務(wù)器在以根用戶身份進(jìn)行連接時(shí)不需要密碼。但是,建議你為每個(gè)賬戶設(shè)置密碼。
如果你以前設(shè)置了根用戶密碼,但卻忘記了該密碼,可設(shè)置新的密碼。下述步驟是針對(duì)Windows平臺(tái)的。在本節(jié)后面的內(nèi)容中,介紹了針對(duì)Unix平臺(tái)的步驟。
在Windows平臺(tái)下,該步驟是:
以系統(tǒng)管理員身份登錄到系統(tǒng)。
如果MySQL服務(wù)器正在運(yùn)行,停止它。對(duì)于作為Windows服務(wù)運(yùn)行的服務(wù)器,進(jìn)入服務(wù)管理器:
開始菜單->控制面板->管理工具->服務(wù)
然后在列表中找出MySQL服務(wù)器,并停止它。
如果服務(wù)器不是作為服務(wù)而運(yùn)行的,可能需要使用任務(wù)管理器來強(qiáng)制停止它。
創(chuàng)建1個(gè)文本文件,并將下述命令置于單一行中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名稱保存該文件。在本例中,該文件為C:mysql-init.txt。
打開控制臺(tái)窗口,進(jìn)入DOS命令提示:
開始菜單->運(yùn)行-> cmd
假定你已將MySQL安裝到C:mysql。如果你將MySQL安裝到了另一位置,請(qǐng)對(duì)下述命令進(jìn)行相應(yīng)的調(diào)整。
在DOS命令提示符下,執(zhí)行命令:
C:> C:mysqlbinmysqld-nt --init-file=
C:mysql-init.txt
在服務(wù)器啟動(dòng)時(shí),執(zhí)行由“--init-file”選項(xiàng)命名的文件的內(nèi)容,更改根用戶密碼。當(dāng)服務(wù)器成功啟動(dòng)后,應(yīng)刪除C:mysql-init.txt。
如果你使用MySQL安裝向?qū)О惭b了MySQL,或許需要指定“--defaults-file”選項(xiàng):
C:> C:Program FilesMySQLMySQL Server 5.1binmysqld-nt.exe
--defaults-file="C:Program FilesMySQLMySQL Server 5.1my.ini"
--init-file=C:mysql-init.txt
使用服務(wù)管理器,可找到恰當(dāng)?shù)?ldquo;--defaults-file”設(shè)置:
開始菜單->控制面板->管理工具->服務(wù)
在列表中找出MySQL服務(wù),右擊,并選擇“屬性”選項(xiàng)。在可執(zhí)行字段的Path(路徑)中包含“--defaults-file”設(shè)置。
停止MySQL服務(wù)器,然后在正常模式下重啟它。如果以服務(wù)方式運(yùn)行服務(wù)器,應(yīng)從Windows服務(wù)窗口啟動(dòng)它。如果以手動(dòng)方式啟動(dòng)了服務(wù)器,能夠像正常情形下一樣使用命令。共2頁。
應(yīng)能使用新密碼進(jìn)行連接。
在Unix環(huán)境下,重置根用戶密碼的步驟如下:
以Unix根用戶身份、或以運(yùn)行mysqld服務(wù)器的相同身份登錄到系統(tǒng)。
找到包含服務(wù)器進(jìn)程ID的.pid文件。該文件的準(zhǔn)確位置和名稱取決于你的分發(fā)版、主機(jī)名和配置。常見位置是/var/lib/mysql/、/var/run/mysqld/和/usr/local/mysql/data/。一般情況下,文件名的擴(kuò)展名為.pid,并以mysqld或系統(tǒng)的主機(jī)名開始。
在下述命令中使用.pid文件的路徑名,向mysqld進(jìn)程發(fā)出正常的kill(而不是kill -9),可停止MySQL服務(wù)器:
shell> kill `cat /mysql-data-directory/host_name.pid`
注意,cat命令使用符號(hào)“`”而不是“’”:這會(huì)使cat的輸出代入到kill命令中。
創(chuàng)建文本文件,并將下述命令放在文件內(nèi)的1行上:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名稱保存文件。對(duì)于本例,文件為~/mysql-init。
用特殊的“--init-file=~/mysql-init”選項(xiàng)重啟MySQL服務(wù)器:
shell> mysqld_safe --init-file=~/mysql-init &
文件init-file的內(nèi)容在服務(wù)器啟動(dòng)時(shí)執(zhí)行,更改根用戶密碼。服務(wù)器成功啟動(dòng)后,應(yīng)刪除~/mysql-init。
應(yīng)能使用新密碼進(jìn)行連接。
作為可選方式,,在任何平臺(tái)上,可使用mysql客戶端設(shè)置新密碼(但該方法不夠安全):
停止mysqld,并用“--skip-grant-tables --user=root”選項(xiàng)重啟它(Windows用戶可省略--user=root部分)。
使用下述命令連接到mysqld服務(wù)器:
shell> mysql -u root
在mysql客戶端發(fā)出下述語句:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
用打算使用的實(shí)際根用戶密碼替換“newpwd”。
應(yīng)能使用新密碼進(jìn)行連接。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com