首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Percona MySQL 5.7 \x XtraBackup 2.4 - xb_load_tablespaces()失败

Percona MySQL 5.7 \x XtraBackup 2.4 - xb_load_tablespaces()失败
EN

Database Administration用户
提问于 2017-06-14 14:25:59
回答 2查看 1K关注 0票数 3

我试图将MySQL从5.6升级到5.7,一切似乎都正常,但当我尝试运行xtrabackup时,我现在得到了以下错误:

代码语言:javascript
复制
InnoDB: Allocated tablespace ID 12 for percona/checksums, old maximum was 0
InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to the directory.
xtrabackup: error: xb_load_tablespaces() failed witherror code 11

没有什么改变,mysql用户perms,系统用户perms,目录perms,以及结构,但是现在我看到了这个错误。当我以根用户身份运行命令时,我无法复制这个问题,因此它使我相信这是一个系统权限问题。

我暂时禁用了selinux,把它作为一个干扰物移除。我还将所有权限都授予了数据库程序mysql用户,以防它是我丢失的新权限。

下面是我使用的命令:

代码语言:javascript
复制
su -s /bin/bash databacker -c "innobackupex --user=databacker --password=p4ssw0rd --socket=/var/lib/mysql/mysql.sock --stream=tar /tmp | gzip - > /tmp/wtf.tgz"

我测试了perms作为数据库程序的用户,这一切似乎都像预期的那样工作:

代码语言:javascript
复制
su -s /bin/bash databacker -c "cd /tmp && touch test.txt"
su -s /bin/bash databacker -c "cd /var/lib/mysql && touch test.txt"

我遗漏了什么?

EN

回答 2

Database Administration用户

发布于 2017-11-17 19:42:44

在升级过程中,我遇到了一个类似的问题,在升级过程中,我使用了混合库。确保你已经没有过时的图书馆文件还在那里。我必须完全卸载MySQL并从头重新安装它,然后它就开始工作了。

票数 0
EN

Database Administration用户

发布于 2020-08-25 13:12:24

你跟踪他们的文件?了吗

还要注意:由于文件的属性将被保留,在大多数情况下,您需要在启动数据库服务器之前将文件的所有权更改为mysql,因为它们将由创建备份的用户拥有:

代码语言:javascript
复制
$ chown -R mysql:mysql /var/lib/mysql

您的第二条和第三条InnoDB错误消息也可能是因为您创建了一个与数据文件同名的子目录。

在添加了自己的调试语句之后,可以考虑从xtrabackup构建。

还有:当mysqld崩溃时,在gdb下调试mysqld可以获取更多信息。

这个:编译MySQL进行调试

我的评论是在我检查了源代码之后做出的。看看来源-你可能会找到你想要的东西。

我提到在gdb下调试mysqld和编译MySQL进行调试是为了一般情况下的“噢,BTW”。- KXNV-89.1FM

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

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

复制
相关文章

相似问题

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