声明
作者:昨夜星辰
本文由本人创作,如需转载,请注明出处,谢谢合作!
目的
Linux下实现MySQL多端口多实例运行。
主要操作
创建/etc/my_multi.cnf文件
vi /etc/my_multi.cnf
内容如下(注意!如果你的MySQL是通过源代码方式安装,请根据实际情况更改mysqld和mysqladmin这两项,还有就是注意更改root的密码。)
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysqld_multi.log
user = root
password = redhat
[mysqld1]
user = mysql
port = 3307
datadir = /data1
pid-file = /data1/mysqld.pid
socket = /data1/mysql.sock
[mysqld2]
user = mysql
port = 3308
datadir = /data2
pid-file = /data2/mysqld.pid
socket = /data2/mysql.sock
创建数据目录(注意!请根据你在/etc/my_multi.cnf文件中实际配置的情况创建。)
mkdir /data1
chown mysql:mysql /data1
mysql_install_db --datadir=/data1
mkdir /data2
chown mysql:mysql /data2
mysql_install_db --datadir=/data2
注意!你也可以将已有的数据库的数据目录直接拷贝过来,但要注意权限的配置。
启动所有数据库实例
mysqld_multi --defaults-extra-file=/etc/my_multi.cnf start
给每个数据库配置相同的root密码(跟/etc/my_multi.cnf中的一样)
mysqladmin -S /data1/mysql.sock -uroot password redhat
mysqladmin -S /data1/mysq2.sock -uroot password redhat
整个配置就到此结束了
相关内容
# 日志路径
/var/log/mysqld_multi.log
# 启动所有数据库实例
mysqld_multi --defaults-extra-file=/etc/my_multi.cnf start
# 停止所有数据库实例
mysqld_multi --defaults-extra-file=/etc/my_multi.cnf stop
# 只启动某个数据库实例
mysqld_multi --defaults-extra-file=/etc/my_multi.cnf start 1
# 只停止某个数据库实例
mysqld_multi --defaults-extra-file=/etc/my_multi.cnf stop 1
# 根据端口来连接数据库
mysql -S /data1/mysql.sock -uroot -p