主从基本概念

mysql主从同步定义

主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。

使用主从同步的好处:

通过增加从服务器来提高数据库的性能,在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的数量,从而调整整个数据库的性能。

提高数据安全-因为数据已复制到从服务器,从服务器可以终止复制进程,所以,可以在从服务器上备份而不破坏主服务器相应数据

在主服务器上生成实时数据,而在从服务器上分析这些数据,从而提高主服务器的性能

主从同步机制

Mysql服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。

在使用二进制日志时,主服务器的所有操作都会被记录下来,然后从服务器会接收到该日志的一个副本。从服务器可以指定执行该日志中的哪一类事件(譬如只插入数据或者只更新数据),默认会执行日志中的所有语句。

每一个从服务器会记录关于二进制日志的信息:文件名和已经处理过的语句,这样意味着不同的从服务器可以分别执行同一个二进制日志的不同部分,并且从服务器可以随时连接或者中断和服务器的连接。

主服务器和每一个从服务器都必须配置一个唯一的ID号(在my.cnf文件的[mysqld]模块下有一个server-id配置项),另外,每一个从服务器还需要通过CHANGE MASTER TO语句来配置它要连接的主服务器的ip地址,日志文件名称和该日志里面的位置(这些信息存储在主服务器的数据库里)

配置主从的前提条件

有很多种配置主从同步的方法,可以总结为如下的步骤:

1.在主服务器上,必须开启二进制日志机制和配置一个独立的ID

2.在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号

3.在开始复制进程前,在主服务器上记录二进制文件的位置信息

4.如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用mysqldump导出数据库,或者直接复制数据文件)

5.配置从服务器要连接的主服务器的IP地址和登陆授权,二进制日志文件名和位置

开始配置主从

前提先把MYSQL都安装好

我这有两台ECS

主:192.168.1.1

从:192.168.1.2

1.修改主my.cnf,增加以下参数

log-bin=mysql-bin #slave会基于此log-bin来做replication

server-id=1#master的标示

innodb_flush_log_at_trx_commit=1sync_binlog=1

2.在主上授权个同步账号

grant replication slave on *.* to 'slave'@'%' identified by 'Huawei12#';

3.在主数据库上查看服务器信息

show master status;

+------------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000002 | 1449 | | | |

+------------------+----------+--------------+------------------+-------------------+

4.修改从my.cnf,增加以下参数

server-id = 2relay-log = slave-relay-bin

relay-log-index = slave-relay-bin.index

5.在从数据库执行同步语句

CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='slave',MASTER_PASSWORD='Huawei12#', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=1449;

Query OK, 0 rows affected, 2 warnings (0.05 sec)

6.启动Slave数据同步

start slave;

7.查看同步状态

*************************** 1. row ***************************Slave_IO_State: Waitingfor master to send eventMaster_Host:192.168.1.1Master_User: slave

Master_Port:3306Connect_Retry:60Master_Log_File: mysql-bin.000002Read_Master_Log_Pos:1449Relay_Log_File: slave-relay-bin.000002Relay_Log_Pos:935Relay_Master_Log_File: mysql-bin.000002Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno:0Last_Error:

Skip_Counter:0Exec_Master_Log_Pos:1449Relay_Log_Space:1142Until_Condition: None

Until_Log_File:

Until_Log_Pos:0Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master:0Master_SSL_Verify_Server_Cert: No

Last_IO_Errno:0Last_IO_Error:

Last_SQL_Errno:0Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id:1Master_UUID: 9434af48-d8de-11e7-9288-fa163e5ea0f0

Master_Info_File:/opt/data/mysql/master.info

SQL_Delay:0SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waitingformore updates

Master_Retry_Count:86400Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position:0Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:1 row in set (0.00 sec)

View Code

注:如同步状态有错误,根据具体的错误来判定,一般用于主键冲突或者更新失败错误,进行手动跳过。

stop slave ;set global sql_slave_skip_counter=1start slave;

centos mysql5.7主从同步配置_centos7搭建mysql5.7主从同步相关推荐

  1. mysql5.7.18压缩包下载_Centos7搭建Mysql5.7数据库

    一直以来,Linux我都比较喜欢用Ubuntu乌班图,centos还真不习惯,主要还是太菜,哈哈,在CentOS7中默认安装有MariaDB,这个是MySQL的分支,MySQL被移除了,yum源中默认 ...

  2. MySQL5.7.30主从复制集群搭建及互为主从集群搭建(附问题处理方案)

    使用两台centos7的虚拟机 192.168.8.133 192.168.8.134 首先在两台上面分别搭建MySQL5.7.30的单节点数据库,详细步骤请看:centos7 MySQL5.7.30 ...

  3. centos 7 mysql界面管理器_centos7安装mysql5.7.24,并使用system管理mysql

    1.创建安装目录 mkdir /mysql 2.进入安装目录 cd /data 3.下载5.7.24的tar包 wget https://downloads.mysql.com/archives/ge ...

  4. linux mysql5.6 单向 同步 配置 2014_MySql 5.6 数据单向同步详细步骤(亲测成功同步)...

    主服务器Mysql版本一定要低于或者等于备份服务器Mysql版本 此教程是在window 7系统上进行的,MySql版本为:5.6 一.在主.备份服务器上各添加同步账号,执行以下命令: mysql&g ...

  5. CentOS 5.4 rsync+inotify配置触发式(实时)文件远程同步

    点评:Inotify 是文件系统事件监控机制,作为 dnotify 的有效替代.dnotify 是较早内核支持的文件监控机制.Inotify 是一种强大的.细粒度的.异步的机制,它满足各种各样的文件监 ...

  6. mysql5.7 新建远程用户_Centos7中 mysql5.7 用户 创建 、授权、远程登录

    1.添加用户 跟以往版本不同,MySQL5.7 mysql.user表没有password字段,这个字段改成了 authentication_string: 这里我们使用命令进行创建用户: CREAT ...

  7. mysql主从库配置方法

    2019独角兽企业重金招聘Python工程师标准>>> 一.mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务 ...

  8. SQL Server主从数据库配置过程

    条件 源端的表,需要添加主键: 检查主库的所有者必须为sa: 检查主库的排序规则,备库要和主库的排序规则要一致: 建议安装与源端一致的操作系统和数据库版本或相近版本: 启动sqlserver 代理服务 ...

  9. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步) 1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: # ...

最新文章

  1. 137% YOLOv3加速、10倍搜索性能提升!这样的惊喜,最新版PaddleSlim有10个
  2. .NET泛型解析(上)
  3. 如何用VC++新建一个项目
  4. js利用localStorage和sessionStorage完成记住我功能
  5. 【JavaScript学习】JavaScript对象创建
  6. c++ abort 函数_C ++中带有示例的abort()函数
  7. 一家踏实做产品,在疫情下销售增速仍达35%的公司,年报长啥样?
  8. 单片机的模拟智能灌溉系统
  9. 刷排名软件使用中需要用到的seo基础知识
  10. Windows 安装kafka-python库
  11. 企业为什么要做ISO14001环境管理体系认证?
  12. HTML5期末大作业:影视视频网站设计——爱影评在线电影(10页面) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  13. 全球与中国高亮度LED灯市场现状及未来发展趋势
  14. app支付宝接入流程图_支付宝资金预授权开通免押租赁系统,芝麻信用免押租赁app/小程序...
  15. 肽核酸PNA-多肽suc-Ala-Ala-Pro-Aaa-pNa|Suc-Ala3-pNA|Pyr-Phe-Leu-pNA
  16. Java毕业设计——>SpringBoot+VUE实现的前后端分离小米手机商城系统
  17. WPF Blend 自定义控件
  18. 竞价域名是什么意思?
  19. 系统上公有云安全需要考虑什么?
  20. 微信PC版重磅更新!2个困扰多年的大麻烦,这次终于解决了

热门文章

  1. linux mysql 类型_常用的MySQL数据类型
  2. Linux下udp程序怎么运行,Linux下UDP的连接程序示例(阻塞、非阻塞)
  3. python tcp服务器 多线程_Python中的多线程TCP服务器
  4. h5 右下角浮动按钮_【js】右下角浮动窗口
  5. c语言用一维数组求字符串,c语言一维数组练习题.doc
  6. python在运行调试程序时常出现的错误有_Python 如何调试程序崩溃错误
  7. Java类和对象基础题_java类和对象基础题2
  8. arraylist切割_JAVA List和Map切割工具详解
  9. 仓鼠体重年龄对照表_各年龄段血糖,血压,血脂,尿酸对照表,内容太值!
  10. html与css项目,项目六HTML与CSS基础.doc