這篇文章主要講解了“怎么在Windows中運行多個(gè)”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“怎么在Windows中運行多個(gè)MySQL”吧!
1.在windows中MySQL的base目錄中創(chuàng )建兩個(gè)新實(shí)例的數據目錄data3307,data3308
2.為每個(gè)新實(shí)例設置配置文件來(lái)指定相關(guān)選項
my3307.cnf文件內容如下:
[mysql] # 設置mysql客戶(hù)端默認字符集 default-character-set=utf8mb4 [mysqld] # 設置3307端口 port = 3307 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3307 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3307.err pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid socket =D:\mysql-5.7.25-win32\mysql3307.sock
my3308.cnf文件內容如下:
[mysql] # 設置mysql客戶(hù)端默認字符集 default-character-set=utf8mb4 [mysqld] # 設置3308端口 port = 3308 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3308 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3308.err pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid socket =D:\mysql-5.7.25-win32\mysql3308.sock
3.初始化新數據庫
D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3307.cnf --initialize --basedir=D:\mysql-5.7.25-win32 --datadir=D:\mysql-5.7.25-win32\data3307 D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3308.cnf --initialize --basedir=D:\mysql-5.7.25-win32 --datadir=D:\mysql-5.7.25-win32\data3308
4.啟動(dòng)數據庫
D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3307.cnf D:\mysql-5.7.25-win32\bin>mysqld --defaults-file=D:\mysql-5.7.25-win32\my3308.cnf
每個(gè)都在前臺啟動(dòng)(在服務(wù)器稍后退出之前不會(huì )出現新的提示),所以您需要在單獨的控制臺窗口中發(fā)出這兩個(gè)命令。
5.登錄數據庫修改密碼
C:\Users\Administrator>mysql --port=3307 --host=127.0.0.1 --user=root --password=U0U?KinrdWHb mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.25 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye C:\Users\Administrator>mysql --port=3307 --host=127.0.0.1 --user=root --password=123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.7.25 Source distribution Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> exit C:\Users\Administrator>mysql --port=3308 --host=127.0.0.1 --user=root Enter password: ************ Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 5.7.25 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye C:\Users\Administrator>mysql --port=3308 --host=127.0.0.1 --user=root --password=123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.7.25 Source distribution Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
6.為了關(guān)閉數據庫服務(wù)器,使用合適的端口號連接到每個(gè)實(shí)例執行下面的命令:
C:\Users\Administrator>mysqladmin --port=3307 --host=127.0.0.1 --user=root --password=123456 shutdown mysqladmin: [Warning] Using a password on the command line interface can be insecure. C:\Users\Administrator>mysqladmin --port=3308 --host=127.0.0.1 --user=root --password=123456 shutdown mysqladmin: [Warning] Using a password on the command line interface can be insecure.
上面的配置允許客戶(hù)端通過(guò)TCP/IP來(lái)進(jìn)行連接。如果你的Windows版本支持命名管道并且你也想使用命名管道來(lái)連接,指定啟用命名管道選項和指定它的名稱(chēng)。每個(gè)實(shí)例支持命名管道連接必須使用一個(gè)唯一的管道名。例如:
my3307.cnf文件內容如下:
[mysql] # 設置mysql客戶(hù)端默認字符集 default-character-set=utf8mb4 [mysqld] # 設置3307端口 port = 3307 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3307 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3307.err pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid enable-named-pipe socket =D:\mysql-5.7.25-win32\mysql3307.sock
my3308.cnf文件內容如下:
[mysql] # 設置mysql客戶(hù)端默認字符集 default-character-set=utf8mb4 [mysqld] # 設置3308端口 port = 3308 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3308 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3308.err pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid socket =D:\mysql-5.7.25-win32\mysql3308.sock
然后啟動(dòng)MySQL實(shí)例。想讓客戶(hù)端通過(guò)共享內存連接的過(guò)程與上面的過(guò)程類(lèi)似。對每個(gè)連接使用--shared-memory選項并使用--shared-memory-base-name選項來(lái)為每個(gè)實(shí)例指定唯一的共享內存名字。
在Windows中作為Windows服務(wù)來(lái)啟動(dòng)多個(gè)MySQL實(shí)例
在Windows中,一個(gè)MySQL服務(wù)器可以以Windows服務(wù)來(lái)運行。為了設置多個(gè)MySQL服務(wù),你必須確保每個(gè)實(shí)例使用不同的服務(wù)名另外其它參數每個(gè)實(shí)例必須都有唯一值。為了將MySQL服務(wù)器注冊成為Windows服務(wù),使用mysqld --install或mysqld --install-manual選項。
基于上面的信息,有幾種方式來(lái)設置多個(gè)Windows服務(wù)。在注冊Windows服務(wù)之前需要關(guān)閉并刪除任何已經(jīng)存在的Windows服務(wù)。
方法1
在一個(gè)標準的選項文件中指定所有服務(wù)選項。這樣就需要為每個(gè)MySQL服務(wù)指定不同的服務(wù)名。假設端口為3307的MySQL實(shí)例的服務(wù)名為mysqld1,端口為3308的MySQL實(shí)例的服務(wù)名為mysqld2。那么D:\mysql-5.7.25-win32\my.ini設置如下:
[mysqld1] # 設置3307端口 port = 3307 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3307 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3307.err pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid socket =D:\mysql-5.7.25-win32\mysql3307.sock [mysqld2] # 設置3308端口 port = 3308 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3308 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3308.err pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid socket =D:\mysql-5.7.25-win32\mysql3308.sock
注冊服務(wù),使用完整服務(wù)路徑名來(lái)確保Windows為每個(gè)服務(wù)注冊正確的可執行程序:
D:\mysql-5.7.25-win32\bin>mysqld --install mysqld1 Service successfully installed. D:\mysql-5.7.25-win32\bin>mysqld --install mysqld2 Service successfully installed.
為了啟動(dòng)MySQL服務(wù),使用服務(wù)管理器或者使用net start servicename:
C:\Users\Administrator>net start mysqld1 mysqld1 服務(wù)正在啟動(dòng) . mysqld1 服務(wù)已經(jīng)啟動(dòng)成功。 C:\Users\Administrator>net start mysqld2 mysqld2 服務(wù)正在啟動(dòng) . mysqld2 服務(wù)已經(jīng)啟動(dòng)成功。 為了停止MySQL服務(wù),使用服務(wù)管理器或者使用net stop servicename: C:\Users\Administrator>net stop mysqld1 mysqld1 服務(wù)正在停止. mysqld1 服務(wù)已成功停止。 C:\Users\Administrator>net stop mysqld2 mysqld2 服務(wù)正在停止. mysqld2 服務(wù)已成功停止。
刪除服務(wù)
D:\mysql-5.7.25-win32\bin>mysqld --remove mysqld1 Service successfully removed. D:\mysql-5.7.25-win32\bin>mysqld --remove mysqld2 Service successfully removed.
方法2
為每個(gè)MySQL服務(wù)使用單獨的文件來(lái)指定選項并且在注冊服務(wù)時(shí)使用--defaults-file選項來(lái)告訴每個(gè)服務(wù)器所要使用的選項文件。在這種情況下,每個(gè)文件都將使用[mysqld]選項組。
my3307.cnf文件內容如下:
[mysql] # 設置mysql客戶(hù)端默認字符集 default-character-set=utf8mb4 [mysqld] # 設置3307端口 port = 3307 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3307 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3307.err pid-file=D:\mysql-5.7.25-win32\mysqld3307.pid enable-named-pipe socket =D:\mysql-5.7.25-win32\mysql3307.sock
my3308.cnf文件內容如下:
[mysql] # 設置mysql客戶(hù)端默認字符集 default-character-set=utf8mb4 [mysqld] # 設置3308端口 port = 3308 # 設置mysql的安裝目錄 basedir=D:\mysql-5.7.25-win32 # 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯 datadir=D:\mysql-5.7.25-win32\data3308 # 允許最大連接數 max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8mb4 # 創(chuàng )建新表時(shí)將使用的默認存儲引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true log-error=D:\mysql-5.7.25-win32\mysql3308.err pid-file=D:\mysql-5.7.25-win32\mysqld3308.pid socket =D:\mysql-5.7.25-win32\mysql3308.sock
將每個(gè)MySQL實(shí)例注冊成Windows服務(wù)
D:\mysql-5.7.25-win32\bin>mysqld --install mysqld1 --defaults-file=D:\mysql-5.7.25-win32\my3307.cnf Service successfully installed. D:\mysql-5.7.25-win32\bin>mysqld --install mysqld2 --defaults-file=D:\mysql-5.7.25-win32\my3308.cnf Service successfully installed.
啟動(dòng)服務(wù)
C:\Users\Administrator>net start mysqld1 mysqld1 服務(wù)正在啟動(dòng) . mysqld1 服務(wù)已經(jīng)啟動(dòng)成功。 C:\Users\Administrator>net start mysqld2 mysqld2 服務(wù)正在啟動(dòng) . mysqld2 服務(wù)已經(jīng)啟動(dòng)成功。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站