欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在Windows中運(yùn)行多個MySQL實(shí)例詳解

 更新時間:2019年09月06日 16:53:43   作者:eric0435  
這篇文章主要給大家介紹了關(guān)于如何在Windows中運(yùn)行多個MySQL實(shí)例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

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

1.在windows中MySQL的base目錄中創(chuàng)建兩個新實(shí)例的數(shù)據(jù)目錄data3307,data3308

2.為每個新實(shí)例設(shè)置配置文件來指定相關(guān)選項

my3307.cnf文件內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8mb4

[mysqld]
# 設(shè)置3307端口
port = 3307
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3307
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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文件內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8mb4

[mysqld]
# 設(shè)置3308端口
port = 3308
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3308
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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.初始化新數(shù)據(jù)庫

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.啟動數(shù)據(jù)庫

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

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

5.登錄數(shù)據(jù)庫修改密碼

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)閉數(shù)據(jù)庫服務(wù)器,使用合適的端口號連接到每個實(shí)例執(zhí)行下面的命令:

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來進(jìn)行連接。如果你的Windows版本支持命名管道并且你也想使用命名管道來連接,指定啟用命名管道選項和指定它的名稱。每個實(shí)例支持命名管道連接必須使用一個唯一的管道名。例如:

my3307.cnf文件內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8mb4

[mysqld]
# 設(shè)置3307端口
port = 3307
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3307
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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文件內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8mb4

[mysqld]
# 設(shè)置3308端口
port = 3308
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3308
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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實(shí)例。想讓客戶端通過共享內(nèi)存連接的過程與上面的過程類似。對每個連接使用–shared-memory選項并使用–shared-memory-base-name選項來為每個實(shí)例指定唯一的共享內(nèi)存名字。

在Windows中作為Windows服務(wù)來啟動多個MySQL實(shí)例

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

基于上面的信息,有幾種方式來設(shè)置多個Windows服務(wù)。在注冊Windows服務(wù)之前需要關(guān)閉并刪除任何已經(jīng)存在的Windows服務(wù)。

方法1

在一個標(biāo)準(zhǔn)的選項文件中指定所有服務(wù)選項。這樣就需要為每個MySQL服務(wù)指定不同的服務(wù)名。假設(shè)端口為3307的MySQL實(shí)例的服務(wù)名為mysqld1,端口為3308的MySQL實(shí)例的服務(wù)名為mysqld2。那么D:\mysql-5.7.25-win32\my.ini設(shè)置如下:

[mysqld1]
# 設(shè)置3307端口
port = 3307
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3307
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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]
# 設(shè)置3308端口
port = 3308
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3308
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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ù)路徑名來確保Windows為每個服務(wù)注冊正確的可執(zhí)行程序:

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服務(wù),使用服務(wù)管理器或者使用net start servicename:

C:\Users\Administrator>net start mysqld1

mysqld1 服務(wù)正在啟動 .

mysqld1 服務(wù)已經(jīng)啟動成功。

C:\Users\Administrator>net start mysqld2

mysqld2 服務(wù)正在啟動 .

