DDR爱好者之家 Design By 杰米

前言

最近在做项目高可用时,需要使用数据同步。由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步)。

可能没有接触过Mysql数据同步时,可能会觉得数据同步很难,但你按照如下操作一遍之后,会发现原来同步如此简单,毕竟我们只需要会配置,会排查问题,底层具体实现Mysql团队早帮忙实现了。

废话不多说,直入话题:

(1)首先,保证有两台设备(主、从),分别在两台设备上安装Mysql数据库。安装完成之后,

使用mysql -u[数据库用户名] -p[用户密码],若能够登陆mysql则表示安装成功。

(2)编辑mysql配置文件,路径一般为/etc/mysql/mysql.conf.d/mysqld.cnf(用户在安装Mysql时指定的目录,

如:/etc/my.conf等)。分别按要求在主、从mysql中的[mysqld]模块下添加如下内容:

   [mysqld]

  default-storage-engine=innodb

  innodb_file_per_table=1

  collation-server=uft8_general_ci

  init-connect='SET NAMES uft8'

  bind-address=0.0.0.0

  log_bin=mysql-bin

  relay_log=mysql-relay-bin

  expire_logs_days=100

  skip-slave-start=1

  binlog_do_db=[需要同步的数据库名称]

  binlog-ignore-db=mysql,sys,information_schema,performance_schema

  server-id=[主填写1,从填写2]

  auto-increment-increment=2

  auto-increment-offset=1

  open_files_limit=65535

  mac_connections=1000

  slave-skip-errors=all

(3)shell连接主、从服务器,mysql -u[数据库用户名] -p[用户密码],分别登录到主、从节点mysql,创建同步用户repl,执行如下命令:

  grant all privileges on *.* to 'repl'@'%' identified by 'repl' with grant option;

然后exit退出Mysql操作页,重新启动Mysql服务,命令如下:

  systemctl restart mysql.service

然后进入主节点Mysql,查看Mysql的File列和Positon列。执行命令:show master status;出现结果如下

Centos7系统下Mysql主从同步配置方案 

(4)登录到从服务器,mysql -u[数据库用户名] -p[用户密码]进入Mysql,执行:

  stop slave;

  reset slave;

  change master to master_host='[主节点IP]',master_user='repl',master_password='repl',master_log_file='[mysql-bin.000001,参考(3)中的File列]',master_log_pos=[245,参考(3)中的Postion列];

  exit;

执行systemctl restart mysql.service重启Mysql服务。

(5)启动从服务器slave库,mysql -u[数据库用户名] -p[用户密码]进入从节点Mysql,执行如下命令:

  start slave;

执行:show slave status\G;查看备份服务状态。如果以下两个状态为Yes则表示主从同步成功。

Centos7系统下Mysql主从同步配置方案

接下来,大家就可以尝试向主数据库中插入一条数据,看是够从数据库中会自动增加该条数据,是不是有点小激动呢?赶紧测试下吧。

PS:若出现无法同步问题?

(1)请查看上图中Master_Log_File属性、Read_Master_Log_Pos属性与主节点查询结果是否一致。

(2)可能是从数据库连接主数据库超时,去吧连接延时改大一点吧。

(3)如果上述无法解决,请查看mysql日志排查原因。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。