前言

最近在做项目高可用时,需要使用数据同步。由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用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
  grant all privileges on *.* to 'repl'@'%' identified by 'repl' with grant option;
  systemctl restart mysql.service

(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;

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

  start slave;

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

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

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

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

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

总结

更多相关文章

  1. Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
  2. [RK3399][Android7.1.1] WifiAp:开机默认打开wifi热点
  3. Android(安卓)Studio bug - attribute 'android:versionCode' no
  4. Android获取设备唯一标识完美解决方案
  5. Android(安卓)启动Tomcat服务报错,端口占用解决方案
  6. 【学习Android遇到的错误】关于Unable to instantiate activity
  7. Android(安卓)Spinner不显示下拉箭头解决方案
  8. 常用的android开发网站
  9. android sqlist中游标下标越界问题解决方案

随机推荐

  1. 智能电视使用什么操作系统?
  2. Android(安卓)Looper和Handler分析
  3. Android应用层源码阅读笔记--Application
  4. 帮你分析android与java的关系
  5. 在Android中建立Android project没有R.ja
  6. Android主题更换换肤
  7. android下的定时器在关闭屏幕后会自己停
  8. Android(安卓)USB状态监控(解决scheme="f
  9. Android系统启动过程分析
  10. android打包apk流程