MySQL 主从切换
2019-10-06 本文已影响0人
DB哥
Linux System Environment
[root@master ~]# cat /etc/redhat-release #==》系统版本
CentOS Linux release 7.5.1804 (Core)
[root@master ~]# uname –r #==》系统内核
3.10.0-862.el7.x86_64
[root@master ~]# uname -m #==》系统位数
x86_64
[root@master ~]# echo $LANG #==》系统字符集
en_US.UTF-8
[root@master ~]# mysql –version #==》MySQL版本
mysql Ver 14.14 Distrib 5.7.27, for linux-glibc2.12 (x86_64) using EditLine wrapper
MySQL配置文件
提示:/application/mysql是MySQL程序目录
#==》MySQL启动脚本,一般复制到/etc/init.d/启动目录下
/application/mysql/support-files/mysql.server
#==》MySQL主配置文件,MySQL从5.7.18版本开始不再提供my-default.cnf文件,需手动创建
/etc/my.cnf
#==》MySQL所有二进制命令存放目录,一般复制到/usr/local/sbin目录下
/application/mysql/bin/
#==》MySQL错误日志
/application/mysql/data/master.err
#==》MySQL数据库socket文件默认存放在/tmp,可以通过修改my.cnf配置文件的socket参数指定存放路径
/tmp/mysql.sock
MySQL主从切换操作说明
MySQL主从切换需要手动操作,建议MySQL数据库建议一主多从,这样方便主库宕机,从库快速接替并且能快速搭建从库操作。主从切换有两种情况,第一种是主库的MySQL数据库无法启动,但系统正常,可以快速把主库的binlog日志复制到从库进行恢复,并把从库提升为主库,这种数据恢复更为准确。第二种是主库的MySQL数据库和系统都无法启动,只能快速把从库提升为主库,把其它主库修改change master指向现在的主库,可能存在数据有丢失的情况。
MySQL主库宕机从库提升主库的操作步骤
1、确保所有relay log全部更新完毕,通过show processlist查看
2、登录从库把从库开关键关掉,并提升为主库,通过以下命令
stop slave;
retset master;
quit;
3、进到数据库数据目录,删除master.info relay-log.infol
cd/data/3306/datal rm-f master.info relay-log.info检查授权表,read-only等参数。
4、提升从库为主库
vim /etc/my.cnf
开启:
1og-bin=/application/mysql/data/mysql-bin
如果存在log-slave-updates read-only等一定注释掉它。
/etc/init.d/mysqld restart到此为止,提升主库完毕。
5、其它从库操作
已检查(同步验证用户均存在)登陆从库!
stop slave;v
change master to master_host='192.168.1.32';/如果不同步,就指定位置点。
start slave;
show slave status\Gu
主库宕机切换成功。
6、修改程序配置文件从主数据库指向平时访问数据库用域名,则直接可以修改hosts解析。
7、修理损坏的主库,完成后作为从库使用,或者切换。