主从互换(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 '<新密码>';