在Windows 7 中安裝部署Mysql
一、環境準備
在Window中安裝Mysql,需要先安裝Visual C++ Redistributable Packages for Visual Studio 2013,否則報錯“缺少MSVCR120.dll檔案”。
在官網下載進行安裝,https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe
二、安裝步驟
1、下載Mysql
下載mysql-5.7.24-winx64,https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-winx64.zip
2、安裝Mysql
將下載的包解壓到指定的路徑,這裡的ZIP Archive是免安裝的,解壓即可。我的解壓路徑為:D:\softwares\mysql-5.7.24-winx64。新增環境變數MYSQL_HOME,設定為上面的解壓路徑,並在Path中新增%MYSQL_HOME%\bin。
3、準備Mysql配置檔案
在Mysql的安裝目錄下新建my.ini檔案,內容如下:(路徑根據自身情況進行修改,注意路徑中的“\\”,也可使用‘/’,不建議使用“\”,可能會報錯)
[client] # 設定mysql客戶端預設字符集 default-character-set=utf8 [mysqld] #設定3306埠 port=3306 # 設定mysql的安裝目錄 basedir=D:\\softwares\\mysql-5.7.24-winx64 # 設定mysql資料庫的資料的存放目錄 datadir=D:\\softwares\\mysql-5.7.24-winx64\\data # 允許最大連線數 max_connections=200 # 服務端使用的字符集預設為8位元編碼的latin1字符集 character-set-server=utf8 # 建立新表時將使用的預設儲存引擎 default-storage-engine=INNODB
4、將Mysql新增到Windows服務
使用管理員身份開啟命令提示符,點選開始,然後輸入cmd,滑鼠右擊cmd,選擇以管理員身份執行。
在命令列中切換目錄至mysql包所在的bin目錄,然後輸入:
mysqld.exe --install
顯示“Service successfully installed.”表示安裝成功。
5、初始化Mysql資料
在命令列中輸入以下命令:
mysqld --initialize-insecure --user=mysql
執行命令後,檢查是否生成相應的data目錄。此時表示初始化成功。
6、啟動Mysql服務
在命令列中輸入以下命令,啟動mysql服務:
net start mysql
執行後,提示:
MySQL服務正在啟動..
MySQL服務已經啟動成功。
表示服務已正常啟動。
三、驗證
1、登入Mysql
mysql -u root -p
此時的密碼為空,所以直接回車進入。
2、設定密碼
依次執行命令如下(設定密碼為lq1234):
use mysql;
update user set authentication_string="123456";
exit;
3、重啟mysql
net stop mysql
net start mysql
4、使用密碼登入mysql
mysql -u root -p
輸入密碼結果報錯“ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server”,這是因為沒有給root賬戶授權,而授權需要登入到資料庫。
解決方案:
(1)在my.ini 檔案裡[mysqld]下面新增一句:skip-grant-tables,即資料庫啟動的時候跳過許可權表的限制,不用驗證密碼,直接登入。
(2)重啟mysql
net stop mysql
net start mysql
(3)登入mysql
mysql -u root
(4)為root賬號授權
grant all privileges on *.* to [email protected]'localhost' identified by "lq1234";
報錯“ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement”,先執行“flush privileges;”即可。
flush privileges;
grant all privileges on *.* to [email protected]'localhost' identified by "lq1234";
(5)刪除my.ini中的“skip-grant-tables”
(6)重啟mysql
net stop mysql
net start mysql
(7)使用密碼登入mysql
mysql -u root -p
輸入密碼,此時可正常登入。