就是在一台服务器上运行多个mysql实例,每个实例需要一个独立的端口,实例的配置可
以按实际需求进行设置
1、关闭原有的默认端口3306的mysql:service mysqd stop
2、配置mysql多实例
# vim /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = mysql
log = /database/log/mysqld-muti.log
[mysqld1]
user = mysql
port = 3306
datadir = /database/data1
socket = /tmp/mysql1.sock
log_error = /database/data1/error.log
log_bin = /database/data1/mysqld1-bin
binlog_format = row
server_id = 1
pid_file = /database/data1/mysqld1.pid
expire_logs_days = 60
[mysqld2]
user = mysql
port = 3307
datadir = /database/data2
socket = /tmp/mysql2.sock
log_error = /database/data2/error.log
log_bin = /database/data2/mysqld2-bin
binlog_format = statement
server_id = 2
expire_logs_days = 30
pid_file = /database/data2/mysqld2.pid
[mysqld3]
user = mysql
port = 3308
datadir = /database/data3
socket = /tmp/mysql3.sock
log_error = /database/data3/error.log
log_bin = /database/data3/mysqld3-bin
binlog_format = mixed
server_id = 3
expire_logs_days = 30
pid_file = /database/data3/mysqld3.pid
3、初始化数据库
linux下my.cnf配置文件的搜索路径为:/etc/my.cnf./etc/mysql/my.cnf /usr/local/mysql/my.cnf,~/my.cnf # ./scripts/mysql_install_db --user=mysql --datadir=/database/data1
# ./scripts/mysql_install_db --user=mysql --datadir=/database/data2
# ./scripts/mysql_install_db --user=mysql --datadir=/database/data3
4、更改环境变量
启动前要保证 PATH 里面包括 mysql 的 bin 目录。可以把下面的命令写入 /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
或:由于是源码安装,所以mysql中用到的命令会在安装目录下的bin下面。需要加入环境变量才可以使用。
如果不加入到环境变量中,只有在bin目录下才可以使用。
5、多实例管理
(1) # mysqld_multi report
如果不能启动。要记得查看错误日志
# cat /etc/my.cnf
可以得到错误日志存在于哪个目录下。
然后查看错误日志。
(2)# mysqld_multi start 1,2,3 \\启动实例1,2,3
(3)# mysqld_multi start 1-3 \\启动实例1,2,3
(4) # netstat -ntlp \\检查是否成功启动
(5)# mysqld_multi --user=root stop 1-3 \\停止实例1,2,3
(6)# mysqld_multi report
6、连接到指定的服务器
# mysql -u root -S /tmp/mysql1.sock
# mysql -u root -h 127.0.0.1 -P3308