MySQL5.5数据库复制搭建报错之Could not initialize master info structure
【导读】
鉴于MySQL5.5数据库产品的性能提升不明显,软件产品稳定性不佳,且新增加的功能也不足突破,所以生产环境中只有几套应用使用MySQL5.5版本支撑,以培养与掌握MySQL5.5的经验和技术,所以个人对MySQL5.5系列的实战也不多。现有一个项目,因服务器配置的特殊性,以及业务特点、数据容量、数据访问等也非常特殊,不得不考虑采用MySQL5.5,且国内某mysql服务提供商技术人员指定要求的版本号为MySQL5.5.27。综合上述信息导致今天无意碰到一个MySQL数据库复制搭建过程中出现的错误信息,可能其他同行也可能会碰见,特此写一篇技术博文分享给大家。
(一) 环境描述
操作系统:Linux x3755-31 2.6.18-308.el5
硬件配置:2*8Core CPU,6*SAS*15K*600G,RAID1+0,256G MEM
数据库版本:MySQL5.5.27-log
数据库架构:MySQL双主复制,及双主复制+外挂Slave模式(注:读写分离模式)
(二) 故障信息
a) 复制相关的my.cnf参数配置
server-id=3306
slave-skip-errors=1022,1032,1062
log_slave_updates=1
log_bin_trust_function_creators=1
auto_increment_increment=2
auto_increment_offset=1
#bind-address=10.0.2.31
#hostname=
log-bin=/data/mysqldata/binlog/mysql-bin.index
log-bin=/data/mysqldata/binlog/mysql-bin
relay-log=/data/mysqldata/relaylog/mysql-relay-bin.index
relay-log=/data/mysqldata/relaylog/mysql-relay-bin
b) 复制搭建步骤
l 复制相关参数环节有一个存储中继日志文件的目录,遗憾是过往我都是默认方式存储,现有的安装脚本未写入相关命令;
l 手工创建目录命令:mkdir -p /data/mysqldata/relaylog,未执行更改属主的命令:
chown mysql:mysql /data/mysqldata/relaylog
l mysql命令下输入复制搭建的命令:
CHANGE MASTER TO master_host=’10.0.2.30′,master_user=’repl’,
master_password=’repl#3306′,master_log_pos=499,
master_log_file=’mysql-bin.000001′;
l 执行命令之后出现的错误信息为:
ERROR 29 (HY000): File ‘/data/mysqldata/relaylog/mysql-relay-bin.index’ not found (Errcode: 13)
备注:执行shell命令工具 perror 13 会告诉你是无访问权限
l 因权限问题出错,那么就必须为中继日志文件目录变更权限信息,命令为:
chown mysql:mysql /data/mysqldata/relaylog
l mysql命令行下继续执行复制搭建的命令CHANGE MASTER TO …,依然报错,查阅*.err文件可以发现的信息为:
Error (Code 1201): Could not initialize master info structure; more error messages can be found in the MySQL error log
(三) 解决办法
查看*.err文件中的错误提示信息,咂看还以为是MySQL软件存在复制方面的BUG,这个时候我们主动去看下数据目录,配置的路径为:/data/mysqldata/mydata,其下已经生成了一个0KB的空文件master.info,正式因为这个文件导致mysqld提示复制无法初始化主数据库服务器的信息,直接删除0字节文件:rm -f /data/myqldata/mydata/master.info,再充型执行CHANAGE MASTER TO 命令,复制搭建成功,且生成了记录主数据库服务器信息的master.info文件。
(四) 总结
a) 工作中不严谨的作风是出现问题的根源;
b) 问题的发生现象可能会迷惑我们的演讲,必须学会正反方向推理和分析;
c) 掌握过硬的技术,熟悉使用的产品,是减少或解决问题的利剑;
建议继续学习:
- mysql 主从配置中的server-id的作用 (阅读:6564)
- 也谈PostgreSQL的同步配置(Slony) (阅读:4606)
- 内存表在同步环境注意事项 (阅读:4608)
- PHP查询MySQL大量数据的内存占用分析 (阅读:3854)
- MTU值的调整导致MySQL复制异常 (阅读:3557)
- MySQL复制的概述、安装、故障、技巧、工具 (阅读:3213)
- mysql主从热备配置(含innodb)终极版 (阅读:2915)
- mysql主从同步快速设置 (阅读:2891)
- 自己动手实现Multi-Master Replication (阅读:2989)
- 如何监控主从之间的延时:seconds_behind_master OR mk-heartbeat (阅读:2723)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:MySQLOPS 数据库与运维自动化技术分享 来源: MySQLOPS 数据库与运维自动化技术分享
- 标签: 主从同步
- 发布时间:2012-12-09 20:16:32
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] 如何拿下简短的域名
- [52] 图书馆的世界纪录
- [52] android 开发入门
- [50] Go Reflect 性能
- [50] Oracle MTS模式下 进程地址与会话信
- [48] 【社会化设计】自我(self)部分――欢迎区
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