Windows運行多個MySQL實例

      網友投稿 597 2025-04-03

      在Windows中可以從命令行為每個實例使用合適的操作參數來手動啟動多個MySQL實例或者通過以Windows服務方式來安裝多個服務器來運行。

      1.在windows中MySQL的base目錄中創建兩個新實例的數據目錄data3307,data3308

      2.為每個新實例設置配置文件來指定相關選項

      my3307.cnf文件內容如下:

      [mysql]

      設置mysql客戶端默認字符集

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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客戶端默認字符集

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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:\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

      每個服務器都在前臺啟動(在服務器稍后退出之前不會出現新的提示),所以您需要在單獨的控制臺窗口中發出這兩個命令。

      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 ? 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 ? 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 ? 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 ? 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.為了關閉數據庫服務器,使用合適的端口號連接到每個實例執行下面的命令:

      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.

      上面的配置允許客戶端通過TCP/IP來進行連接。如果你的Windows版本支持命名管道并且你也想使用命名管道來連接,指定啟用命名管道選項和指定它的名稱。每個實例支持命名管道連接必須使用一個唯一的管道名。例如:

      my3307.cnf文件內容如下:

      [mysql]

      設置mysql客戶端默認字符集

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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客戶端默認字符集

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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

      然后啟動MySQL實例。想讓客戶端通過共享內存連接的過程與上面的過程類似。對每個連接使用–shared-memory選項并使用–shared-memory-base-name選項來為每個實例指定唯一的共享內存名字。

      在Windows中作為Windows服務來啟動多個MySQL實例

      在Windows中,一個MySQL服務器可以以Windows服務來運行。為了設置多個MySQL服務,你必須確保每個實例使用不同的服務名另外其它參數每個實例必須都有唯一值。為了將MySQL服務器注冊成為Windows服務,使用mysqld --install或mysqld --install-manual選項。

      基于上面的信息,有幾種方式來設置多個Windows服務。在注冊Windows服務之前需要關閉并刪除任何已經存在的Windows服務。

      方法1

      在一個標準的選項文件中指定所有服務選項。這樣就需要為每個MySQL服務指定不同的服務名。假設端口為3307的MySQL實例的服務名為mysqld1,端口為3308的MySQL實例的服務名為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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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

      注冊服務,使用完整服務路徑名來確保Windows為每個服務注冊正確的可執行程序:

      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.

      為了啟動MySQL服務,使用服務管理器或者使用net start servicename:

      C:\Users\Administrator>net start mysqld1

      mysqld1 服務正在啟動 .

      mysqld1 服務已經啟動成功。

      C:\Users\Administrator>net start mysqld2

      mysqld2 服務正在啟動 .

      mysqld2 服務已經啟動成功。

      為了停止MySQL服務,使用服務管理器或者使用net stop servicename:

      C:\Users\Administrator>net stop mysqld1

      mysqld1 服務正在停止.

      mysqld1 服務已成功停止。

      C:\Users\Administrator>net stop mysqld2

      mysqld2 服務正在停止.

      mysqld2 服務已成功停止。

      刪除服務

      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

      為每個MySQL服務使用單獨的文件來指定選項并且在注冊服務時使用–defaults-file選項來告訴每個服務器所要使用的選項文件。在這種情況下,每個文件都將使用[mysqld]選項組。

      my3307.cnf文件內容如下:

      [mysql]

      設置mysql客戶端默認字符集

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      創建新表時將使用的默認存儲引擎

      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客戶端默認字符集

      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

      服務端使用的字符集默認為8比特編碼的latin1字符集

      character-set-server=utf8mb4

      在Windows中運行多個MySQL實例

      創建新表時將使用的默認存儲引擎

      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

      將每個MySQL實例注冊成Windows服務

      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.

      啟動服務

      C:\Users\Administrator>net start mysqld1

      mysqld1 服務正在啟動 .

      mysqld1 服務已經啟動成功。

      C:\Users\Administrator>net start mysqld2

      mysqld2 服務正在啟動 .

      mysqld2 服務已經啟動成功。

      MySQL Windows

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps表格中如何添加兩個縱坐標(表格怎么添加兩個縱坐標)
      下一篇:python使你再也不為文章配圖與素材發愁,讓高清圖片占滿你的硬盤!
      相關文章
      亚洲成在人线在线播放无码 | www国产亚洲精品久久久| 亚洲AV中文无码乱人伦下载| 在线观看免费亚洲| 亚洲AV日韩综合一区尤物| 亚洲午夜在线播放| avtt天堂网手机版亚洲| 亚洲av片不卡无码久久| 亚洲人成网站在线观看播放动漫| 亚洲国产精品久久网午夜| 亚洲欧洲国产经精品香蕉网| 亚洲欧洲国产经精品香蕉网| 亚洲码在线中文在线观看| 亚洲精品视频免费在线观看| 亚洲日本香蕉视频| 91午夜精品亚洲一区二区三区| 亚洲国产成人精品久久| 亚洲六月丁香六月婷婷色伊人| 亚洲伦理一二三四| 亚洲高清中文字幕免费| 亚洲风情亚Aⅴ在线发布| 亚洲AV无码国产剧情| 国产亚洲美女精品久久久久| 亚洲av午夜成人片精品电影 | 亚洲AV无码专区国产乱码电影| 亚洲AV无码码潮喷在线观看| 久久精品夜色国产亚洲av| 亚洲av午夜福利精品一区人妖| 亚洲国产精品人久久| 亚洲欧洲中文日产| 久久综合久久综合亚洲| 亚洲av无码一区二区三区人妖| 亚洲高清偷拍一区二区三区| 亚洲永久无码3D动漫一区| 久久亚洲国产成人亚| 亚洲福利一区二区| 亚洲欧美aⅴ在线资源| 亚洲成A人片在线观看无码3D| 国产亚洲精品不卡在线| 亚洲国产精品无码久久久蜜芽 | 亚洲人成电影亚洲人成9999网|