已经有一套主从mysql,新增两个slave

主库Server version: 5.6.22-log MySQL Community Server (GPL)

旧从库Server version: 5.6.28-log MySQL Community Server (GPL)

新增SLAVE 1: Server version: 5.6.22-log MySQL Community Server (GPL)

新增SLAVE 2: Server version: 5.7.10-log MySQL Community Server (GPL)

重新初始化新的两个slave后,从就从库的mysqldump文件导入恢复,因为增加了--dump-slave参数,可以看到主库的位置。

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.001196', MASTER_LOG_POS=71925475;

dump文件导入完成后,在新增SLAVE 1执行:

change master to master_host='192.168.72.142', master_user='repl',master_password='password',master_port=3306,MASTER_LOG_FILE='mysql-bin.001196', MASTER_LOG_POS=71925475,MASTER_CONNECT_RETRY=30;

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Queueing master event to the relay log

Master_Host: 192.168.72.142

Master_User: repl

Master_Port: 3306

Connect_Retry: 30

Master_Log_File: mysql-bin.001201

Read_Master_Log_Pos: 821264848

Relay_Log_File: relay-bin.000002

Relay_Log_Pos: 792405

Relay_Master_Log_File: mysql-bin.001196

Slave_IO_Running: Yes

Slave_SQL_Running: No

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 1449

Last_Error: Error 'The user specified as a definer ('usr_pre'@'%') does not exist' on query. Default database: 'pre'. Query: 'SELECT `pre`.`_getAutoIncrement`(_utf8'taobaoSoHeader' COLLATE 'utf8_general_ci')'

Skip_Counter: 0

Exec_Master_Log_Pos: 72717597

Relay_Log_Space: 6129100284

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 1449

Last_SQL_Error: Error 'The user specified as a definer ('usr_pre'@'%') does not exist' on query. Default database: 'pre'. Query: 'SELECT `pre`.`_getAutoIncrement`(_utf8'taobaoSoHeader' COLLATE 'utf8_general_ci')'

Replicate_Ignore_Server_Ids:

Master_Server_Id: 142

Master_UUID: 6552d58f-7323-11e5-bc52-24b6fdf64510

Master_Info_File: /mysqldata/mysql_data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State:

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp: 160217 09:44:22

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

1 row in set (0.00 sec)

用工具查看binlog日志内容,发现也出错了,网上查了一下,说是BUG

-bash-4.1$ mysqlbinlog --start-position=72717597 --stop-position=72717598 -d pre mysql-bin.001201

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET @@session.max_insert_delayed_threads=0*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#160216 20:15:34 server id 142 end_log_pos 120 CRC32 0xd9c6730a Start: binlog v 4, server v 5.6.22-log created 160216 20:15:34

BINLOG '

5hLDVg+OAAAAdAAAAHgAAAAAAAQANS42LjIyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAQpz

xtk=

'/*!*/;

ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 577005919, event_type: 111

ERROR: Could not read entry at offset 72717597: Error in log format or read error.

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

-bash-4.1$ mysqlbinlog --start-position=72717597 --stop-position=72717598 mysql-bin.001201

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET @@session.max_insert_delayed_threads=0*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#160216 20:15:34 server id 142 end_log_pos 120 CRC32 0xd9c6730a Start: binlog v 4, server v 5.6.22-log created 160216 20:15:34

BINLOG '

5hLDVg+OAAAAdAAAAHgAAAAAAAQANS42LjIyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAQpz

xtk=

'/*!*/;

ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 577005919, event_type: 111

ERROR: Could not read entry at offset 72717597: Error in log format or read error.

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

-bash-4.1$ mysqlbinlog --start-position=72717597 --offset=1 mysql-bin.001201

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET @@session.max_insert_delayed_threads=0*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#160216 20:15:34 server id 142 end_log_pos 120 CRC32 0xd9c6730a Start: binlog v 4, server v 5.6.22-log created 160216 20:15:34

