MySQL实现主从复制功能
环境注明
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;
可以看到已经同步已往了同步已往
更多MySQL相干技术文章,请拜访MySQL教程栏目进行学习!
以上就是MySQL实现主从复制功能的细致内容,更多请关注 百分百源码网 其它相干文章!