mysql可以用bin日志实现热备数据。原理是一个主节点,多个从节点,数据写只能写到主节点上,主节点开启了bin日志,从节点有一个定时的任务从主节点复制bin日志到本机,然后执行bin日志中的sql。记录下操作步骤:
1、主节点:创建一个备份的账号;
2、主节点:flush tables with read lock; 给当前数据库实例加全局读锁,防止备份数据时候数据修改;
3、备份主节点的历史数据,并同步到从节点数据库;
4、主节点:show master status; 记录当前的 File 和 Position ;
5、主节点:unlock tables; 把全局读锁去掉;
6、从节点:stop slave; 关闭复制线程任务;
7、从节点:修改主节点配置
change master to master_host='192.168.1.182', master_user='replicateuser',
master_password='xxxx', MASTER_PORT=3306, master_log_file='mysql-bin.003015',
master_log_pos=216018948;
8、从节点:start slave; 开启复制线程任务;可以用 show slave status; 查看当前同步状态,需要Slave_IO_Running 和Slave_SQL_Running都是Yes , 才表示当前主从正常。
Tip: 从节点 my.cnf 配置中 replicate-do-db 可以指定数据库作备份