首页 > 代码库 > 同一服务器上运行两个mysql实例

同一服务器上运行两个mysql实例

同一服务器上运行两个mysql实例

 其实没那么复杂,两个mysql实例使用不同的目录存储,使用不同的端口访问,加载不同的配置文件即可实现。

假如有两个MYSQL   A和B

MYSQL A为系统标准安装的RPM程序。存储在 /var/lib/mysql  配置文件为 /etc/my.cnf,这没什么特别的什么都不用改。

现在需要运行第二个MYSQL B,这时你就不能RPM了。使用源码包编译安装。指定安装位置为 /usr/local/mysqlb

主要编译参数如下:

./configue –prefix=/usr/local/mysqlb

安装步骤略过……

安装好以后,将配置文件  /etc/my.cnf 复制为 /etc/myb.cnf

并修改其中的

port=3307

basedir=/usr/local/mysqlb

datadir=/usr/local/mysqlb/var

保存之后,手工指定配置文件启动MYSQL B即可:

/usr/local/mysqlb/bin/mysqld_safe –defaults-file=/etc/myb.cnf

netstat去查看吧,已经有 3306 3307 两个MYSQL在运行了。


指定配置文件

复制一个 my_setting.cnf ,修改为3340
/Data/apps/mysql/bin/mysqld_safe --defaults-file=/Data/apps/mysql/var/my_setting.cnf --user=mysql &


注意,指定配置文件的参数应该需要在第一个位置出现,互换两个参数的位置会出错了,启动后,确实是3340

6 修改启动参数

/Data/apps/mysql/bin/mysqld_safe --defaults-file=/Data/apps/mysql/var/my_setting.cnf --user=mysql --port=3341 &


启动后是 3341端口

# /usr/local/mysql/bin/mysqladmin -u root -p shutdown