binlog 文件记录日志 是一个二进制文件
主上需开启binlog 才能开始主从
relaylog 终进日志
应用场景 做一个数据的备份 1.主做读写操作 假如硬件损坏 可以立即提供服务
2. 做备份 从只提供读的访问
准备工作
主从都启动mysql
配置主
修改配置文件 /etc/my.cnf 更改之后需要重启
/data/mysql下回生产新文件
数据备份
创建新的数据库
恢复数据库
主从参考的数据库就是aming
创建用户 主从同步用的
先锁表 不进行写入
show master status 位置 filename
做数据同步
配置从
编辑配置文件
重启服务
传输文件 把主上的数据库文件
别名
创建库
恢复数据库
登录从数据库 stop slave
检查是否成功 show slave status\G 是否两个yes
状态 error 信息
在主上执行
测试主从
测试
查询操作
从 数据库查询
删除数据
从数据查询
删除表
从上查询
直接在从上删除表之后再在主上删除报错
主从断开
尝试修复
还是有错误
从新做主从 查看fielname位置
先 stop slave
在重新change master
重新查看状态
常用配置参数
在do - 定义要同步的库 多个用逗号分隔
从服务器do_table
wild_do 针对aming库。
ignore 忽略表
mysql主从配置uuid相同错误解决
配置mysql主从时,由于是拷贝的mysql目录,导致主从mysql uuid相同, Slave_IO无法启动,报错信息如下:
The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
解决办法:修改mysql data 目录下auto.cnf 文件中uuid的值,使两台mysql不同即可,修改后重启mysql服务。
原文地址:http://blog.51cto.com/13492528/2094000