BINLOG '

5hLDVg+OAAAAdAAAAHgAAAAAAAQANS42LjIyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAQpz

xtk=

'/*!*/;

ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 577005919, event_type: 111

ERROR: Could not read entry at offset 72717597: Error in log format or read error.

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

怀疑权限问题

主库5.6.22上执行

mysql> show grants for 'usr_pre'@'%';

+--------------------------------------------------------------------------------------------------------+

| Grants for usr_pre@% |

+--------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'usr_pre'@'%' IDENTIFIED BY PASSWORD '*EA8D6BC15C61128B3E5AB994B3EA12A9092114C5' |

| GRANT ALL PRIVILEGES ON `pre`.* TO 'usr_pre'@'%' |

+--------------------------------------------------------------------------------------------------------+

2 rows in set (0.02 sec)

旧SLAVE 5.6.28 备份导出的从库

mysql> show grants for 'usr_pre'@'%';

+--------------------------------------------------------------------------------------------------------+

| Grants for usr_pre@% |

+--------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'usr_pre'@'%' IDENTIFIED BY PASSWORD '*EA8D6BC15C61128B3E5AB994B3EA12A9092114C5' |

| GRANT ALL PRIVILEGES ON `pre`.* TO 'usr_pre'@'%' |

+--------------------------------------------------------------------------------------------------------+

2 rows in set (0.01 sec)

新SLAVE 1是5.6.22,执行报错

mysql> show grants for 'usr_pre'@'%';

ERROR 1141 (42000): There is no such grant defined for user 'usr_pre' on host '%'

在新SLAVE 1执行

mysql> GRANT USAGE ON *.* TO 'usr_pre'@'%' IDENTIFIED BY PASSWORD '*EA8D6BC15C61128B3E5AB994B3EA12A9092114C5' ;

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON `pre`.* TO 'usr_pre'@'%';

ERROR 1133 (42000): Can't find any matching row in the user table

flush privileges;

show grants for 'usr_pre'@'%';

发现已经恢复正常

开启slave后,可以正常复制。

-----------------------

处理新增SLAVE 2:跨一个大版本,5.7.10

执行下面语句时报错:

mysql> change master to master_host='192.168.72.142', master_user='repl2',master_password='password',master_port=3306,MASTER_LOG_FILE='mysql-bin.001196', MASTER_LOG_POS=71925475,MASTER_CONNECT_RETRY=30;

ERROR 1805 (HY000): Column count of mysql.slave_master_info is wrong. Expected 25, found 23. The table is probably corrupted

处理方法:

[mysql@lt-mysql02 mysql_backup]$ mysql_upgrade -s -uroot -p

Enter password:

The --upgrade-system-tables option was used, databases won't be touched.

Checking if update is needed.

Checking server version.

Running queries to upgrade MySQL server.

The sys schema is already up to date (version 1.5.0).

Found 0 sys functions, but expected 21. Re-installing the sys schema.

Upgrading the sys schema.

Upgrade process completed successfully.

Checking if update is needed.

重复执行上面语句,恢复正常

mysql_upgrade是一个检查和升级表的命令,用于检查当前表是否和mysql server版本兼容,例如从低版本的mysqldump导入了高版本的情况。也可以用于升级系统表。

执行该命令的时候,如果该命令发现有表的兼容性有问题,那么会做表升级,

如果发现表有问题,会做表修复,如果该命令无法修复,则需要用重建的方式手工修复表或索引。

推荐每次升级后都执行mysql_upgrade

mysql_upgrade参数-s的意思是只升级系统表,不修复数据表

--upgrade-system-tables, -s

Upgrade only the system tables, do not upgrade data.

