MySQL多实例是在同一台数据库服务器上,通过开启多个不同的服务端口,并被对应的socket监听,以实现同时运行多个MySQL服务进程的目的。

实验环境
此文章在《MySQL运维-1,单实例安装》后,所用环境也是上一篇实验部署成功后的实验环境。
mysql实例1安装目录:/data/3306
mysql实例1数据文件目录:/data/3306/dbfile
mysql实例2安装目录:/data/3307
mysql实例2数据文件目录:/data/3307/dbfile

停止MySQL

[]# service mysqld stop
Shutting down MySQL. [确定]
[]# service mysqld status
MySQL is not running [失败]

创建对应目录

[]# mkdir -p /data/{3306,3307}/dbfile
[]# chown -R mysql:mysql /data/

修改配置文件

[]# cp /opt/soft/mysql-5.5.32/support-files/my-medium.cnf /data/3306/my.cnf
[]# cp /opt/soft/mysql-5.5.32/support-files/my-medium.cnf /data/3307/my.cnf
vim /data/3306/my.cnf

port            = 3306
socket        = /data/3306/mysql.sock
datadir       = /data/3306/dbfile

vim /data/3307/my.cnf

port            = 3307
socket        = /data/3307/mysql.sock
datadir       = /data/3307/dbfile

初始化数据库

[]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/data/3306/dbfile --user=mysql
[]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/data/3307/dbfile --user=mysql

启动验证

[]# mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &
[]# mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &
[]# netstat -anpt | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0: LISTEN 5123/mysqld
[]# netstat -anpt | grep 3307
tcp 0 0 0.0.0.0:3307 0.0.0.0:
LISTEN 5395/mysqld

添加root登陆密码

[]# mysqladmin -uroot -S /data/3306/mysql.sock password '1qaz3edc'
[]# mysqladmin -uroot -S /data/3307/mysql.sock password '1qaz3edc'

连接数据库

[]# mysql -u'root' -p'1qaz3edc' -S /data/3306/mysql.sock
[]# mysql -u'root' -p'1qaz3edc' -S /data/3307/mysql.sock

关闭数据库

[]# mysqladmin -uroot -p'1qaz3edc' -S /data/3306/mysql.sock shutdown
[]# mysqladmin -uroot -p'1qaz3edc' -S /data/3307/mysql.sock shutdown