mysql主从配置

MySQL数据同步【双主热备】

匿名 (未验证) 提交于 2019-12-02 22:02:20
应用环境 数据库同步方式 创建数据库表 配置数据库my.ini文件 my.ini文件简单释义 配置双向同步 配置项释义 设置主机并启动从服务器线程 show slave status 测试同步 解决自增长列的问题 模拟测试自增长列解决方案 故障排除 MySQL版本间复制兼容性问题 ERROR 1201 (HY000) 应用环境 数据库服务器 虚拟机 OS: Windows Server 2003 1.数据库服务器242   IP:192.168.206.242 2.数据库服务器243   IP:192.168.206.243 MySQL版本 版本号: 5.5.2 查询语句: SELECT VERSION(); 数据库同步方式   两台服务器互为主从, 双向同步数据    创建数据库表 为试验双向同步,简单编写了一个创建数据库和一个用户表的语句。 并分别在服务器242和243上的MySQL中执行语句。 配置数据库my.ini文件 在 242 和 243 服务器 MySQL 的安装目录下找到 my.ini 文件 1.my.ini文件各配置项简单释义 PS: 上面的折叠代码试验在chrome浏览器下需要手动刷一下页面才能展开 2.配置双向同步 242 服务器上配置: 在 [mysqld] 这个 Section 中加入如下 key/value 对: #-------------------

MySQL高可用架构之MHA

匿名 (未验证) 提交于 2019-12-02 22:02:20
一、关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover 功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过与其它从节点获取额外信息来避免一致性方面的问题。MHA还提供了master节点的在线切换功能,即按需切换master/slave节点。 相较于其它HA软件,MHA的目的在于维持MySQL Replication中Master库的高可用性,其最大特点是可以修复多个Slave之间的差异日志,最终使所有Slave保持数据一致,然后从中选择一个充当新的Master,并将其它Slave指向它。 二、MHA角色部署 MHA 服务有两种角色,MHA Manager(管理节点)和MHA Node(数据节点): MHA Manager:通常单独部署在一台独立的机器上或者直接部署在其中一台slave上(不建议后者),管理多个master/slave集群,每个master/slave集群称作一个application;其作用有二: (1)master自动切换及故障转移命令运行 (2)其他的帮助脚本运行:手动切换master;master/slave状态检测 MHA node:运行在每台MySQL服务器上

mysql数据库主从同步syncnavigator

匿名 (未验证) 提交于 2019-12-02 22:02:20
环境: 1.导出主服务数据,将主备初始数据同步 master: slave: 2.配置master和slave上的mysql数据库 master: slave: 简单说明一下参数配置,保证主备server-id唯一。在master上需要开启mysql的binlog,log_bin=master_bin,指定binlog文件的名称。 master: 4.获取master的binlog位置 master: 5.设置备端数据库 6.查看备端状态 如果:Slave_IO_Running: Yes,Slave_SQL_Running: Yes则为配置成功,配置错误重复上面操作即可。如果解决不了可通过查看mysql日志分析处理。 7.测试 。其实测试没啥好写的,配置成功之后直接连到主从数据库,在master上改变表、字段、数据,slave会同步变化。 写在最后: 当时想的试一试能不能用mysql自带的功能做数据库灾备,后来发现mysql数据库主从同步会有一些问题。第一个不好脚本化的东西是在同步之前需保证两边的数据库初始信息一样,因为备端配置的mysql-binlog位置只是当前主数据库信息的位置,在该位置之前的数据只能通过人工导入。第二个就是mysql主从同步时,只能进行数据库的增量同步,不能进行全量同步;还有就是如果备端出现脏数据,多了一条数据,当主那边新增一条主键相同的数据,则同步失败

MySQL数据库之主从同步syncnavigator

匿名 (未验证) 提交于 2019-12-02 22:02:20
一、概述: MYSQL主从同步架构是目前使用最多的数据库架构之一,主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。 二、拓扑图说明: 如上图所示,192.168.4.10(主机名为"10.mysql")作为MySQL主数据库,192.168.4.20(主机名为"20.mysql")作为MySQL从数据库,负责从主数据库同步数据。 三、主从同步配置说明: 1、Master配置 2、Slave配置: 3、验证: 三、原理说明:

MySQL数据库双向同步

匿名 (未验证) 提交于 2019-12-02 22:02:20
1. 主从关系的同步 master端 192.168.5.10 ? slave端? 192.168.5.4 ? 修改master端的/etc/my.cnf文件 [mysqld]: log-bin server-id=1 进入mysql 创建一个要同步的数据库abc ?create database abc; 创建一个用来同步的用户,指定只能在192.168.5.4登录 grant file on *.* to bak@'192.168.5.4 identified by '123456'; grant all privileges on backup.* to bak@’192.168.5.4’ identified by ‘123456’; flush privileges; 重启mysql 修改slave端的/etc/my.cnf文件 [mysqld]: server_id=2 log-bin=mysql-bin master-host=192.168.5.10 master-user=bak master-password='123456' (如果为空也要打上两个单引号) master-port=3306 (根据具体设置的端口号填) master-connect-retry=10 连接重试次数 replicate-do-db=abc 要接收的数据库名,如果有多个数据库

mysql主从同步-双向同步2

匿名 (未验证) 提交于 2019-12-02 22:02:20
数据库同步复制功能的设置都是在mysql的配置文件(liunx 下是为/etc/my.cnf)中体现的。主要工作原理为slave端记录并且执行master端的操作日志。? 创建数据库:create database repl;? 1、设置同步master? 编辑配置文件 /etc/my.cnf 确保有如下行? 创建一个mysql的账号为同步专用? 重启master mysql? 查看master状态? 查看进程:? 3、设置同步slave? 编辑配置文件? 然后重启slave mysql? 在slave机中进入mysql? 查看slave状态? 查看进程:? 我在第一次配的时候出现错误,查看日志为? mysql的主从同步(数据库已经运行一段时间)? 1、设置同步master #同上? 2、创建一个mysql账号为同步账号? 3、给主服务器所有表加锁,禁止继续写入数据? 4、打包备份主服务器数据文件? 5、主服务器表解锁? 执行以下命令,解开主服务器的读锁,主服务器可以继续更新数据:? 6、设置同步slave //同上3? 7、在从服务器上恢复主备份文件? 8、在从服务器mysql命令符下实现同步? 若是查看不能正常同步时,需进行如下操作:? 如果都是yes,那代表已经在同步? 往表里面写点数据测试一下看是否同步成功。? mysql的双向同步? ?

Mysql主从同步时Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的情况故障排除

匿名 (未验证) 提交于 2019-12-02 22:02:20
前几天在测试主从服务器Mysql同步时遇到了从数据库显示 Slave_IO_Running:Connecting; Slave_SQL_Running:Yes 的问题。 下面列举几种可能的错误原因: 1.网络不通 2.账户密码错误 3.防火墙 4.mysql配置文件问题 5.连接服务器时语法 6.主服务器mysql权限 我的服务器ip: 主服务器ubuntu:192.168.16.105 从服务器ubuntu:192.168.16.115 逐项排除: 1 :因为从服务器是虚拟机,网卡选择了 桥接模式 ,ip地址确认在同一网段中,且互ping能通,排除网络问题。 2 :主服务器创建了账号slave密码slave的权限账号,在主服务器可以登录slave帐号,排除帐号密码问题。 3 :终端输入 关闭防火墙, 查看防火墙,确认已关闭,排除防火墙原因。(打开防火墙) 4:配置文件 (1)查看主服务器配置文件:,看第83行:确认log_bin和server-id已经取消注释,设置无错误。 (2)查看从服务器: 此处server-id只需要与主服务器不同即可,我设置为ip的末尾数字115。确认配置无错误,排除。 5.语法: (1)查看主服务器二进制日志信息 (2)设置从服务器链接到master主服务器,确认语句无错误,排除。 注: master_host:主服务器Ubuntu的ip地址

MySQL主主数据同步

匿名 (未验证) 提交于 2019-12-02 22:02:20
MySQL主主同步和主从同步的原理一样,只是双方都是主从角色。 操作系统版本:CentOS7 64位 MySQL版本:mysql5.6.33 节点1IP:192.168.1.205 主机名:edu-mysql-01 节点2IP:192.168.1.206 主机名:edu-mysql-02 MySQL 主从复制官方文档:http://dev.mysql.com/doc/refman/5.6/en/replication.html 注意: 1> 主从服务器操作系统版本和位数要保持一致 2> Master和Slave数据库的版本要一致 3> Master和Slave数据库中的数据要一致 配置之前,安装好MySQL(注意本文演示的是5.6版本,需要修改文章中的yum源为5.6) 1> 防火墙 添加mysql通信端口(默认为3306) 或关闭防火墙 2> 关闭selinux 将SELINUX的值修改为disabled 在[mysqld]中增加以下配置项: 由于此时从节点还没有启动,Slave_IO_State的值为空,Slave_IO_Running和Slave_SQL_Running线程为No表示也没有运行。 注意:要在节点2上创建同步帐户后再启动,否则会报连不上master错误 在[mysqld]中增加以下配置项: 这时可以启动节点1(205)的slave服务 详细过程如下图所示:

mycat+ mysql集群 分库分表

匿名 (未验证) 提交于 2019-12-02 22:02:20
mycat介绍 Mycat数据库分库分表中间件 国内最活跃的、性能最好的开源数据库中间件! Mycat关键特性 关键特性 支持SQL92标准 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster 基于Nio实现,有效管理线程,解决高并发问题。 支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。 支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。 支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。 支持多租户方案。 支持分布式事务(弱xa)。 支持XA分布式事务(1.6.5)。 支持全局序列号,解决分布式下的主键生成问题。 分片规则丰富,插件化开发,易于扩展。 强大的web,命令行监控。 支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。 支持密码加密 支持服务降级 支持IP白名单 支持SQL黑名单

mysql主从同步延迟优化大全

匿名 (未验证) 提交于 2019-12-02 22:02:20
接下来我们在主库循环插入数据实验,然后看看进程状态,和同步情况 创建procedure delimiter // create procedure fafa() begin declare num int; set num=1; while num < 8000000 do insert into test(jj,kk) values(num,'fafa'); set num=num+1; end while; end // 之后我们要调用这个procedure,才会插入数据 call fafa(); ? ?// 由于我没有将delimiter’改回来,所以输入‘;’后并没有执行,还需要// 注意这里有一个现象,出现了主从很大的延时,这里我们进行逐个排查。总结排查方法 情况1: 只读实例规格配置过小导致延迟 这类延迟场景的出现往往是主节点拥有较大规格的配置,而只读节点却购买了一个最小规格的配置(例如2G内存/200 IOPS)。 ? ? ?原理解析:只读节点的数据为了和主节点保持同步,采用了MySQL binlog复制技术,由一个IO线程和一个SQL线程来完成,IO线程负责将主库的binlog拉取到只读节点,SQL线程负责消费这些binlog日志,这两个线程会消耗掉只读节点的IO资源,所以当只读节点IOPS配置不够的时候,则会导致只读节点的数据出现延迟 解决办法: ? ? ?