MySQL5.0 与MySQL5.5 主从复制 常见问题处理方法

从5.0版本的数据库中打包数据到5.5版本中,然后做主从同步时遇到的问题及解决方案

以下操作在5.5版本的数据上执行

1.mysql当执行flush privileges刷新用户权限命令报出ERROR 1146 (42S02): Table ‘mysql.servers‘ doesn‘t exist这样测错误

CREATE TABLE `servers` (

`Server_name` char(64) NOT NULL,

`Host` char(64) NOT NULL,`Db` char(64) NOT NULL,

`Username` char(64) NOT NULL,

`Password` char(64) NOT NULL,

`Port` int(4) DEFAULT NULL,

`Socket` char(64) DEFAULT NULL,

`Wrapper` char(64) NOT NULL,

`Owner` char(64) NOT NULL,

PRIMARY KEY (`Server_name`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘MySQL Foreign Servers table‘;

2.unable to use slaves temporary directory/dev/shm/mysql_tmp

   查看是否存在该文件,并赋予mysql.mysql权限

3.mysql升级到5.5 ,使其能兼容5.0中的数据表 ps:改实例3309使用的是Mysql5.5.25版本

#mysql -uroot -p -S /tmp/mysql-3309.sock

>REPAIR TABLE mysql.help_keyword;

>REPAIR TABLE mysql.help_category;

>REPAIR TABLE mysql.help_topic;

>REPAIR TABLE mysql.proc;

>REPAIR TABLE mysql.procs_priv;

>REPAIR TABLE mysql.time_zone_name;

#/usr/local/mysql_3309/bin/mysql_upgrade -uroot -p -S /tmp/mysql-3309.sock --force

若不进行mysql_upgrade操作,在5.0版本和5.5版本之间进行主从同步时,会报错

4.修改my.cnf配置文件,mysql5.1里的部分参数5.5不识别,5.5版本默认的存储引擎是Innodb,我们目前使用的5.0的存储引擎是myisam,需要修改配置文件

default_storage_engine = MYISAM

#skip-locking  在5.5里已经不识别了,改成

skip-external-locking

#log-long-format  在5.5里已经不识别了,改成

log-short-format

#log_slow_queries  在5.5里已经不识别了,改成

slow-query-log

#default-character-set = utf8  在5.5里已经不识别了,改成

character-set-server = utf8

5.mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续

 跳过错误有两种方式:

vi /etc/my.cnf

 [mysqld]

 #slave-skip-errors=1062,1053,1146 #跳过指定error no类型的错误

#slave-skip-errors=all #跳过所有错误

本文出自 “咚咚的博客” 博客,谢绝转载!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。