MySql主从同步和延迟同步

 MySql同步与延迟同步

Mysql同步

一 Mysql主服务器上操作

  1 开启服务器上的log_bin功能

# vim/etc/my.cnf

增加一下两行

log_bin=mysql-bin

server_id=1

  2 重启mysql

# service mysqldrestart

  3 登录mysql建立账户并授权slave功能

     #mysql –uroot –p

     mysql> grant replication slave on *.* to 'repl'@'%' identified by'repl';

 mysql> flush privileges;

 4  使用mysqldump命令对mysql服务器数据库备份

# ln -s/data/mysql/bin/mysqldump /usr/bin/

#mysqldump -uroot -p --single-transaction --all-databases --master-data    =1 > /data/mysql/data/mysqlbackup20170727.sql

  5  将主库服务器备份的sql文件传送到从库指定目录

#scp /data/mysql/data/mysqlbackup20170727.sql root@19.171.34.158:/    data/mysql/data

二 mysql从库服务器上的操作

   1 登录mysql服务器停止slave同步操作

#mysql –uroot –p

mysql> stop slave;

   2 修改从库的配置文件

#vim /etc/my.cnf

增加以下两行

log_bin=mysql-bin

server_id=2 

   3 重启mysql服务器

# service mysqld restart

   4 将主库的备份文件导入从库中

     #mysql –uroot –p < /data/mysql/data/mysqlbackup20170727.sql

   5 配置从服务器与主服务器的同步

     #head –n 30 /data/mysql/data/mysqlbackup20170727.sql

mysql主库binlog文件的名字及位置记录在备份的sql文件中

如下图红色框中所示:

#mysql –uroot –p

mysql>change master tomaster_host='10.44.30.153',master_user='replll',master_password='mAME33888888e333CrqEqSnt8W',master_log_file='mysql-bin.000065',master_log_pos=760539299;

命令中参数解释:

master_host   mysql主服务器所在的IP地址

master_user   mysql主服务授权从库slave功能的用户

master_password  mysql主服务器授权从库salve功能用户的密码

master_log_file  mysql主服务binlog名称

master_log_pos  mysql主服务binlog中执行到的位置。

备注:master_log_file与 master_log_pos 为上图中红色框中对应的值。

  6 启动从服务器的slave

mysql> start slave;

  7 检查slave服务器的状态

mysql>show slave status\G;   如下图所示:红色框中两项都为yes表示主从同步成功。

    

二、mysql延迟同步    

目的是 防止主库的误操作造成从库也被误操作。

#mysql –uroot –p

mysql>stop slave;

mysql>CHANGE MASTER TO MASTER_DELAY = 1800;单位为秒

mysql>start slave;

mysql>show slave status \G; 

如下图所示: 红色框中参数的意义:


Master_Log_File  主库mysql的binlog文件名

Read_Master_Log_Pos 读取主库mysql的binlog文件的位置

Exec_Master_Log_Pos 从库执行主库mysql的binlog文件的位置

Seconds_Behind_Master 从库延迟主库同步的时间单位秒

SQL_Delay  设置从库服务器相较于主库服务器的延迟同步时间

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL主从同步是一种数据备份和复制机制。它允许从一个主要的MySQL服务器复制一个或多个数据库到一个或多个备用服务器,称为“从MySQL服务器”,以便在主MySQL服务器出现故障时保护数据。主从复制需要在主服务器上配置二进制日志文件,并在从服务器上启用复制进程以读取和重演这些日志文件。 MySQL主从同步的原理是主服务器上的日志文件记录插入,更新或删除操作,从服务器通过连接到主服务器并请求这些日志文件,并将这些操作重新应用到从服务器上的数据库。主从同步有两种复制方式:基于语句的复制和基于行的复制。基于语句的复制是通过将主服务器上的SQL语句记录到二进制日志文件中来实现的。对于每个在主数据库上执行的SQL语句,从数据库执行相同的语句。这导致所有从服务的数据与主数据库中的数据具有相同的逻辑内容,但存储可能会不同。 而基于行的复制则是记录被更改的行的数据,而不是SQL语句。这种方法在保证数据一致性和精确性时减少了存储空间和网络带宽。 主从同步还存在一些问题,如网络延迟和主服务器的负载等问题。为了解决这些问题,可以使用多个从服务器来分担主服务器的负载并提高读取性能。此外,可采用双层主从同步,其中从服务器是另一组更高级别的主服务器的从服务器,这有助于避免从服务器成为数据孤岛。 总之,MySQL主从同步提供了一种强大和可靠的备份和故障保护机制,无论是对于小型企业还是大型组织都非常有用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪明亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值