要求: MySQL 5.7 版本多实例(端口分别为3307,3308,3309)
一、准备数据库多套目录
[root@db01 ~]# mkdir -p /data/330{7..9}/data
二、编写3组配置文件
[root@db1 ~]# cat /data/3307/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3307/data
socket=/tmp/mysql3307.sock
port=3307
server_id=7
[root@db1 ~]# cat /data/3308/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3308/data
socket=/tmp/mysql3308.sock
secure-file-priv=/tmp/
port=3308
server_id=8
[root@db1 ~]# cat /data/3309/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql56
datadir=/data/3309/data
socket=/tmp/mysql3309.sock
port=3309
server_id=9
[mysqld_safe]
syslog
syslog-tag=mytag
foreign_key_checks=0
三、初始化3组数据
[root@db01 ~]# mv /etc/my.cnf /etc/my.cnf.bak
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3307/data
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3308/data
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3309/data
[root@db01 ~]# mv /etc/my.cnf.bak /etc/my.cnf
四、授权
[root@db01 ~]# chown -R mysql. /data/*
五、准备启动脚本
[root@db1 ~]# cat /etc/systemd/system/mysql3307.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
LimitNOFILE = 5000
[root@db1 ~]# cat /etc/systemd/system/mysql3308.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
LimitNOFILE = 5000
[root@db1 ~]# cat /etc/systemd/system/mysql3309.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
LimitNOFILE = 5000
六、启动多实例
[root@db01 ~]# systemctl start mysqld3307
[root@db01 ~]# systemctl start mysqld3308
[root@db01 ~]# systemctl start mysqld3309
[root@db01 ~]# netstat -tulnp