第一步:配置環境變量(我的解壓路徑:G:\mysql\mysql-5.7.21-winx64 )
MYSQL_HOME=你解壓的路徑
PATH = ;%MYSQL_HOME %\bin;
PATH變量是在原來的基礎上多添加的,不要把其它的設定給删掉了
第二步在解壓的目錄下添加my.ini 檔案(如果已經有了這個檔案,把裡面的内容替換掉就好)
檔案内容是
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306character_set_server=utf8
#解壓目錄
basedir=G:\mysql\mysql-5.7.21-winx64
#解壓目錄下data目錄
datadir=G:\mysql\mysql-5.7.21-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
G:\mysql\mysql-5.7.21-winx64\bin\mysqld.exe
第三步:用管理者身份運作cmd(不懂的自行百度),然後進入到解壓路徑下的bin檔案夾下,執行 mysqld -install 指令,然後在解壓路徑下建立一個data檔案夾(裡面沒有内容)
第四步 :登入
用管理者的身份打開cmd,然後輸入mysql -uroot -p,無需密碼直接回車(預設密碼是空)
第五步:修改密碼
先用net stop mysql 停掉mysql服務,然後在my.ini 檔案中添加一段skip-grant-tables
接着啟動mysql服務 , 修改mysql資料源裡面的user表格 root 使用者的 authentication_string 字段值(原先是password字段,後來改成了authentication_string )
成功後把my.ini 檔案的skip-grant-tables 删掉就大功告成了。
如果出現錯誤:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
是因為密碼過期了,可以這樣設定
set password = password('mysql');
use mysql
update user set password_lifetime = 0 where User='root';
flush privileges;