最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL实现主从复制功能

来源:动视网 责编:小采 时间:2020-11-09 08:34:05
文档

MySQL实现主从复制功能

MySQL实现主从复制功能:环境说明 centos7.3、MySQL5.7前言 MySQL安装参考之前的文章https://www.jianshu.com/p/452aa99c7476有讲解。基本概念 MySQL 内建的复制功能是构建大型,高性能应用程序的基础。将 MySQL 的 数亿分布到到多个系统上去,这种分布的机制,是通过将 My
推荐度:
导读MySQL实现主从复制功能:环境说明 centos7.3、MySQL5.7前言 MySQL安装参考之前的文章https://www.jianshu.com/p/452aa99c7476有讲解。基本概念 MySQL 内建的复制功能是构建大型,高性能应用程序的基础。将 MySQL 的 数亿分布到到多个系统上去,这种分布的机制,是通过将 My


环境说明

centos7.3、MySQL5.7

前言

MySQL安装参考之前的文章https://www.jianshu.com/p/452aa99c7476有讲解。

基本概念

MySQL 内建的复制功能是构建大型,高性能应用程序的基础。将 MySQL 的 数亿分布到到多个系统上去,这种分布的机制,是通过将 MySQL 的某一台主机的数据复制到其它主机( Slave )上,并重新执行一遍来实现的。复制过程中一个服务器充当服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置,从服务器接收从那时起发生的任何更新,然后封锁等等主服务器通知新的更新。请注意当你进行复制时,所有对复制中的表的更新必须在主服务器上进行。否则,你必须要小心,以避免用户对主服务器上的表进行的更新与对服务器上的表所进行的更新之间的冲突

主从复制实现

一、修改主(master)服务器

如果是按照我写的文章安装的MySQL,那么my.cnf配置文件在/etc/目录下。如果不在,可以通过whereis命令搜索下 在my.cnf配置文件下添加如下配置

server_id=1 #指定MySQL的id
log-bin=mysql-bin #开启二进制日志文件

二、创建复制账号

在主服务器中执行该命令(这里允许了所有的地址访问,建议设置成从服务器的地址)

GRANT REPLICATION SLAVE ON *.* to 'replication'@'%' identified by 'Abc123...';

三、修改从(slave)服务器

server_id=2
log-bin=mysql-bin
binlog_do_db=db_test#表示要同步的数据库

说明: binlog-ignore-db=test 表示不同步 test 数据库 binlog_do_db=db_test#表示要同步的数据库

四、重启MySQL

主服务器和从服务器都重启

service mysqld restart

五、查看主服务器状态

show master status

结果如下:

这里有些信息需要记录下来,在配置从服务器时候需要用到 # 六、配置从服务器(连接 Master 服务器)

change master to master_host='192.168.74.129',master_user='replication',master_password='Abc123...',master_log_file='mysql-bin.000001',master_log_pos=2041;

master_host是主服务器的ip master_port=3306(这里没有配置,默认3306) master_user:Master 服务器授权用户,也就是 Master 前面创建的那个用户 master_password:Master 服务器授权用户对应的密码 master_log_file:Master binlog 文件名 master_log_pos:Master binlog 文件中的 Postion 值 关于position值,这里做一个说明:如果主服务器已经是有很多数据了的,那就先需要备份主服务器的数据到从服务器中,然后再使用命令show master status记录需要开始同步的位置。 # 七、开始复制 在从服务器中执行

start slave

停止的命令是:stop slave; # 八、查看从服务器状态

show slave status\G;

上图圈起来的两个结果为yes表示主从复制配置成功了。 如果配置失败,可以去MySQL的日志文件中查看失败信息,也可以通过上述命令查看一个简要的错误信息:

这是我刚刚配置主从服务器时报的错,主要原因是MySQL服务器的server的UUID冲突了,原因是我的从服务器是从主服务器上复制过去的。到/var/lib/mysql/auto.cnf上修改即可。 #验证主从结果 现在的状态:

下面新建一个表,看看是否可以同步过去:#查看从服务器

可以看到已经同步过去了同步过去

更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!

文档

MySQL实现主从复制功能

MySQL实现主从复制功能:环境说明 centos7.3、MySQL5.7前言 MySQL安装参考之前的文章https://www.jianshu.com/p/452aa99c7476有讲解。基本概念 MySQL 内建的复制功能是构建大型,高性能应用程序的基础。将 MySQL 的 数亿分布到到多个系统上去,这种分布的机制,是通过将 My
推荐度:
标签: 复制 功能 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top