使用systemd管理多实例
编辑配置文件 /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld_multi]
log = /data/mysql/mysqld_multi.log
[mysqld]
user=mysql
basedir=/usr/local/mysql
[mysqld@3306]
datadir=/data/mysql/3306
port=3306
server_id=3306
mysqlx_port=33061
socket=/data/mysql/3306/mysql.sock
log-error = /data/mysql/3306/error.log
[mysqld@3307]
datadir=/data/mysql/3307
port=3307
server_id=3307
mysqlx_port=33062
socket=/data/mysql/3307/mysql.sock
log-error = /data/mysql/3307/error.log
注意:@ 后面是实例别名,不一定是端口号,也可以使用其他有意义的名字。
初始化3306数据库
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@3306 --initialize --user=mysql --initialize-insecure
初始化3307数据库
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@3307 --initialize --user=mysql --initialize-insecure
配置systemd
cat >/etc/systemd/system/mysqld@.service<<EOF
[Unit]
Description=MySQL Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=forking
TimeoutSec=0
PermissionsStartOnly=true
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@%I$MYSQLD_OPTS --daemonize
LimitNOFILE = 65535
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=1
PrivateTmp=false
EOF
添加可执行权限
chmod +x /etc/systemd/system/mysqld@.service
重载 systemctl units
systemctl daemon-reload
使用systemd管理服务,启动
systemctl start mysqld@3306
systemctl start mysqld@3307
关闭
systemctl stop mysqld@3306
systemctl stop mysqld@3307
浙公网安备 33010602011771号