Mysql主从热备
要进行主从热备首先给从机建立一个所有权限的账户:GRANT ALL PRIVILEGES ON *.* TO weipan_bak@'10.100.100.14' IDENTIFIED BY 'Qybak123';
在主库的配置文件my.ini增加如下配置:
server-id=200
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
log_bin_trust_function_creators=TRUE
expire-logs-days=1
max_binlog_size=600M
注意:server-id每台机器不要重复,expire-logs-days日志清理周期,max_binlog_size日志文件最大大小。
然后锁库:FLUSH TABLES WITH READ LOCK;
备份主库的所有数据下来,然后查看当前的日志位置SHOW MASTER STATUS;记录下日志的文件和位置;
然后解锁:UNLOCK TABLES;
主库的配置就完成了
从机上面的配置文件修改就简单多了:
1 2 3 | server-id=210 replicate- do -db=weipandb log_slave_updates=1 |
修改完重启mysql,把前面备份的数据库还原到从机上面,然后执行以下命令启动热备:
1 2 3 4 5 | stop slave; CHANGE MASTER TO MASTER_HOST= '10.100.100.11' ,MASTER_USER= 'weipan_bak' ,MASTER_PORT = 33066,MASTER_PASSWORD= 'Qybak123' ,master_log_file= 'mysql-bin.000002' ,master_log_pos=106; SET GLOBAL sql_slave_skip_counter =1; start slave; show slave status; |
1 | master_log_file和master_log_pos就是之前记录下来的。 |
1 | 配置完成后可以用show slave status;命令查看是否主从连接成功 |
查看这两项是否为YES,yes为正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
1 | 常用命令: |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //设置心跳时间 心跳即同步的频率 单位秒 stop slave; change master to master_heartbeat_period = 10; start slave; //网络延迟多久开始重连 set global slave_net_timeout = 25; //重连次数 CHANGE MASTER TO MASTER_RETRY_COUNT = 0; //0代表不限次数 -------------------------------- //显示编码 show variables where Variable_name like 'collation%' ; |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一文搞懂MCP协议与Function Call的区别
· 提示词工程师自白:我如何用一个技巧解放自己的生产力