单台服务器启用多个mysql实例
由于服务器机房搬迁需要迁移旧机房db至新机房中需要使用主从方式完成平滑切换DB,但新机房中的db已按3306整个实例做主从备份,因此现需要新启一个3307端口从旧db中同步增量数据。 这里记录的是采用多个my.cnf配置的方式创建实例(另一种是单个my.cnf配置多个实例)
创建新实例data目录
mkdir /home/ssd/mysql_data_3307/
chown mysql.mysql /home/ssd/mysql_data_3307/
修改my.cnf配置
要将配置中的port、socket、datadir、log-bin、slow_query_log_file、log-error项更改
cp /home/ssd/mysql_data/my.cnf /home/ssd/mysql_data_3307/my.cnf
vim /home/ssd/mysql_data_3307/my.cnf
初始化DB
有些安装完mysql后会将mysql_install_db脚本删除,若缺失的话从安装包中解压
/usr/local/mysql-5.5.38/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.5.38/ --datadir=/home/ssd/mysql_data_3307/
修改mysqld脚本
将原先的mysqld改为mysqld3306、mysqld3307
cp /etc/init.d/mysqld /etc/init.d/mysqld_3306
cp /etc/init.d/mysqld /etc/init.d/mysqld_3307
chmod o+x /etc/init.d/mysqld_3306
chmod o+x /etc/init.d/mysqld_3307
chkconfig --level 35 mysqld_3307 on
chkconfig --level 35 mysqld_3306 on
rm -rf /etc/init.d/mysqld
修改datadir路径
vim /etc/init.d/mysqld_3307
启动3307端口
之后的start、stop等操作都需要区别出实例
/etc/init.d/mysqld_3307 start
验证下端口
lsof -i:3306
lsof -i:3307
登录mysql
初始化admin密码
/usr/local/mysql/bin/mysqladmin -u root -S /tmp/mysql_3307.sock password '{密码}'
登录
/usr/local/mysql/bin/mysql -uroot -p{密码} -S /tmp/mysql_3307.sock