MySQL知识-MySQL同版本多实例的配置

MySQL多实例的配置

 

1. 创建需要目录

[root@db01 ~]# rm -rf /data/330{7..9}/data/*
[root@db01 ~]# rm -rf /binlog/330{7..9}/data/*
[root@db01 ~]# mkdir -p /data/330{7..9}/data
[root@db01 ~]# mkdir -p /binlog/330{7..9}

2. 创建配置文件

cat > /data/3307/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3307/data
socket=/tmp/mysql3307.sock
log_error=/data/3307/mysql.log
port=3307
server_id=7
log_bin=/binlog/3307/mysql-bin
EOF
cat > /data/3308/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3308/data
socket=/tmp/mysql3308.sock
log_error=/data/3308/mysql.log
port=3308
server_id=8
log_bin=/binlog/3308/mysql-bin
EOF
cat > /data/3309/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3309/data
socket=/tmp/mysql3309.sock
log_error=/data/3309/mysql.log
port=3309
server_id=9
log_bin=/binlog/3309/mysql-bin
EOF

3. 初始化数据

[root@db01 ~]# chown -R mysql.mysql /data /binlog
[root@db01 ~]# mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure  --user=mysql --datadir=/data/3307/data  --basedir=/app/database/mysql
mysqld --initialize-insecure  --user=mysql --datadir=/data/3308/data  --basedir=/app/database/mysql
mysqld --initialize-insecure  --user=mysql --datadir=/data/3309/data  --basedir=/app/database/mysql

4. 准备启动脚本

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

5. 启动多实例

[root@db01 ~]# systemctl start mysqld3307
[root@db01 ~]# systemctl start mysqld3308
[root@db01 ~]# systemctl start mysqld3309
[root@db01 ~]# 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      1071/sshd          
tcp6       0      0 :::3307                 :::*                    LISTEN      21616/mysqld       
tcp6       0      0 :::3308                 :::*                    LISTEN      21650/mysqld       
tcp6       0      0 :::3309                 :::*                    LISTEN      21682/mysqld       
tcp6       0      0 :::22                   :::*                    LISTEN      1071/sshd          
udp        0      0 127.0.0.1:323           0.0.0.0:*                           641/chronyd        
udp6       0      0 ::1:323                 :::*                                641/chronyd        
 
 
 
注释:安装的是MySQL 5.7.28版本  centos7的版本   Linux
原文地址:https://www.cnblogs.com/wx1899325/p/12931025.html