一台服务上已经安装了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 [mysqld2] # 服务器中原先存在的实例把原来的 [mysqld] 改为 [mysqld1];新增的实例为[mysqld2],依次下去.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 2 # 启动该新增新例 此时netstat –ntl,应该可以看到3308端口已经启动 ps –ef|grep mysql,应该可以该新增实例的参数。 # ./bin/mysql –uroot –S /tmp/mysql3308.sock # 该命令为连接该数据库实例.
|