mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)

在windows下有兩種安裝方式,一種是msi的嚮導式安裝,另一種是壓縮包解壓後手動式安裝,本文就後一種方式提供安裝幫助,是基本翻譯


https://dev.mysql.com/doc/refman/8.0/en/windows-install-archive.html,如有錯誤,請指正。壓縮包安裝也稱綠色安裝,整個安裝過程涉及9個步驟:

(特別註明:在安裝過程從出現問題請見最後的 安裝問題彙集)

1)下載MsSql壓縮包

2)解壓到指定目錄

3)建立一個配置文件

4)選擇MySql服務類型

5)初始化數據庫目錄

6)啟動、停止、連接服務

7)開啟遠程連接

8)配置MySql工具到環境變量PATH中

9)設置MySql為windows 服務

一、下載MySql壓縮包


https://dev.mysql.com/downloads/mysql/ 網址下載 MySQL Community Server,如下圖頁面滾動到頁面底部有下載


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


二、解壓壓縮包

解壓壓縮包到指定目錄,此目錄將作為MySql服務的運行目錄,請確保目錄具有管理員權限,一般情況下,MySql安裝在C:\mysql 下,如果不安裝此目錄,則需要在啟動時指定安裝目錄或者建立一個配置文件,告訴mysql你的安裝目錄,詳情參見:Section 2.3.5.2, “Creating an Option File”。(
https://dev.mysql.com/doc/refman/8.0/en/windows-create-option-file.html)

三、建立一個配置文件

配置文件詳情參見:my.ini配置說明

1)啟動參數配置方式:啟動MySql時可以指定一些選項,諸如:數據庫文件目錄、內存、緩存等,這些選項可以通過命令行參數的形式指定,也可以通過將參數放置到一個配置文件,在啟動時指定配置文件,從而為MySql指定更多的配置參數。

2)關鍵的兩個目錄

:在MySql 裡,MySql的安裝目錄 和 數據庫文件目錄是不同的,MSI安裝缺省分別是:C:\Program Files\MySQL\MySQL Server 8.0 and C:\Program Files\MySQL\MySQL Server 8.0\data,因此再手動安裝時也需要指定兩個目錄。

3)配置文件的查找過程:MySql首先搜索my.ini,然後搜索my.cnf,為避免衝突建議使用其中一個。MySql在%WINDIR%、C:\、BASEDIR\(即安裝路徑)目錄中搜索文件,特別注意:請確保MySql 用戶有my.ini的讀取權限。

4)配置文件:如果MySql安裝在E:\mysql,數據庫文件路徑為E:\mydata\data,則你需要在配置文件中包含[mysqld](注意:mysqld啟動服務,mysql是控制檯用於連接mysqld)並配置basedir和datadir選項。注意,路徑請用"/",如果為"",則請用""代替。與路徑相關的還有secure-file-priv選項,此項用於MySql的導入導出操作,為null表示不允許導入導出,沒有設置表示沒有任何限制,設置文件夾表示導入導出文件在這個文件夾。其他具體配置詳見

my.ini配置說明

my.ini如下示例

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mysql\\data
skip-name-resolve

四、選擇MySql服務類型

MySql有兩種服務類型

1)mysqld:一個可以執行文件,是支持命名管道的二進制文件。

2)mysqld-debug:一些安裝包包含了調試版本,文件名mysqld-debug的可以執行文件,支持調試

一般情況下使用 mysqld

五、初始化數據庫目錄

進入mysql的bin目錄,在命令行執行如下命令:

mysqld --defaults-file=K:\mysql\mysql8.0\my.ini --initialize --console

K:\mysql\mysql8.0\my.ini文件是mysql的配置文件

初始化完成後,如下圖


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


初始化完成後,還需要創建Uploads目錄,因為在my.ini的secure-file-priv選項配置的值為:
K:/mysql/mysqldata/Uploads,所以需要在對應目錄下創建Uploads(初始化沒有自動創建)

