主从互换(SrvA:主服, SrvB:从服)
1, SrvA 禁止更新(SET GLOBAL read_only=1; FLUSH TABLES WITH READ LOCK;) 2, SrvA 查看状态(SHOW MASTER STATUS;) 3, SrvB 查看状态(SHOW SLAVE STATUS;) 4, 确认SrvA , SrvB 同步(binlog文件名相同并且pos相同) 5, SrvB 停止同步(STOP SLAVE; RESET SLAVE;) 6, SrvB 取消只读(SET GLOBAL read_only=0) 7, SrvB 查看binlog文件名和pos(SHOW MASTER STATUS;) 8, SrvA 取消锁定(UNLOCK TABLES;) 9, SrvA 切换身份(CHANGE MASTER TO MASTER_HOST='从服IP',MASTER_PORT=从服端 口,MASTER_USER='用户',MASTER_PASSWORD='密码',MASTER_LOG_FILE='从服binlog文件名',MASTER_LOG_POS='从服binlog的pos') 10, SrvA 开启同步(START SLAVE;)
单服多例(基于systemd的系统)
-- CentOS -- 1, 配置文件中添加[mysql@<标识名>]的配置段,将所有需要独立配置的选项放到这个下面 2, 复制/lib/systemd/system/mariadb.service至/lib/systemd/system/mariadb@.service 3, 修改新复制的文件,在ExecStart=/usr/sbin/mysqld后添加参数--defaults-group-suffix=@%I,并注释ExecStartPre和ExecStartPost 4, 使用systemctl start|stop mariadb@<标识名>.service启动、关闭服务 5, 使用systemctl enable|disable mariadb@<标识名>.service设置、取消开机自启动 -- Ubuntu -- 1, 配置文件中添加[mysql@<标识名>]的配置段,将所有需要独立配置的选项放到这个下面 2, 复制/lib/systemd/system/mysql.service至/lib/systemd/system/mysql@.service 3, 修改新复制的文件,在ExecStart=/usr/sbin/mysqld后添加参数--defaults-group-suffix=@%I,并注释ExecStartPre和ExecStartPost 4, 使用systemctl start|stop mysql@<标识名>.service启动、关闭服务 5, 使用systemctl enable|disable mysql@<标识名>.service设置、取消开机自启动
多例数据目录初始化
-- 创建数据目录 -- mysql_install_db --basedir=/usr --datadir=<数据目录> --user=mysql -- 查看root密码 -- cat /root/.mysql_secret -- 修改root密码 -- ALTER USER 'root'@'localhost' IDENTIFIED BY '<新密码>';