1. 程式人生 > >在Windows 7 中安裝部署Mysql

在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

輸入密碼,此時可正常登入。