
一般来说在客户的生产环境,每隔一段实践就需要进行MySQL数据库的功能演练:主从切换,数据同步,数据备份等。这里记录一下自己在面对这些现场问题是如何 *** 作处理的。
MySQL的主从切换(数据库层面)目录
概述
MySQL的主从切换(数据库层面)
MySQL主节点
MySQL从节点
MySQL的主从切换(应用层面)
不管如种数据库,在进行解决现场问题时,第一原则就是想到是否需要数据备份或停止数据库业务防止数据库丢失。
- MySQL主节点
切换前将原主库的表上锁,防止切换数据库期间出现数据写入
1) MySQL> flush tables with read lock;
2) mysql> show processlist ;(查看原主节点进程)
Slave has read all relay log; waiting for the slave I/O thread to update it
9) 原主库切换成从库
reset master;
reset slave ;(如果需要重新启动一个新的relaylog文件,执行reset slave all)
change master to master_host='xxx',matert_user='xxxx',master_password='xxxxx',master_port='3306',c='mysql-bin.000001',master_log_pos=xx;
注:master_host:新主库ip
matert_user:具有复制权限的用户
master_port:数据库端口
master_log_file:同步日志文件
master_log_pos:日志文件进程
unlock tables;
10) 启动从库
start slave;
show slave status \G;
11) 检查主从关系
show processlist;
12) 数据测试
- MySQL从节点
3) MySQL>show processlist;(查看原从节点进程)
Slave has read all relay log; waiting for the slave I/O thread to update it
4) show slave status \G;
5) mysql> STOP SLAVE IO_THREAD;(从库停止IO_THREAD线程)
mysql> SHOW PROCESSLIST;
确保状态为:has read all relay log
shwo slave status \G;
6) 从库切换晋升为主库
stop slave ;
reset master;
reset slave ;(如果需要重新启动一个新的relaylog文件,执行reset slave all)
show master status \G;
7)关闭原从节点只读权限
show variables like'%read%';
set global super_read_only=OFF,read_only=OFF;
8) 创建一个用户并赋予replication slave权限
grant replication slave on *.* to 'root'@'1%' identified by 'xxxx';
FLUSH PRIVILEGES;
MySQL的主从切换(应用层面)欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)