六、啟動、停止、連接服務

1)啟動服務

客戶端連接有兩種選項,一是通過端口,二是通過管道名稱(服務器支持管道連接)

命令行下啟動服務:

mysqld --console


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


因為在my.ini中沒有配置管道名稱(# socket=mysql=MYSQL),文件中已註釋掉,所以socket為空。

3)連接服務

另起一個命名行,執行如下命令後,展示如圖

mysql --port=3306 -uroot -pvg=MY7Cysjjr


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


然後再mysql> 下執行 show databases;

提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo

re executing this statement.

表示必須重置密碼,通過如下命令修改密碼

alter user user() identified by "123456";

執行完後在show databases;


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


3)停止服務

另起一個命名行,執行如下命令後

mysqladmin -uroot -p123456 shutdown

七、開啟遠程連接

mysql安裝後默認為localhost連接,mysql數據庫為例

1)為root用戶開啟遠程連接

① 登錄mysql

mysql --port=3306 -uroot -p123456

② 選擇 mysql 數據庫,因為 mysql 數據庫中存儲了用戶信息的 user 表。

use mysql;

③ 在 mysql 數據庫的 user 表中查看當前 root 用戶的相關信息

select host, user, authentication_string, plugin from user;

show variables like '%skip_networking%';

查看錶格中 root 用戶的 host,默認應該顯示的 localhost,只支持本地訪問,不允許遠程訪問。

④ 授權 root 用戶的所有權限並設置遠程訪問

//創建root匹配所有host

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

//修改root用的host改成%

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

//授權遠程登錄,GRANT ALL ON 表示所有權限,% 表示通配所有 host,可以訪問遠程。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ;

//刷新權限

FLUSH PRIVILEGES;

⑤ 執行上面的mysql命令後,查看user 表當前 root 用戶的相關信息


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


⑥ 在局域網的另一臺電腦連接

打開Navicat Premium 12,如下圖表示連接成功


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


2)為非root用戶開啟遠程連接

//創建用戶(ntc:用戶名;%:任意ip,也可以指定,root默認就是localhost;123456:登錄密碼)

CREATE USER 'ntc'@'%' IDENTIFIED BY '123456';

//授權,默認創建的用戶權限是usage,就是無權限,只能登錄而已,(all:所有權限,這裡有select,update等等權限;後面的*.*:指定數據庫.指定表,這裡是所有;to後面就是創建的用戶)

GRANT ALL PRIVILEGES ON *.* TO 'ntc'@'%' ;

FLUSH PRIVILEGES;


mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)


八、配置MySql工具到環境變量PATH中

為mysql配置windows的path,其目的是命令行在任何目錄下都能找到mysql命令。

在環境變量的path裡增加:K:\mysql\mysql8.0\bin

此為你mysql安裝目錄下的bin目錄

九、設置MySql為windows 服務

在命令行中,執行

mysqld --install MySQLXY --defaults-file="my.ini路徑",my.ini為全路徑

諸如

mysqld --install MySQL8.0 --defaults-file="K:\mysql\mysql8.0\my.ini"

此命令將mysqld加入windows服務中,MySQL8.0為服務名

加入後可以通過如下命令啟動,也可以在windows服務中啟動

net start MySQL8.0

-------------------------------------------------------------------------------

安裝問題彙集

1. 在執行mysqld --defaults-file=K:\mysql\mysql8.0\my.ini --initialize --console時出現

mysql系列003:windows下MySql免安裝與啟動服務(綠色安裝)

解決辦法:在微軟去下載 vc_redist.x64安裝,然後重新執行上述命令

2. 使用Navicat Premium 12遠程連接時出現SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0

解決方法:打開my.ini,在[mysqld]項下加入一句:skip-name-resolve,保存,重啟mysql服務即可~,參見如下my.ini示例

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mysql\\data
skip-name-resolve


分享到:


相關文章: