前言
最近在做项目高可用时,需要使用数据同步。由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用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;出现结果如下
(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则表示主从同步成功。
接下来,大家就可以尝试向主数据库中插入一条数据,看是够从数据库中会自动增加该条数据,是不是有点小激动呢?赶紧测试下吧。
PS:若出现无法同步问题?
(1)请查看上图中Master_Log_File属性、Read_Master_Log_Pos属性与主节点查询结果是否一致。
(2)可能是从数据库连接主数据库超时,去吧连接延时改大一点吧。
(3)如果上述无法解决,请查看mysql日志排查原因。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。
本文向大家介绍Linux下MySQL数据库的主从同步复制配置,包括了Linux下MySQL数据库的主从同步复制配置的使用技巧和注意事项,需要的朋友参考一下 Linux下MySQL数据库的主从同步配置的好处是可以把这个方式当做是一个备份的方法,用来实现读写分离,缓解一个数据库的压力。让运行海量数据的时候无论是从速度还是效率上都大大提高,Mysql的主从复制至少是需要两个Mysql的服务,当然Mysq
本文向大家介绍详解CentOS7下安装Mysql和配置mysql,包括了详解CentOS7下安装Mysql和配置mysql的使用技巧和注意事项,需要的朋友参考一下 终于在centos下安装完了MySQL,使用的是yum在线安装方式。没有用源码安装,因为在线安装省时省力。 在上一台机器中,不知道什么原因使用yum在线安装速度很慢,无法下载,于是重做了系统安装,至于什么原因导致的网速慢暂时还未解决,以
本文向大家介绍CentOS7下mysql 8.0.16 安装配置方法图文教程,包括了CentOS7下mysql 8.0.16 安装配置方法图文教程的使用技巧和注意事项,需要的朋友参考一下 卸载旧版本的MySQL(没有就跳过此步骤) (注:3-6步 重新安装新版本的MySQL,一定要把之前版本卸载干净,要不会出错;新的虚拟机初装MySQL,仅进行1-2步即可) 1.查看旧版本MySQL 2.逐个删除
本文向大家介绍VMware下Centos7桥接方式网络配置步骤详解,包括了VMware下Centos7桥接方式网络配置步骤详解的使用技巧和注意事项,需要的朋友参考一下 VMware虚拟机下Centos7 桥接方式网络配置完整步骤,供大家参考,具体内容如下 一、打开虚拟机的设置页面,设置虚拟机桥接模式如图:选择桥接模式(复制物理网络连接可选) 二、桥接模式配置VMware虚拟机网络 1. 查看宿主机
本文向大家介绍CentOS7下 Apache的安装配置方法,包括了CentOS7下 Apache的安装配置方法的使用技巧和注意事项,需要的朋友参考一下 前些天安装了Nginx,为了好玩我就又安装Apache,Apache的安装还算顺利。在此做一下学习记录和经验分享。 一、安装httpd 1、先查看一下系统有没有已经安装了httpd的,如果啥都没查到,那就是没安装呗。如果有#rpm -e 查到的
本文向大家介绍Mysql主从数据库(Master/Slave)同步配置与常见错误,包括了Mysql主从数据库(Master/Slave)同步配置与常见错误的使用技巧和注意事项,需要的朋友参考一下 随着访问量的增加,对于一些比较耗时的数据库读取操作,一般采用将写入与读取操作分开来缓解数据库的压力,数据库引擎一般采用Master/Slave架构。实现mysql服务器的主从配置,可以实现读写分离,另外在