Windows操作系統中,我們安裝Mysql有兩個選擇:
一是下載MSI點擊運行,利用windows系統安裝程序的方法按部就班的來安裝;
二是下載ZIP,解壓出來就能立即使用。
在使用ZIP安裝時,安裝好之後默認是沒有my.ini配置文件的:
當我們想修改數據庫的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小寫敏感時,卻找不到my.ini 配置文件。
雖然這時,還可以通過命令行來修改配置信息,但重啓mysql後修改會失效,配置會迴歸默認值,所以這種方式治標不治本。
這裏提供了另一種方法,解決的基本思路是:先刪除Mysql服務,然後自己新建一個my.ini文件,最後使用命令行重新初始化mysql服務,同時指定新建的my.ini作爲服務默認的配置文件。
以下是詳細步驟:
1. 刪除MySql服務
打開cmd(記得”使用管理員身份“打開),如果沒有配置環境變量,請cd(切換目錄)到mysql程序下的bin文件夾下(詳細步驟參見第一章~):
運行命令:
D:\MySql\bin>sc delete MySql
"MySql"爲服務名稱,你的MysSql服務不一定是這個名稱,可以打開電腦的服務窗口查看。
刪除完成之後,最好去電腦的服務窗口看下,如果找不到MySql服務,說明已經已經刪除成功。
如果還能看到MySql服務,可以手動右擊選擇”停止“,服務停止之後就會自動消失了。
2. 新建my.ini配置文件
在mysql程序的根目錄下,新建一個my.ini空白文件,用記事本打開,將以下內容複製進去,保存:
其中basedir 和 datadir 根據實際MySql安裝的位置進行修改。
3. 重新生成data文件
刪除之前生成的data文件,如果有重要的數據表,請先備份好。
回到cmd,重新生成data文件。運行:
D:\MySql\bin>mysqld --initialize-insecure --user=mysql
該命令需要執行大概一分鐘左右,完成後會在MySql程序文件夾下重新生成名稱爲data的文件夾:
4. 重新安裝mysql服務,同時綁定my.ini配置文件
安裝MySql服務,同時設置綁定my.ini配置文件。命令:
D:\MySql\bin>mysqld --install "MySql80" --defaults-file="d:/mysql/my.ini"
“MySql80”是服務名稱,80表示8.0版本,當然,也可以自己取別的名字。
注意這裏 "d:/mysql/my.ini" 需要自已安裝的絕對路徑。
如果提示安裝成功,這時打開電腦的”服務“窗口,可以找到新添加的MySql80服務:
5. 啓動服務
這裏有兩種啓動服務的方式:1)服務窗口啓動;2)cmd啓動
5.1 服務窗口啓動
直接右擊服務項,選擇啓動:
5.2 cmd命令啓動
命令:
D:\MySql\bin>net start mysql80
等待20秒左右,如果啓動成功,是這樣的:
如果不成功:
這時可能是my.ini配置文件中的某些配置有問題。你可以修改ini文件內容,然後從頭按步驟再試一遍。
6. 重新設置密碼
刪除了data文件和服務之後,之前的密碼就失效了,所以需要重新設置密碼。
6.1 登陸mysql
命令:
D:\MySql\bin>mysql -u root -p
這時密碼爲空,不需要填寫,直接回車:
6.2 修改root用戶密碼
(敲黑板)這裏有個需要注意的地方,在8.0之後的版本,修改root用戶密碼的命令是:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
之前的版本是:
update mysql.user set authentication_string=password("你的密碼") where user="root";
我這裏安裝的是8.0.15,所以是第一個:
6.3 退出MySQL
命令:
mysql> exit
6.4 使用修改後的密碼重新登陸
這裏的命令和之前是一樣的,就不寫了,密碼記得要填剛纔設置的:
現在已經成功綁定了my.ini配置文件了,如果需要自定義配置,可以打開文件進行相應的配置設置,修改後重啓服務即可。
如果修改後,重啓服務報錯,如下圖:
有一種可能:你修改的配置與服務初始化時的配置有衝突,這時只能從頭開始,在初始化的時候綁定my.ini文件 。