问题说明:
已知系统上已经安装了mysql,安装的basedir是/usr/local/mysql,配置文件为默认的/etc/my.cnf。
现在因为场景需要在该服务器上搭建一套新的mysql,basedir为/filedata2/mysql_single,配置文件为/etc/my_single.cnf,那么问题来了,当我使用systemctl start mysqld启动mysql时,系统默认是走的第一个mysql的配置文件,启动的也是原数据库服务,现在需要实现的是从systemctl命令下启动新安装的mysql服务。
解决办法:
设置新mysql的配置文件为/etc/my_single.cnf,并且端口配置为3506;
给系统 /etc/systemd/system/ 下添加一个 mysqld2.service的文件,并赋予可执行权限。然后就可以使用 systemctl start mysqld2来启动服务,使用systemctl stop mysqld2来停止服务。
/etc/my_single.cnf配置文件内容:
[mysqld]
basedir=/filedata2/mysql_single
datadir=/filedata2/mysql_single/data
socket=/tmp/mysql.sock
innodb_buffer_pool_size=328M
port=3506
max_connections=1000
# 保证只有在datadir下数据有效
symbolic-links=0
log-error=