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%';

  

 

posted @   Carl丶Zz  阅读(297)  评论(0编辑  收藏  举报
编辑推荐:
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
阅读排行:
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一文搞懂MCP协议与Function Call的区别
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
点击右上角即可分享
微信分享提示