# 之前安装过单机版本的MySQL,安装单机版本前已将MySQL相关目录创建好,以上步骤省略,具体参考以下链接:
https://www.cnblogs.com/nanblog/p/15884979.html
1.编辑好配置文件
cat > /data/conf/3307/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/soft/mysql
datadir=/data/3307/data
log_error=/log/3307/error.log
log_bin=/log/3307/mysql-bin
server_id=7
port=3307
socket=/tmp/mysql3307.sock
[mysql]
socket=/tmp/mysql3307.sock
prompt=3307
EOF
cat > /data/conf/3308/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/soft/mysql
datadir=/data/3308/data
log_error=/log/3308/error.log
log_bin=/log/3308/mysql-bin
server_id=8
port=3308
socket=/tmp/mysql3308.sock
[mysql]
socket=/tmp/mysql3308.sock
prompt=3308
EOF
cat > /data/conf/3309/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/soft/mysql
datadir=/data/3309/data
log_error=/log/3309/error.log
log_bin=/log/3309/mysql-bin
server_id=9
port=3309
socket=/tmp/mysql3309.sock
[mysql]
socket=/tmp/mysql3309.sock
prompt=3309
EOF
2.准备启动脚本
主要修改的就是ExecStart=/soft/mysql/bin/mysqld --defaults-file=/data/conf/3300.cnf
切换到/etc/systemd/system下
cp mysqld.service mysqld3307.service
cp mysqld.service mysqld3308.service
cp mysqld.service mysqld3309.service
vim mysqld3307.service
ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
vim mysqld3308.service
ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
vim mysqld3309.service
ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
[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/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
切换到/etc/systemd/system下
cat > mysqld3307.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
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=/soft/mysql/bin/mysqld --defaults-file=/data/conf/3307/my.cnf
LimitNOFILE = 500
EOF
cat > mysqld3308.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
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=/soft/mysql/bin/mysqld --defaults-file=/data/conf/3308/my.cnf
LimitNOFILE = 500
EOF
cat > mysqld3309.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
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=/soft/mysql/bin/mysqld --defaults-file=/data/conf/3309/my.cnf
LimitNOFILE = 500
EOF
3.初始化多实例
mysqld --initialize-insecure --user=mysql --basedir=/soft/mysql --datadir=/data/3307/data
mysqld --initialize-insecure --user=mysql --basedir=/soft/mysql --datadir=/data/3308/data
mysqld --initialize-insecure --user=mysql --basedir=/soft/mysql --datadir=/data/3309/data
4.启动多实例
`[root@localhost data]# systemctl start mysqld3307.service
Warning: mysqld3307.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for mysqld3307.service failed because the control process exited with error code. See "systemctl status mysqld3307.service" and "journalctl -xe" for details.
[root@localhost data]#
[root@localhost data]#
报错后,将该服务reload
[root@localhost data]# systemctl daemon-reload
[root@localhost data]#
[root@localhost data]# systemctl start mysqld3307.service`
启动实例还是报错:报错截图如下:
怀疑是之前启动的mysql影响,将my.cnf文件移走,停止原来的mysql进程,然后启动3307,启动成功
[root@localhost system]# service mysqld stop
Shutting down MySQL.. SUCCESS!
[root@localhost system]# mv /etc/my.cnf /etc/my.cnf.bak
[root@localhost system]# systemctl start mysqld3307
启动3308时又报错socket文件冲突,查看文件得知,之前配置的文件全部为socket=/tmp/mysql.sock
将每个实例的修改后为
socket=/tmp/mysql3307.sock
socket=/tmp/mysql3308.sock
socket=/tmp/mysql3309.sock
修改后启动成功
多实例安装参考文档
https://dev.mysql.com/doc/mysql-secure-deployment-guide/5.7/en/secure-deployment-post-install.html