扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
简介:
吉水ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一个 Slave上。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。
要实现 MySQL 的 主从同步 ,首先必须打开 Master 端的BinaryLog(mysql-bin)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。打开 MySQL 的 Binary Log 可以通过在启动 MySQL Server 的过程中使用 “—log-bin” 参数选项,或者在 my.cnf 配置文件中的 mysqld 参数组([mysqld]标识后的参数部分)增加 “log-bin” 参数项。
原理:
(1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。
下图描述了复制的过程:
具体配置过程:
用vi /etc/my.cnf打开文件,对文件进行修改,在[mysqld]下面进行添加修改:
server-id = 1 # 这是数据库ID,此ID是唯一的,主库默认为1,其他从库以此ID进行递增,ID值不能重复,否则会同步出错;
log-bin = mysql-bin # 二进制日志文件,此项为必填项,否则不能同步数据;
binlog_format=row # bilog设置为row模式 防止复制出错
用vi /etc/my.cnf打开文件,对文件进行修改,在[mysqld]下面进行添加修改:
server_id = 2
log-bin=mysql-bin
relay_log=mysql-relay-bin
# 不指定以下参数则全库同步
#replicate-do-table=test.test_tb 同步某张表
#binlog-do-db = testcreate 需要同步的数据库,如果需要同步多个数据库;则继续添加此项。
#binlog-ignore-db = mysql 不需要同步的数据库;
create user 'replica'@'%' identified by '123456';
grant replication slave,replication client,reload,super on *.* to 'replica'@'%' identified by '123456';
同步开启前需要保持主从要同步的数据库数据一致。
# 从库启动slave:
# (MASTER_LOG_FILE与MASTER_LOG_POS在主库运行SHOW MASTER STATUS;取得)
CHANGE MASTER TO MASTER_HOST='192.168.1.60',
MASTER_USER='replica',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=875;
start slave;
show slave status \G; --查看slave状态 确保Slave_IO_Running: Yes Slave_SQL_Running: Yes
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流