FreeBSD 下 MySQL 单机多实例的配置
by z9g
目标:
单台FreeBSD服务器,启多个MySQL服务, 每个服务有单独的pid和数据库目录
单个MySQL实例的情况下可以通过/usr/local/etc/rc.d/mysql-server启动MySQL实例。
要启动多个MySQL实例,可以复制/usr/local/etc/rc.d/mysql-server,然后稍作修改即可。
1. 建立数据库存放目录
mkdir /var/db/mysql0
2. 新建/usr/local/etc/rc.d/mysql-server-0
找到
: ${mysql_dbdir="/var/db/mysql"}
修改成
: ${mysql_dbdir="/var/db/mysql0"}
找到
command_args="--defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args} > /dev/null 2>&1 &"
修改成
command_args="--defaults-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args} > /dev/null 2>&1 &"
3. 新建my.cnf配置文件
# cp /etc/my.cnf /var/db/mysql0
# vi /var/db/mysql1/my.cnf
找到
[mysqld]
port = 3306
socket = /tmp/mysql.sock
修改成
[mysqld]
port = 3307
socket = /tmp/mysql0.sock
4. 启动新MySQL实例
/usr/local/etc/rc.d/mysql-server-0 start
5. 测试
mysql -h127.0.0.1 -P 3307
6. 添加更多的实例
依次遵循步骤1~5, 相应修改端口号(3307, 3308 …)和配置文件名(0, 1, …)即可