標籤:mysql
mysql的多執行個體有兩種方式可以實現,兩種方式各有利弊。
第一種是使用多個設定檔啟動不同的進程來實現多執行個體,這種方式的優勢邏輯簡單,配置簡單,缺點是管理起來不太方便。
第二種是通過官方內建的mysqld_multi使用單獨的設定檔來實現多執行個體,這種方式定製每個執行個體的配置不太方面,優點是管理起來很方便,集中管理
第一種使用多個設定檔啟動多個進行
1.安裝編譯好資料庫
2.進行資料庫初始化
/usr/local/mysql_3306/bin/mysql_install_db --basedir=/usr/local/mysql_3306 --datadir=/data/dbdata_3306 --user=mysql
/usr/local/mysql_3307/bin/mysql_install_db --basedir=/usr/local/mysql_3307 --datadir=/data/dbdata_3307 --user=mysql
/usr/local/mysql_3308/bin/mysql_install_db --basedir=/usr/local/mysql_3308 --datadir=/data/dbdata_3308 --user=mysql
3.分別建立各自的設定檔(需要指定各自的資料目錄,連接埠,socket檔案)
vim /data/dbdata_3306/my.cnf
vim /data/dbdata_3307/my.cnf
vim /data/dbdata_3308/my.cnf
4.通過配置問題啟動各個執行個體
/bin/sh /usr/local/mysql_3306/bin/mysqld_safe --defaults-file=/data/dbdata_3306/my.cnf &
/bin/sh /usr/local/mysql_3307/bin/mysqld_safe --defaults-file=/data/dbdata_3307/my.cnf &
/bin/sh /usr/local/mysql_3308/bin/mysqld_safe --defaults-file=/data/dbdata_3308/my.cnf &
關閉不同的執行個體
a.kill -9 進程ID
b./bin/sh /usr/local/mysql_3306/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /data/dbdata_${mysql_port}/mysql.sock shutdown
第二種方式通過官方內建的mysql_multi進行配置
1.安裝和初始化資料庫與第一種方式一樣
2.編輯設定檔(三個執行個體的設定檔放在一起)
vi /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = admin
password = password
[mysqld1] //定義執行個體3306
socket /data/dbdata_3306/mysql.sock
port = 3306
pid-file = /data/dbdata_3306/3306.pid
datadir = /data/dbdata_3306
..........
[mysqld2] //定義執行個體3307
socket /data/dbdata_3307/mysql.sock
port = 3307
pid-file = /data/dbdata_3307/3307.pid
datadir = /data/dbdata_3307
..........
[mysqld3] //定義執行個體3308
socket /data/dbdata_3308/mysql.sock
port = 3308
pid-file = /data/dbdata_3308/3308.pid
datadir = /data/dbdata_3308
..........
3.啟動各個執行個體
/usr/local/mysql/bin/mysqld_multi start 1
/usr/local/mysql/bin/mysqld_multi start 2
/usr/local/mysql/bin/mysqld_multi start 3
或者
/usr/local/mysql/bin/mysqld_multi start 1-3
本文出自 “咚咚的部落格” 部落格,謝絕轉載!
MySQL多執行個體部署