mysql 5.6配置同步_Mysql 5.6主从同步配置与解决方案

主库IP:192.168.1.10mysql

从库IP:192.168.1.11sql

一、主库配置编辑my.cnf:数据库

5a48313f2e1548bebd0771b4.html

# 启用二进制日志

log_bin= mysql-bin

server-id = 111log-bin-index=mysql-bin.index

sync_binlog=1binlog_format=mixed

binlog-do-db =testdb //同步数据库

binlog-ignore-db =mysql

binlog-ignore-db =performance_schema

binlog-ignore-db =information_schema

binlog_checksum=NONE

5a48313f2e1548bebd0771b4.html

二、建立同步帐号服务器

mysql> grant replication slave on *.* to slave@192.168.1.11 identified by '123456'

三、主库状态ide

5a48313f2e1548bebd0771b4.html

mysql>flush privileges;

mysql>show master status;+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000008 | 337 | | |

+------------------+----------+--------------+------------------+

5a48313f2e1548bebd0771b4.html

记录下二进制日志文件名和位置spa

四、从库配置文件配置日志

5a48313f2e1548bebd0771b4.html

# [必须]启用二进制日志

log-bin=mysql-bin

# [必须]服务器惟一ID,默认是1,通常取IP最后一段

server-id=222relay-log-index = slave-relay-bin.index

relay-log = slave-relay-bin

sync_master_info= 1sync_relay_log= 1sync_relay_log_info= 1

5a48313f2e1548bebd0771b4.html

五、配置链接主库code

mysql> change master to master_host='192.168.1.10',master_user='slave',master_password='123456', master_log_file='mysql-bin.000008',master_log_pos=337;

六、开始同步orm

mysql>start slave;

mysql> show slave status\G;

七、正常状态server

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

八、解决主从不一样步

先上Master库:

mysql>show processlist;   查看下进程是否Sleep太多。发现很正常。

show master status; 也正常。

mysql> show master status;

+-------------------+----------+--------------+-------------------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |

+-------------------+----------+--------------+-------------------------------+

| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |

+-------------------+----------+--------------+-------------------------------+

1 row in set (0.00 sec)

再到Slave上查看

mysql> show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: No

可见是Slave不一样步

下面介绍两种解决方法:

方法一:忽略错误后,继续同步

该方法适用于主从库数据相差不大,或者要求数据能够不彻底统一的状况,数据要求不严格的状况

解决:

stop slave;

#表示跳过一步错误,后面的数字可变

set global sql_slave_skip_counter =1;

start slave;

以后再用mysql> show slave status\G  查看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

ok,如今主从同步状态正常

方式二:从新作主从,彻底同步

该方法适用于主从库数据相差较大,或者要求数据彻底统一的状况

解决步骤以下:

1.先进入主库,进行锁表,防止数据写入

使用命令:

mysql> flush tables with read lock;

注意:该处是锁定为只读状态,语句不区分大小写

2.进行数据备份

#把数据备份到mysql.bak.sql文件

[root@server01 mysql]#mysqldump -uroot -p -hlocalhost > mysql.bak.sql

这里注意一点:数据库备份必定要按期进行,确保数据万无一失

3.查看master 状态

mysql> show master status;

+-------------------+----------+--------------+-------------------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |

+-------------------+----------+--------------+-------------------------------+

| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |

+-------------------+----------+--------------+-------------------------------+

1 row in set (0.00 sec)

4.把mysql备份文件传到从库机器,进行数据恢复

#使用scp命令

[root@server01 mysql]# scp mysql.bak.sql root@192.168.128.11:/tmp/

5.中止从库的状态

mysql> stop slave;

6.而后到从库执行mysql命令,导入数据备份

mysql> source /tmp/mysql.bak.sql

7.设置从库同步,注意该处的同步点,就是主库show master status信息里的| File| Position两项

change master to master_host = '192.168.128.10', master_user = 'slave', master_port=3306, master_password='123456', master_log_file = 'mysqld-bin.000001', master_log_pos=3260;

8.从新开启从同步

mysql> start slave;

9.查看同步状态

mysql> show slave status\G  查看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置MySQL 5.6主从同步,你需要按照以下步骤进行操作: 1. 在主服务器上修改配置文件。打开主服务器的my.cnf(或my.ini)文件,并添加以下配置: ``` [mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW ``` 2. 重启主服务器。在应用了配置更改后,重启主服务器以使更改生效。 3. 创建用于复制的用户。在主服务器上创建一个用于复制目的的用户,并授予适当的权限。例如,执行以下命令创建名为replica的用户: ``` CREATE USER 'replica'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; FLUSH PRIVILEGES; ``` 确保将 'password' 替换为实际的密码,并根据需要设置更具体的权限。 4. 获取主服务器的二进制日志位置。登录到主服务器的MySQL命令行客户端,并执行以下命令: ``` SHOW MASTER STATUS; ``` 记录下返回的结果中的File和Position值,后续步骤将需要使用。 5. 配置从服务器。在从服务器上的my.cnf(或my.ini)文件中添加以下配置: ``` [mysqld] server-id=2 ``` 确保将server-id设置为不同于主服务器的唯一值。 6. 重启从服务器。在应用了配置更改后,重启从服务器以使更改生效。 7. 启动从服务器的复制进程。登录到从服务器的MySQL命令行客户端,并执行以下命令: ``` CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='replica', MASTER_PASSWORD='password', MASTER_LOG_FILE='主服务器返回的File值', MASTER_LOG_POS=主服务器返回的Position值; ``` 确保将 '主服务器IP地址'、'password'、'主服务器返回的File值'和'主服务器返回的Position值' 替换为实际的值。 8. 启动从服务器的复制进程。执行以下命令启动从服务器的复制进程: ``` START SLAVE; ``` 9. 检查复制状态。执行以下命令检查从服务器的复制状态: ``` SHOW SLAVE STATUS\G ``` 在结果中,确保Slave_IO_Running和Slave_SQL_Running两个字段的值均为"YES",表示复制正在正常运行。 完成上述步骤后,你应该成功配置MySQL 5.6主从同步。请注意,这只是一个基本的配置示例,你可能需要根据你的实际环境进行适当的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值