MySQL5.7的复制(一补充)
来源:互联网 发布:德国公开赛 知乎 编辑:程序博客网 时间:2024/05/22 04:10
1、上次刚写完文章,发现自己手欠了一下,在备份机上slave开启的情况下,删除了一张表!结果怎样启动slave,Slave_SQL_Running总是No。
分析问题出现的原因:
当建立了主从复制以后MySQL数据库的从库中不能做cud操作也就是增删改的操作其中包括数据库、表、触发器、函数、过程等等所有的内容。
解决思路:
当出现这个问题的时候,我查询了一下主机数据库中的master的状态,发现是这样的
mysql> show master status\G;*************************** 1. row ************************** File: mysql-bin.000002 Position: 4553 Binlog_Do_DB: Binlog_Ignore_DB:Executed_Gtid_Set:1 row in set (0.00 sec)ERROR:No query specified
而原来的master的file是mysql-bin.000001,position是451。因此可以推断是slave的信息与master的已经不匹配了,所以需要从新配置slave。
先将slave停掉
mysql>stop slave;mysql>change master to master_host='192.168.1.1', ->master_user='dba', ->master_password='root', ->master_log_file='mysql-bin.000002', ->master_log_pos=4553;
2、由于主从主机的分离,所以在主机的一些DBMS工具中建表,建库时一定注意,虽然MySQL本身不区分大小写但是数据库名,表名等如果用大写的会出现这样一个问题:
在Navicat上建一个Vacant表,并增添数据,到从库上去查询,结果发现没有同步。于是查询日志发现错误说:无法找到vacant表,实际上已经有一张Vacant表了只是大小写不一致。
于是到Windows平台上做实验,发现不区分大小写表名,而到linux下却区分。
因为在不同平台的大小写敏感度是不一样的,所以得出一个结论MySQL的复制中最好统一用小写字母。
总结一下:
(1)主从复制的数据库上不能在从机备份库slave开启的情况下进行增删改的操作。如果在slave关闭的情况下进行了修改,必须在开启slave之前手动同步主从数据。
(2)linux平台区分名字(库名、表名等)的大小写,而windows平台不区分,因此建议统一用小写命名。
- MySQL5.7的复制(一补充)
- MySQL5.7的复制(一)
- MySQL5.7基于mysqldump的主从复制
- MySQL5.7 对半同步复制的改进
- mysql5.7的半同步复制
- mysql5.7主从复制---基于日志的复制
- mysql5.7主从复制
- MySQL5.7主从复制
- MYSQL5.7主从复制
- MySQL5.7主从复制
- mysql5.7多源复制
- MySql5.7配置主从复制
- mysql5.7使用gtid复制
- mysql5.7配置主从复制
- mysql5.7主从复制配置
- MySQL5.7半同步复制
- MySQL5.7并发复制演进
- mysql5.7 多源复制
- Linux常用命令
- unit4-SMTP配置
- C++学习笔记9:字符串和string类简介
- Unity 检查支持的.NET版本
- HDU
- MySQL5.7的复制(一补充)
- 把信息保存在html文件中的代码
- HDU
- 在windows下安装Python和pip
- 测试个人中心
- QT中文字符串个数问题
- Windows下的Rime輸入法與小鶴雙拼的配置
- 463. Island Perimeter
- yolo