mysql dump 1449_跨版本mysqldump恢复报错Errno1449相关推荐

  1. mysql恢复 报错_Mysql 数据恢复报错

    1.测试mysql binlog 数据恢复功能,我的mysql版本是5.7.17 2.删了数据之后,执行show binlog events 命令得到如下记录 3.找到开始删除和结束删除的位置,然后执 ...

  2. mysql5.7 delimiter_percona MYSQL 5.7.13 5.7.14 MYSQLDUMP 导入报错delimiter (修改MYSQLDUMP代码)...

    percona MYSQL 5.7.13 5.7.14 MYSQLDUMP 导入报错delimiter (修改MYSQLDUMP代码) 重庆八怪 2016-09-26 15:12:22 浏览1094 ...

  3. 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found

    解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...

  4. Swift5版本以上#selector报错解决

    Swift5版本以上#selector报错解决 最近swift 版本变化较大,如果对一个按钮添加一个事件在oc想必都非常熟练,那么在 swift怎么去定义函数,以及函数传参呢 let btn = UI ...

  5. mysql远程一会不用卡住_连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的,...

    连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的, 2018-03-12 17:08:52.532DEBUG[localhost-startStop-1]o.s.beans.factor ...

  6. RMAN备份恢复报错 ORA-19573: cannot obtain exclusive enqueue for datafile 5

    RMAN备份恢复报错 ORA-19573: cannot obtain exclusive enqueue for datafile 5 用vi 编辑了一个数据文件 ,导致下面的错误: 验证还原 RM ...

  7. Access-Control-Allow-Origin跨域问题的报错以及解决

    Access-Control-Allow-Origin跨域问题的报错以及解决 这是浏览器控制台报错详情,在前后端分离,前段需要传数据进入后端时报的错 解决方案:配置跨域过滤器 1.先复制以下代码(过滤 ...

  8. mysql 安装1364_安装完MySQL,在配置最后一步报错error Nr.1364

    [原文:http://www.mysqlperformanceblog.com/2014/01/28/10-mysql-settings-to-tune-after-installation/基本配置 ...

  9. IDEA(2018)连接MySQL数据库失败的解决方法(报错08001)

    IDEA(2018)连接MySQL数据库失败的解决方法(报错08001) 参考文章: (1)IDEA(2018)连接MySQL数据库失败的解决方法(报错08001) (2)https://www.cn ...

最新文章

  1. 2018-3-23论文一种新的群智能算法--狼群算法(框架结构+感想一点点)
  2. linux mysql 操作命令_linux的mysql操作命令
  3. AI产业落地风向标,2019全球智博会亮点回顾
  4. 给出a的定义 -- 指针 和 数组
  5. CentOS 6.5使用yum快速搭建LAMP环境
  6. 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题
  7. poj3268(最短路)
  8. 线性表(一)——顺序表
  9. JSP、ASP、PHP Web应用程序怎么这么多P!
  10. python经典实例-终于明了python入门经典实例
  11. 限制新闻标题字数输出并用省略号代替
  12. 190712每日一句 生命的韧性
  13. c++11 多线程依次打印ABC
  14. 轻量级过程改进之项目启动
  15. 计算机音乐数字乐谱核爆神曲,核爆神曲——aLIEz钢琴谱钢琴简谱 数字谱 钢琴双手简谱.pdf...
  16. Android 7.0应用冷启动流程分析
  17. 元数据驱动的大数据服务平台
  18. 68个经典励志小故事|哲理小故事,让你终身受益(3)
  19. 三维空间中,向量在另外一个向量或者面上的投影
  20. 第五章 欧洲科技文明的起源

热门文章

  1. 谈谈IP和MAC捆绑的破解之道
  2. php 扒取网页数据
  3. Java Code之多态
  4. objectC 数据类型转换
  5. 过程重要,还是结果重要?
  6. 2029. 石子游戏 IX
  7. Java—servlet简单使用
  8. 谷歌入职邮件_为什么我全职学习了8个月以接受Google采访
  9. rcp rapido_Rapido使用数据改善乘车调度
  10. 数据库数据过长避免_为什么要避免使用商业数据科学平台