MySQL多例項配置 二

2021-10-01 09:14:21 字數 3065 閱讀 4782

mysql資料庫的集中化運維,可以通過在一台mysql資料庫伺服器上,部署多個mysql例項。該功能是通過mysqld_multi來實現。mysqld_multi用於管理多個mysqld的服務程序,這些mysqld服務程序程式可以用不同的socket或是監聽於不同的埠,同時將資料檔案分布到不同的磁碟以分散io。mysqld_multi提供簡單的命令用於啟動,關閉和報告所管理的伺服器的狀態。從而減少生產環境的維護成本,方便後續的遷移和清理等工作,借助多例項繫結的方式提高伺服器的整體資源利用率.對於多例項的配置有2種方式,一種是在my.cnf為所有例項提供配置,一種是使用每乙個例項乙個配置檔案。本文主要描述第二種方式。

第一種多例項配置方式請參考:mysql多例項配置(一)

有關mysql單例項的安裝請參考:linux 下mysql原始碼安裝完整版

1、各資料庫多例項的差異

mssql

mssql中的例項指的是乙個sql server伺服器上僅有乙個預設例項。預設例項名即為機器名servername(或ip)。

如果在同一臺機器上再安裝sql server,我們可以對例項命名如servername/instancename。

即一台sql server伺服器上可以存在多個不同的例項。乙個例項下可以存在多個不同的資料庫。

對於不同例項下的資料庫的訪問,使用servername/instancename:portno即可實現訪問,預設例項為servername:portno。

例項的可訪問性需要啟動該例項對應的相關服務。此處需要注意的是例項名和例項的服務名並不是相同的。

預設的例項的服務名為mssqlserver,而命名例項的服務名為mssql$instance_name。

oracle 

乙個oracle server由乙個oracle例項和乙個oracle資料庫組成。即:oracle server = oracle instance + oracle database

在oracle的例項主要是由sga,pga以及一堆的後台程序來組成,此稱之為例項。

一系列物理檔案的集合包括控制檔案、資料檔案、聯機日誌檔案、引數檔案、密碼檔案等稱之為資料庫。

乙個例項只能訪問乙個資料庫,乙個資料庫可以被多個例項訪問。

mysql

mysql例項的概念與mssql差不多,乙個mysql例項下可以存在或訪問n個資料庫。

不同的例項間可以用不同的埠號來區分,各個例項的資料可以使用不同的磁碟目錄。

mysql多例項通過mysqld_multi工具來進行管理。

2、現有的環境

mysql埠號: 3306

mysql  版本:5.6.12 source distribution

os     環境:suse linux enterprise server 11 sp3  (x86_64)

3、初始化例項

#為新例項建立資料目錄並賦權

#初始化例項

# author : leshami

# blog   :

4、配置各例項的my.cnf檔案

[mysqld]

socket = /tmp/mysql3606.sock 

port = 3606

user = mysql

server-id=3606

[client]

port = 3606

socket = /tmp/mysql3606.sock 

[mysql]

no-auto-rehash

socket = /tmp/mysql3606.sock 

prompt=\\u@\\h[\\d]> \\

[mysqld]

socket = /tmp/mysql3706.sock 

port = 3706

user = mysql

server-id=3706

[client]

port = 3706

socket = /tmp/mysql3706.sock 

[mysql]

no-auto-rehash

socket = /tmp/mysql3706.sock

prompt=\\u@\\h[\\d]> \\

5、啟動關閉多例項

suse11:~ # netstat -nltp|grep mysql

tcp        0      0 :::3606                 :::*                    listen      64277/mysqld       

tcp        0      0 :::3706                 :::*                    listen      64597/mysqld 

suse11:~ # mysqladmin -uroot password '***' -s /tmp/mysql3606.sock

suse11:~ # mysqladmin -uroot password '***' -s /tmp/mysql3706.sock

#下面使用套接字方式連線到例項

suse11:~ # mysql -uroot -p*** -s /tmp/mysql3606.sock

root@localhost[(none)]>

suse11:~ # mysql -uroot -p*** -s /tmp/mysql3706.sock

root@localhost[(none)]>

#下面使用tcp方式連線到例項

suse11:~ # mysql -uroot -p*** -p3606 --protocol=tcp

root@localhost[(none)]> exit

suse11:~ # mysql -uroot -p*** -p3706 --protocol=tcp

root@localhost[(none)]>

#關閉mysql例項

suse11:~ # mysqladmin -uroot -p*** -s /tmp/mysql3606.sock shutdown

suse11:~ # mysqladmin -uroot -p*** -s /tmp/mysql3706.sock shutdown

mysql多例項配置

1 mysql安裝參考 2 建立 例項的資料檔案目錄 cd data mkdir p data 3 copy mysql軟體到對應例項目錄下 cd data cp r mysql dbdata1 cp r mysql dbdata2 4 編輯配置檔案my.cnf cd data dbdata1 vi...

mysql多例項配置 MySQL多例項資料庫配置

mysql多例項資料庫配置 1 登入進入mysql,在mysql 5.7.18 bin目錄下執行命令 mysql uroot p s usr local mysql 5.7.18 data 3307 mysql.sock 其中 p 是指定密碼,如果沒有密碼則可以不寫 p,s是指定sock檔案,mys...

mysql單機多例項配置

主機安排 1.什麼是多例項 在一台物理主機上執行多個資料庫服務,可以節約運維成本,提高硬體利用率 1 解壓軟體 修改目錄名 root mysql wget root mysql tar xvf mysql 5.7.28 linux glibc2.12 i686.tar.gz root mysql m...