计划
同版本多实例
1.配置多个数据目录
2.配置多个配置文件
3.配置多个socket
4.配置多个log日志目录
5.配置多个端口
6.多个serverid
执行mysql多实例
创建数据目录和log日志目录
[root@host01 ~]# mkdir -p /data/3307/
[root@host01 ~]# mkdir -p /data/3308/
[root@host01 ~]# mkdir -p /data/3309/
[root@host01 ~]# mkdir -p /binlog/3307
[root@host01 ~]# mkdir -p /binlog/3308
[root@host01 ~]# mkdir -p /binlog/3309
设置配置文件
cat > /data/3307/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql
socket=/tmp/mysql3307.sock
log_error=/data/3307/mysql.log
datadir=/data/3307/data
server_id=7
port=3307
log_bin=/binlog/3307/mysql-bin
EOF
cat > /data/3308/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql
socket=/tmp/mysql3308.sock
log_error=/data/3308/mysql.log
datadir=/data/3308/data
server_id=8
port=3308
log_bin=/binlog/3308/mysql-bin
EOF
cat > /data/3309/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql
socket=/tmp/mysql3309.sock
log_error=/data/3309/mysql.log
datadir=/data/3309/data
server_id=9
port=3309
log_bin=/binlog/3309/mysql-bin
EOF
###初始化数据
[root@host01 3307]# mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3307/data
[root@host01 3307]# mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3308/data
[root@host01 3307]# mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3309/data
配置system
cat >/etc/systemd/system/mysqld3307.service <<EOF
[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=/app/database/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
LimitNOFILE = 5000
EOF
cat >/etc/systemd/system/mysqld3308.service <<EOF
[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=/app/database/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
LimitNOFILE = 5000
EOF
cat >/etc/systemd/system/mysqld3309.service <<EOF
[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=/app/database/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
LimitNOFILE = 5000
EOF
启动服务并查看端口服务
[root@host01 ~]# systemctl start mysqld3307
[root@host01 ~]# systemctl start mysqld3308
[root@host01 ~]# systemctl start mysqld3309
[root@host01 ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1095/sshd
tcp6 0 0 :::3307 :::* LISTEN 1581/mysqld
tcp6 0 0 :::3308 :::* LISTEN 1613/mysqld
tcp6 0 0 :::3309 :::* LISTEN 1623/mysqld
tcp6 0 0 :::22 :::* LISTEN 1095/sshd
udp 0 0 127.0.0.1:323 0.0.0.0:* 719/chronyd
udp6 0 0 ::1:323 :::* 719/chronyd