前言
前幾天將系統升級到Win10,同時也將MySQL升級到最新的5.7,安裝過程有些許曲折,這裏記錄一下。
開始動手
1、下載MySQL5.7,筆者從這裏下載 http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.16-winx64.msi
2、雙擊安裝,到下面的界面,選擇【Custom】
記下這裏的安裝路徑(C:\Program Files\MySQL\MySQL Server 5.7),也可以根據自己的需要修改路徑,後面的使用的命令裏記得使用自己的路徑,【Next】【Install】【Finished】
3、以管理員身份運行 命令行(cmd),這一點非常重要!以管理員身份運行 命令行(cmd)以管理員身份運行 命令行(cmd)!
方法:在C盤用“cmd.exe”進行搜索,在搜索的結果中,找到cmd.exe程序,右鍵選擇【以管理員身份運行】如下圖
4、MySQL初始化,在cmd裏使用mysqld –initialize進行初始化
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
mysqld --initialize
初始化完成後,會在C:\Program Files\MySQL\MySQL Server 5.7目錄下生成一個新的文件夾data,裏面的DESKTOP-8I9PC6F.err保存着生成的root的初始密碼,我的初始密碼 JMn3iiM5T0LX,這裏是一個坑,這個密碼是不能用的,後面的內容會進行處理
5、使用mysqld啓動MySQL服務,啓動後,電腦任務管理器裏會有一個mysqld.exe的進程,而當前的cmd行窗口已經啥也不能幹了。
mysqld -u root
6、(這一步可以略過)筆者習慣用SQLyog作爲客戶端管理MySQL數據庫,但是這時使用初始密碼進行登錄,卻提示密碼失效,不能登錄。同時也提示,想要登錄,得使用一個支持過期密碼的客戶端,也就是bin文件夾下的mysql
7、使用mysql進行登錄。再次找到cmd.exe程序,右鍵選擇【以管理員身份運行】打開一個新的cmd窗口,使用以下命令。輸入初始密碼 JMn3iiM5T0LX,登錄。
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
mysql -u root -p
Enter password:JMn3iiM5T0LX
出現下圖所示的界面表示登錄成功
緊跟在後面輸入以下命令,將密碼修改爲123456
set password for root@localhost = password('123456')
這樣就成功修改了root的密碼爲123456,可以用SQLyog作爲客戶端進行管理了。此時可以關掉了所有的cmd窗口了。
8、通過前面的幾步,已經安裝了MySQL,並修改了root的密碼,這一步可有可無,就是將mysqld.exe添加的windows的服務,以後就不需要在到bin目錄下啓動mysqld了。
再次找到cmd.exe程序,右鍵選擇【以管理員身份運行】打開一個新的cmd窗口,輸入以下命令,強制關閉mysqld.exe的進程。當然可以在任務管理器裏找到mysqld.exe右鍵【結束任務】進行強制關閉。
taskkill /f /im mysqld.exe
使用下面命令將mysqld.exe添加到系統服務裏
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
mysqld --install
使用下面命令啓動服務或者停止服務
//啓動
net start MySQL
//停止
net stop MySQL
也可以通過 【控制面板】-【管理工具】-【服務】打開系統服務界面進行管理
也可以使用 win+R 快捷鍵 打開 運行,使用 services.msc 快速打開系統服務界面
9、補充:
在將某exe文件添加到系統服務時,還可以使用sc進行添加,以mysqld.exe爲例,添加的命令如下(等於號後有空格):
sc create MySQL binPath= "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" start= auto
刪除某服務的命令如下
sc delete MySQL
我們在服務列表裏會看到其他的服務都是有描述的,而我們添加的MySQL沒有,我們可以通過修改註冊表的方式進行修改。
win+R 快捷鍵 打開 運行,使用 regedit 快速打開註冊表界面,路徑爲
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services
找到MySQL, 再右側空白處,右鍵【新建】-【字符串值】
名稱爲Description 值爲 MySQL數據庫服務 ,刷新一下服務列表,就可以看到修改後的結果了
修改後