MySQL多實例部署

1. 準備多個目錄

[root@fb ~]# mkdir -p /data/330{7,8,9}/data

2. 準備配置文件(3308、3309省略)

[root@fb ~]# cat > /data/3307/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
port=3307
server_id=7
log_bin=/data/3307/mysql-bin
EOF

3. 初始化三套數據

[root@fb ~]# mv /etc/my.cnf /etc/my.cnf.bak
[root@fb ~]# mysqld --initialize-insecure  --user=mysql --datadir=/data/3307/data --basedir=/application/mysql
[root@fb ~]# mysqld --initialize-insecure  --user=mysql --datadir=/data/3308/data --basedir=/application/mysql
[root@fb ~]# mysqld --initialize-insecure  --user=mysql --datadir=/data/3309/data --basedir=/application/mysql

4. systemd管理多實例

[root@fb ~]# cd /etc/systemd/system
[root@fb ~]# cp mysqld.service mysqld3307.service
[root@fb ~]# cp mysqld.service mysqld3308.service
[root@fb ~]# cp mysqld.service mysqld3309.service
[root@fb ~]# vim mysqld3307.service
ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3307/my.cnf

[root@fb ~]# vim mysqld3308.service
ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf

[root@fb ~]# vim mysqld3309.service
ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3309/my.cnf

5. 授權多實例

[root@fb ~]# chown -R mysql.mysql /data/*

6. 啓動多實例

[root@fb ~]# systemctl start mysqld3307.service
[root@fb ~]# systemctl start mysqld3308.service
[root@fb ~]# systemctl start mysqld3309.service

7. 驗證多實例

[root@fb ~]# netstat -lnp|grep 330
[root@fb ~]# mysql -S /data/3307/mysql.sock -e "select @@server_id"
[root@fb ~]# mysql -S /data/3308/mysql.sock -e "select @@server_id"
[root@fb ~]# mysql -S /data/3309/mysql.sock -e "select @@server_id"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章