首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >innobackupex和创建奴隶

innobackupex和创建奴隶
EN

Database Administration用户
提问于 2017-04-30 18:24:10
回答 1查看 295关注 0票数 -1

有主mysql运行5.6.30。发动机InnoDB。使用innodb_file_per_table。从服务器正在运行5.5.55,执行接下来的步骤:

代码语言:javascript
复制
 - (on master) innobackupex --no-timestamp /path/to/backup
 - (on master) innobackupex --apply-log
 - (on slave) /etc/init.d/mysql stop; clearing /var/lib/mysql
 - (on master) rsync -avpP /path/to/backup slave:/var/lib/mysql
 - (on slave) chown -R mysql:mysql /var/lib/mysql
 - (on slave) /etc/init.d/mysql start
 - doing other steps to enable Master-Slave replication...

在没有使用innodb_file_per_table的其他服务器上执行此步骤,工作正常:数据库成功复制,复制建立并工作。

但是,当“多个.ibd”启动mysql时,从表中出现错误会导致失败。所以我做错了什么。但是什么呢?错误的出口-进口?奴隶不一定比主人老吗?还有别的吗?

错误日志:

170430 21:51:05 InnoDB: 5.5.55 started; log sequence number 3110007332942 170430 21:51:05 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 170430 21:51:05 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 170430 21:51:05 [Note] Server socket created on IP: '0.0.0.0'. 170430 21:51:05 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

EN

回答 1

Database Administration用户

发布于 2017-05-01 12:41:36

可以肯定的是,有些表(包括系统特权表)的结构是MySQL 5.5无法识别的。MySQL 5.5和5.6是一个主要的版本差异(不管它看起来很小),而且它们并不是向后兼容的。

尝试将skip-grant-tables添加到my.cnf中,以查看问题是否仅与系统表有关(当您添加skip-grant-tables时,将根本不使用特权表,任何人都可以使用任何密码从任何地方连接)。如果MySQL启动,这意味着您有一个破碎的特权表,而mysql_install_db应该帮助您加载空白的特权表。

如果这没有帮助,您可能会有InnoDB结构更改,而MySQL 5.5无法识别。在这种情况下,您将不得不使用逻辑备份(mysqldump或mydumper)来降低评级。顺便说一句,你可以用任何一个工作的奴隶。

顺便说一句,如果您在主程序上使用innodb_file_per_table,就不必在从机上使用它。事实上,这并没有多大意义。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/172376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档