Windows平台下的步驟
1.以管理員的身份登入windows系統
2.用windows服務管理工具或任務管理器來停止MySQL服務
3.建立一個單行的文本文件,儲存為c:mysqlpwdhf.txt,
內容是SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
4.開啟一個控制台窗口,得到DOS命令提示字元
5.假設你的MySQL主目錄是C:/mysql/bin,
則執行c:mysqlbinmysqld-nt --init-file=c:mysqlpwdhf.txt,
如果是用安裝精靈安裝的MySQL資料庫伺服器,則需要透過服務管理工具來做改動,
需要找到並新增預設設定文件,
然後執行mysqld-nt --defaults-file="pathmy.ini" --init-file=c:mysqlpwdhf.txt
6 .停止MySQL資料庫服務,然後再重新以正常模式啟動MYSQL
7.可以正常登入伺服器.
Unix環境下的步驟
1.以root或啟動mysqld進程的使用者身分登入系統
2.找到並定位包含Mysql服務進程號的檔案.pid,該檔案一般可能
/var/lib/mysql/,/var/run/mysqld/,/usr/local/mysql/data/中,
檔案名稱一般是「機器名.pid」的格式。在殼下使用指令
kill 'cat /mysql-data-directory//host-name.pid'來結束mysql服務程序
3.建立一個單行文字文件,可以任意命名,假設是mysql-init,
保存在使用者主目錄~下就可以,
檔案內容是SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
4.重新帶選項啟動mysql,具體指令為mysqld_safe --init-file=~/mysql-init & ,
正常後應該刪除mysql-init檔
5.可以用新密碼連接資料庫。
通用的解決方法:
-使用客戶端互動工具mysql來設置,步驟如下:
1.停止mysql服務,並重新以--skip-grand-table --user=root
選項來啟動mysql服務(windows下可以省略- -user=root選項)
2.用客戶端互動工具mysql連接伺服器,shell>mysql -u root
3.在客戶端互動工具mysql執行下列語句:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd' )
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
4.可以用newpwd當密碼登入伺服器。