MYSQL双机热备

来源:互联网 发布:淘宝网店上货教程 编辑:程序博客网 时间:2024/04/30 04:12

双机热备操作

以192.168.0.1上的数据库作为主库;

在192.168.0.2上建立从数据库;

在主数据库中建立同步用户:

grant replication slave on *.* to 'jyxbackup'@'%'identified by '123456';

flush privileges;

 

一、主数据库配置:

找到配置文件my.cnf打开后,在[mysqld]下修改即可(/etc/my.cnf):

[mysqld]

server-id = 1

log-bin=mysql-bin               

binlog-do-db = Formal_Activity_User,Formal_Material,Formal_Task,jyx,jyx_activity,jyx_bbs,jyx_crm_trunk,jyx_enp_org,jyx_feedback,jyx_groundstorm,jyx_material,jyx_notice,jyx_oauth,jyx_report,jyx_schedule,jyx_task,material,mysql,service_dev,task_usertest,ultrax

binlog-ignore-db = mysql

 

配置完成后重启数据库:sudo systemctl restart mariadb

查看主服务器状态

进入mysql服务后,可通过指令查看Master状态,输入如下指令:

flush tables with read lock;

show master status\G

unlock tables;

记录下File和Position,在从服务器(Slave)配置主从关系会有用到的

 

二、从数据库配置:

因为这里面是以主-从方式实现mysql双机热备的,所以在从服务器就不用在建立同步帐户了,直接打开配置文件my.cnf进行修改即可,道理还是同修改主服务器上的一样,只不过需要修改的参数不一样而已。如下:

[mysqld]

server-id = 2

log-bin=mysql-bin

replicate-do-db = Formal_Activity_User,Formal_Material,Formal_Task,jyx,jyx_activity,jyx_bbs,jyx_crm_trunk,jyx_enp_org,jyx_feedback,jyx_groundstorm,jyx_material,jyx_notice,jyx_oauth,jyx_report,jyx_schedule,jyx_task,material,mysql,service_dev,task_usertest,ultrax

replicate-ignore-db =mysql,information_schema,performance_schema

 

重启数据库:service mysql restart

用changemster 语句指定同步位置

这步是最关键的一步了,在进入mysql操作界面后,输入如下指令:

mysql>stopslave;          //先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。

mysql>change master to master_host='192.168.0.1',master_user='jyxbackup',master_password='123456',master_log_file='mysql-bin.000005',master_log_pos=151631076;

注:master_log_file,master_log_pos由主服务器(Master)查出的状态值中确定。也就是刚刚叫注意的。master_log_file对应File, master_log_pos对应Position。Mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关选项。

重启slave:start slave;

查看服务器状态:show slave status\G;

查看下面两项值均为Yes,即表示设置从服务器成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

测试服务器同步,验证没有问题就表示正常;

 

原创粉丝点击