mysqld2 服務(wù)已經(jī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

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

my3307.cnf文件內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8mb4

[mysqld]
# 設(shè)置3307端口
port = 3307
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3307
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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文件內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8mb4

[mysqld]
# 設(shè)置3308端口
port = 3308
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.25-win32
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯
datadir=D:\mysql-5.7.25-win32\data3308
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
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實(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.

啟動服務(wù)

C:\Users\Administrator>net start mysqld1

mysqld1 服務(wù)正在啟動 .

mysqld1 服務(wù)已經(jīng)啟動成功。

C:\Users\Administrator>net start mysqld2

mysqld2 服務(wù)正在啟動 .

mysqld2 服務(wù)已經(jīng)啟動成功。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 關(guān)于MySQL的存儲過程與存儲函數(shù)

    關(guān)于MySQL的存儲過程與存儲函數(shù)

    存儲過程是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL?語句集(這些SQL語句已經(jīng)編譯過了),它存儲在數(shù)據(jù)庫中,一次編譯后永久有效,需要的朋友可以參考下
    2023-05-05
  • mysql中datetime類型設(shè)置默認(rèn)值方法

    mysql中datetime類型設(shè)置默認(rèn)值方法

    下面小編就為大家分享一篇mysql中datetime類型設(shè)置默認(rèn)值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 詳解Mysql中保證緩存與數(shù)據(jù)庫的雙寫一致性

    詳解Mysql中保證緩存與數(shù)據(jù)庫的雙寫一致性

    在一些高并發(fā)場景下,為了提升系統(tǒng)的性能,我們通常會將數(shù)據(jù)存儲在 Redis 緩存中,并通過 Redis 緩存來提高系統(tǒng)的讀取速度,這篇文章主要介紹了詳解Mysql中保證緩存與數(shù)據(jù)庫的雙寫一致性,需要的朋友可以參考下
    2024-03-03
  • mysql如何用sql語句建立學(xué)生課程數(shù)據(jù)庫基本表

    mysql如何用sql語句建立學(xué)生課程數(shù)據(jù)庫基本表

    這篇文章主要給大家介紹了關(guān)于mysql如何用sql語句建立學(xué)生課程數(shù)據(jù)庫基本表的相關(guān)資料,學(xué)生表是一個常見的數(shù)據(jù)表,用于存儲學(xué)生的個人信息和成績等相關(guān)數(shù)據(jù),文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • MySQL解壓版配置步驟詳細(xì)教程

    MySQL解壓版配置步驟詳細(xì)教程

    這篇文章主要介紹了MySQL解壓版配置步驟詳細(xì)教程的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • mysql格式化小數(shù)保留小數(shù)點(diǎn)后兩位(小數(shù)點(diǎn)格式化)

    mysql格式化小數(shù)保留小數(shù)點(diǎn)后兩位(小數(shù)點(diǎn)格式化)

    今天遇到一個問題,格式化浮點(diǎn)數(shù)的問題,用format(col,2)保留兩位小數(shù)點(diǎn),出現(xiàn)一個問題,例如下面的語句,后面我們給出解決方法
    2013-12-12
  • MySQL json相關(guān)函數(shù)及功能詳解

    MySQL json相關(guān)函數(shù)及功能詳解

    MySQL提供了一系列的JSON函數(shù),用于解析、提取、修改和操作JSON數(shù)據(jù),以下是一些常用的JSON函數(shù)及其功能,需要的朋友可以參考下
    2023-11-11
  • MySQL9.0新特性向量存儲的使用

    MySQL9.0新特性向量存儲的使用

    MySQL 9.0 正式版已經(jīng)發(fā)布,其中一個亮點(diǎn)就是向量(VECTOR)數(shù)據(jù)類型的支持,本文主要介紹了MySQL9.0新特性向量存儲的使用,感興趣的可以了解一下
    2024-08-08
  • C#編寫方法實(shí)例

    C#編寫方法實(shí)例

    在下面的練習(xí)中,將創(chuàng)建一個應(yīng)用程序,它包含的一個方法能夠計算一名顧問的收費(fèi)金額——假定該顧問每天收取固定的費(fèi)用,將根據(jù)工作了多少天來收費(fèi)。首先要開發(fā)應(yīng)用程序的邏輯,然后利用“生成方法存根向?qū)А眮韺懗鲞@個邏輯使用的方法。接著,我們將在一個控制臺應(yīng)用程序中運(yùn)行方法,以獲得對該程序的最終印象。最后,我們將使用Visual Studio 2005調(diào)試器來檢查方法調(diào)用。
    2008-04-04
  • MySQL中日期格式化匹配的處理方式

    MySQL中日期格式化匹配的處理方式

    處理日期和時間數(shù)據(jù)是很常見的需求,本文主要介紹了SELECT?語句對日期進(jìn)行格式化匹配,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08

最新評論