标签:同步 服务 log 添加 Mysql 服务器 日志 主从
Mysql 主从配置
前景提要
由于现公司设备服务器每天产生14万,接近15万条数据,在运维服务器端同时也需要处理设备服务器的数据,所以部署了主从两台mysql服务,实现读写分离。大致架构如下图
复制原理
Mysql中有一种叫做bin(二进制)的日志,这个日志记录了主Mysql服务器执行的所有Sql语句。
复制过程
1、主服务必须启用二进制日志,记录修改数据的事件
2、从服务器开启一个线程,通过一个线程,请求主服务的二进制日志文件中的事件
3、主服务器启动一个线程,检查自己二进制日志中的事件,跟对方请求的位置对比,如果不带位置参数请求,则主节点就会从第一个日志文件中的第一个事件一个个发给从服务器
4、从服务器收到主服务器发送过来的数据放到中继日志(Relay log)文件中,并记录该请求到主服务器的具体哪个日志文件的哪个位置
5、从节点启动一个,把Relay log中的事件读取出来 ,并在本地执行一次
配置演示
主服务:
1、启用二进制日志
2、为当前节点设置一个全局唯一的server_id
3、创建有复制权限的用户账号 REPLIACTION SLAVE ,REPLIATION CLIENT。
从服务:
1、启用中继日志
2、为当前节点设置一个全局唯一的server_id
3、使用有权限的用户账号连接到主服务,并启动复制线程
环境配置
主Mysql:172.18.0.2
从Mysql: 172.18.0.3
Mysql版本:5.7.28
运行环境:docker
1、编辑主Mysq配置文件
2、添加配置
添加:log-in=mysql-bin
添加:server-id=5
添加:replicate-do-db=main_db
添加:innodb_file_per_table=ON
添加:skip_name_resolve=ON
3、启动服务,查看主Mysql日志状态
4、查看主Mysql服务状态
5、创建备份权限的用户
6、刷新权限
7、编辑从服务
修改myl.cnf文件
8、修改配置
添加:relay-log=relay-log
添加:relay-log-index=relay-log.index
添加:server-id=23
添加:innodb_file_per_table=ON
添加:skip_name_resolve=ON
添加:replicate-do-db=main_db
9、查看从Mysql服务日志信息
10、在从Mysql服务配置访问主节点的参数信息
添加主Mysql 访问主Mysql服务的用户名和密码,主Mysql的二进制信息
查看主Mysql服务当前日志信息:
11、启动同步服务
12、查看同步服务
13、Mysql同步服务在这里配置完成。
标签:同步,服务,log,添加,Mysql,服务器,日志,主从 来源: https://www.cnblogs.com/qinshengfei/p/12072364.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。