由於一些測試或者開發上的需要,我們可能需要多個的mysql服務,但是在多個伺服器上部署mysql無疑成本太高,
幸好mysql提供了乙個在一台伺服器上執行多個mysql例項的工具:mysqld_multi。這個工具可以管理多個mysqld程序,而這些程序監聽在不同的socket檔案和埠上。通過這個工具,還可以啟動和停止這些mysqld程序,也可獲取到執行狀態。
要mysqld_multi工作,我們需要對mysql的配置檔案進行修改。假設我們已經在linux下安裝好了mysql
(以我的機器為例,mysql安裝在/var/lib/mysql下,配置檔案my.cnf放在/etc下)。
1、 首先需要在/etc/my.cnf 中新增配置組[mysqld_multi],配置資訊如下
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = dingjia
這些配置主要讓mysqld_multi能管理mysqld程序,包括啟動、停止以及報告狀態等。user和password用來停止mysqld服務
2、 然後我們需要為每個mysqld例項在/etc/my.cnf中新增乙個配置,例如我們需要執行兩個例項,配置資訊如下:
[mysqld2]
socket = /var/lib/mysql2/mysql.sock2
port = 3307
pid-file = /tmp/mysqld2.pid
datadir = /var/lib/mysql2
user = mysql
[mysqld3]
socket = /var/lib/mysql3/mysql.sock3
port = 3308
pid-file = /tmp/mysqld3.pid
datadir = /var/lib/mysql3
每乙個例項我們需要增加乙個[mysqldn]的配置。n是乙個數字,從1開始,用來標識每個例項,mysqld_multi通過這個數字編號可以具體的管理到每個例項。我們需要為每個例項配置不同的socket、port和pid-file。
3、初始化各個例項
mysql_install_db--
user=mysql--
datadir=/var/lib/mysql2
mysql_install_db--
user=mysql--
datadir=/var/lib/mysql3
4、現在,我們可以啟動我們的多個例項了
mysqld_multi start
用以下命令來檢視例項的執行狀態
mysqld_multi report
如果例項沒有正常啟動到,我們可以在啟動時增加日誌來檢視失敗的原因:
mysqld_multi --log=/tmp/multi_mysqld.log start
如果想啟動具體某個例項,我們只需要在啟動時加上例項的編號即可:
mysqld_multi start
2
5、登入例項:
mysql -s /var/lib/mysql2/mysql.sock2 -u root -p
6、我們需要對每個例項新增乙個具有shutdown許可權的帳號,用於停止例項。首先先登入例項,然後新增帳號和許可權:
mysql> grant shutdown on *.* to
'root'@'localhost' identified by
'dingjia';
mysql> flush privileges;
所有例項的帳號許可權都新增好後,我們就可以執行以下命令停止例項了:
mysqld_multi stop
同樣的,我們可以指定需要停止的例項,只需要在命令加上例項的編號即可:
mysqld_multi stop
2
redis多例項配置
如果需要使用redis多例項。可以直接在安裝目錄中找到 etc redis.conf檔案,並且將其複製成redis6380.conf檔案。後面的數字就是想設定的埠號。需要修改這個檔案中的下面幾句話 by default redis does not run as a daemon.use yes i...
ubuntu mysql多例項配置
使用apt get安裝mysql後進行第二種配置出現各種錯誤,最新的問題就是卡在了 重啟失敗上,而採用官方提供的方法僅一次就成功了,可以說是是野爹和親爹的區別 第一步 新建mysql 使用者組,mysql使用者,建立資料存放目錄 groupadd mysql useradd g mysql mysq...
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...