在一台服务器安装多个MySQL数据库

2014-11-24 18:35:46 · 作者: · 浏览: 0

一台服务上已经安装了mysql实例,可通过mysqld_multi命令新增实例


1.假设该服务器上有一原有mysql实例,其basedir/usr/local/mysql, 其数据目录为/usr/local/mysql/data,配置文件为/etc/my.cnf


# mkdir /opt/mysql3308


# cp –rfp /usr/local/data/mysql /opt/mysql3308/


# 假设这个新建的实例其数据目录放在/opt/mysql3308


因测试原因,将原有mysql一实例的mysql数据库拷贝到/opt/mysql3308下,这样此新增实例就不需要运行mysql_install_db这一步了。


# chown –R mysql:mysql /opt/mysql3308


# vi /etc/my.cnf


在文件的一开头,进行如此设置,保存退出.


[mysqld_multi]


mysqld = /usr/local/mysql/bin/mysqld_safe


mysqladmin = /usr/local/mysql/bin/mysqladmin


user=root


password=12345678


# 这里的user password为这台服务器中各mysql实例有权限关闭该实例的用户与密码.


若各实例的root用户不设置密码,那么这里的user password这两行就不需要书写.


若各实例的root用户设置密码,那么各实例中配置的这个user password就必须一致,不然不一致的实例就会通过mysqld_multi关闭不成功


log = /usr/local/mysql/data/mysqld_multi.log





user=mysql


pid-file=/tmp/3308.pid


port=3308


socket=/tmp/mysql3308.sock


basedir=/usr/local/mysql


datadir=/opt/mysql3308


#server-id=3308 # 此参数server-id在设置数据库主从复制时可以启用



# Example MySQL config file for large systems.


#


# This is for a large system with memory = 512M where the system runs mainly


# MySQL.



# mysqld_multi start


# 启动该新增新例


此时netstat –ntl,应该可以看到3308端口已经启动


ps –ef|grep mysql,应该可以该新增实例的参数。


# ./bin/mysql –uroot –S /tmp/mysql3308.sock


# 该命令为连接该数据库实例.