ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mariadb的主从同步和读写分离

2021-06-07 14:06:51  阅读:186  来源: 互联网

标签:同步 读写 数据库 master MySQL yum mariadb 主从


下载网站:www.SyncNavigator.CN  客服QQ1793040
----------------------------------------------------------


关于HKROnline SyncNavigator 注册机价格的问题

 

HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程

 

最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。

好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

SyncNavigator的基本功能:

自动同步数据/定时同步数据
无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。

完整支持 Microsoft SQL Server
完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。

支持 MySQL 4.1 以上版本
支持 MySQL 4.1 5.0 5.1 5.4 5.5。并能在不同数据库版本之间相互同步数据。

无人值守和故障自动恢复
当数据库故障或网络故障以后,无需人工干预(或操作)自动恢复同步并确保数据完全准确,可靠。

同构数据库同步/异构数据库同步
SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能轻松实现。

断点续传和增量同步
当同步完成(或中断)后,再次同步时能继续上一次的位置增量同步,避免每次都需要从头开始的问题。

mariadb的主从同步和读写分离

前言

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。前提两台服务器,今天就要用它来搭建多服务器的主从同步和读写分离,

两台服务的环境是:
192.168.47.128 centos7 mariadb10.3
192.168.47.129 centos6.5 mariadb10.3
下面开始搭建:

mariadb安装

1、centos7下面的安装我以前有很多教程,暂时略过。所以说一下centos6.5的

添加yum源,并安装

vim /etc/yum.repos.d/Mariadb.repo [mariadb] name = MariaDB baseurl = http://mirrors.aliyun.com/mariadb/yum/10.3/centos6-amd64/ gpgkey =  http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck = 0 yum -y install MariaDB-server MariaDB-client
Q1:
#You could try using –skip-broken to work around the problem
#You could try running: rpm -Va –nofiles –nodigest
办法:

在本地源的配置文件,配置

gpgcheck = 0 

再试试更新源

rpm -Va --nofiles --nodigest yum clean all yum repolist all 

2、正常运行

service mysql start
chkconfig mysqld on  # 1、关闭和禁用防火墙 service iptables stop chkconfig iptables off 

主库配置

3、主数据库的基础配置

vim /etc/my.cnf.d/server.cnf [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake server-id=1   #主数据的ID log-bin=master-bin    #日志路径,作用是从数据库是根据这个日志来复制主数据库的数据 

4、主数据库的用户配置

use mysql;
grant replication slave on *.* to slaveuser@'192.168.47.129' identified by 'slaveuser'; flush privileges;

5、重启一下主数据库

systemctl restart mariadb.service 

从库配置

6、从数据库为只读状态

vim /etc/my.cnf.d/server.cnf [mysqld] server-id=2   #这个id必须不能和主数据库相同 read-only=on  #设置该数据库是只读状态 relay-log=relay-bin  #日志 

7、从数据库添加用户

grant usage on *.* to 'slaveuser'@'%' identified by '123456' with grant option; grant all privileges on *.* to 'slaveuser'@'%' identified by '123456'; # grant select,delete,update,create,drop on *.* to slaveuser@"%" identified by "1234"; 或者这句 flush privileges;

重启一下服务

service mysql restart

8、在主库mariadb里查询master状态

show master status;

mariadb的主从同步和读写分离

 

9、进入从服务器的数据库:master_host需改为自己的主服务器地址

change master to master_host='192.168.47.128',master_user='root',master_password='123456',master_log_file='master-bin.000003',master_log_pos=329;

10、启动slave同步(在数据库中)

START SLAVE; show slave status\G #查看slave同步的状态 

这两项属性全是yes就说明我们设置成功了,快去数据库里面测试一下我们配置的内容吧。

mariadb的主从同步和读写分离

缺点:本数据同步方案还存在一定的弊端,当短时间、数据量集中、数据量变大的时候,还会存在数据同步延迟的问题,所以我们应该合理使用数据同步,当然后期我们会更新多进程数据同步方案来解决此问题。

意义:当我们面临百万、千万、亿级别的并发量的时候,我们的项目肯定不会仅仅在一台服务器,我们需要多台服务器,多台服务器的数据同步更新就显得尤为重要了。

标签:同步,读写,数据库,master,MySQL,yum,mariadb,主从
来源: https://blog.51cto.com/u_14989677/2875617

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有