MySQL主从复制bug记录
因为是第一次搭建mysql主从复制所以也是困难重重啊一不小心就会遇到莫名其妙的问题,一连串的元素遇到了三个问题啊。
问题一. /usr/local/mysql/bin/mysqld (mysqld 5.7.34-log) starting as process 2038 …
/usr/local/mysql/bin/mysqld (mysqld 5.7.34-log)starting as process 2038 ...
mysqld: File '/var/lib/mysql/mysqlbin.index'
not found (Errcode: 2 - No such file or directory)
这个是在刚刚开始在mysql配置文件中配置出错了,配置如下,因为是和视频教程上面的一样配置,我就直接复制过来了。
#mysql binlog 日志的存储路径和文件名
log-bin=/var/lib/mysql/mysqlbin
然后再启动mysql服务的时候就启动不起来,于是我去查看mysql错误日志时发现了报了以上问题。于是我就在该路径下创建了该文件,并且把权限也修改了,但是依旧没有解决问题。于是我就去csdn上找了另外一个主从复制搭建的文章,
MySQL主从复制读写分离,看这篇就够了!
我按照他的步骤其实也就是把
log-bin=/var/lib/mysql/mysqlbin
//修改为
log-bin=mysql-bin
最后成功的启动了MySQL服务。然后我就按照文章上面的操作一通配置后,然后启动从机,结果发现
error connecting to master 'root@192.168.114.132:3306' - retry-time: 60 retries: 1
问题二 .error connecting to master ‘root@192.168.114.132:3306’ - retry-time: 60 retries: 1
查看了错误日志后报了以下错误,发现这并不是什么有用信息,然后就又是接着去百度上一通乱找乱试,结果都不行,突然想起来是不是可能因为防火墙没有关闭,因为在昨天搭建MyCat的时候也是防火墙没有关闭导致一直连不上,然后我去看了看结果一看还真是防火墙,然后把防火墙关闭了,问题就解决啦。
#查看防火墙状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld.service
防火墙坑了我两次了。
本以为问题总算全部解决了于是又遇到了第三个问题。
问题三.Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’
原因是:我把
CHANGE MASTER TO
MASTER_HOST='192.168.114.132',
MASTER_USER='root',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=154,
master_port=3306;
写到了主机上这肯定是不行的。
于是报了以下错误,我才发现复制错了位置。
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;
these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense;please check the manual before using it).
首先遇到这个是因为binlog位置索引处的问题,不要reset slave;
reset slave会将主从同步的文件以及位置恢复到初始状态,一开始没有数据还好,有数据的话,相当于重新开始同步,可能会出现一些问题;
一般做主从同步,都是要求以后的数据实现主从同步,而对于旧的数据完全可以使用数据库同步工具先将数据库同步,完了再进行主从同步;
好了遇到上面的问题,正确做法是:
打开主服务器,进入mysql
执行flush logs;//这时主服务器会重新创建一个binlog文件;
在主服务上执行show master status \G;显示如下:
来到从服务器的mysql;
stop slave;
change master to master_log_file=‘mysql-bin.000003’,master_log_pos=154;//这里的file和pos都是上面主服务器master显示的。
start slave;//这时候就应可以了
show slave status \G;//结果如下:
MySQL主从复制bug记录相关推荐
- docker实现mysql 主从复制
docker实现 mysql 主从复制! 记录一下如何在docker中启动两个mysql容器来进行主从复制 之前踩了不少坑,终于弄好了,和我一起来看看整个部署过程吧 ! 使用docker部署mysql ...
- MySQL主从复制原理、半同步操作步骤及原理
MySQL主从复制原理.半同步操作步骤及原理 1.1 企业Linux运维场景数据同步方案 1.1.1 文件级别的异机同步方案 1.scp/sftp/nc 命令可以实现远程数据同步. 2.搭建ftp/h ...
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
昨天修改一个表的字段,发现主从复制同步失效了,但同步进程没有出错,mysql日志也没有出错,仔细查找了一下原因,发现是新增的自增主键字段的起始值在主从库上不一致,导致按主键更新数据时无法在从库找到对应 ...
- 第五章:MySQL主从复制
目录 1. 主从MySQL主从复制介绍... 1 2. MySQL主从复制的企业应用场景... 3 3. 实现MySQL主从读写分离的方案... 5 4. MySQL主从复制原理... 7 5. 主从 ...
- mysql主从复制-介绍
1 简介 Mysql Replication(MySQL主从复制)是MySQL数据库使用率非常高的一种技术,它使用某个数据库服务器为主,然后在其他数据库服务器上进行复制,后面复制的数据库也称从 ...
- 五、MySQL主从复制原理
MySQL主从复制原理.半同步操作步骤及原理 标签(空格分隔): mysql 1.1 企业Linux运维场景数据同步方案 1.1.1 文件级别的异机同步方案 1.scp/sftp/nc 命令可以实现远 ...
- MySQL主从复制出现 Slave_IO_Running: No/Connecting
MySQL主从复制出现 Slave_IO_Running: No/Connecting: 在虚拟机中克隆Linux系统后出现的bug: 本想在一台电脑上,使用虚拟机克隆出两个一样的Linux系统,一个 ...
- windows下mysql主从复制
Mysql主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能.就是一台或多台Mysql数据库(slave,即从库)从另一台Mysql数据库(master,即主库)进行日志的复 ...
- MySQL主从复制与分离解析
目录 MySQL主从复制 主从复制架构和原理 复制的功用 复制架构 主从复制原理 主从复制相关线程 跟复制功能相关的文件: MySQL 主从复制延迟 MySQL扩展 什么是读写分离 为什么要读写分 ...
最新文章
- nginx 漏洞(适用于0.1.0-0.8.14)补丁
- ASP.NET Core文件上传与下载(多种上传方式)
- Django在settings.py设置安装软件路径,遇到 'Settings' object is not subscriptable报错
- TOMCAT 连接池数据库密码加密方法
- 怎么解决php页面编码问题,PHP页面编码问题
- springboot的三种启动方式
- mysql视图的语法错误_MySQL视图的优缺点以及如何创建视图
- C++ 字符编码转换之UTF-8/UTF-16/UTF-32
- el-table中的表格的相同项合并(单元格合并),包含多层合并
- [Lonlife1031]Bob and Alice are eating food(递推,矩阵快速幂)
- 迅雷下载Linux Oracle11gR2和Oracle12c
- go语言 最近遇到的问题总结
- 斐波那契数列与数列求和
- java远程连接fpt_java远程连接本地fpt
- the Contextual Loss论文理解
- 从零开始开发Android相机app(三)简单介绍图像滤镜功能
- 数据结构:二叉树及堆排序
- 网易(weather)天气预报接口
- 如何删掉顽固文件和文件夹
- Unity3D 自学之路