根据这个链接,我执行了这个命令来备份数据库:
xtrabackup --backup --databases='database' --target-dir=/home/user/backups --datadir=/var/lib/mysql/但我得到了以下错误:
160520 02:00:54 version_check Done.
160520 02:00:54 Connecting to MySQL server host: localhost, user: root, password: set, port: 0, socket: /var/lib/mysql/mysql.sock
Using server version 5.5.44-MariaDB
xtrabackup version 2.4.2 based on MySQL server 5.7.11 Linux (x86_64) (revision id: 8e86a84)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /var/lib/mysql/
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup: innodb_data_home_dir = .
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = .
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 5242880
InnoDB: Number of pools: 1
InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to the directory.我通过使用sudo运行相同的命令来解决这个问题,问题是备份目录被创建为root目录,因此我的用户无法访问该目录,所以我总是必须递归地更改该目录的所有权,以便能够读取它。这个方法对我来说不是很有效。
发布于 2016-05-23 13:12:00
xtrabackup工具在用户调用它时运行,该用户必须能够读取数据库文件,这些文件通常是由、mysql、和模式660拥有的。
一个简单的解决方法通常是将用户添加到mysql组中,例如:
useradd -G mysql yves然后退出并重新打开会话,它应该可以工作。
发布于 2019-02-15 13:43:51
如果您在成功运行备份脚本一段时间后遇到此错误,并且无法确定更改了什么,请在MySQL目录下查找一个新文件夹(通常为/var/lib/mysql)。我已经两次发现只在用户级别(即:drwx-)创建的新DB没有组读访问权限。一个快速的chmod 750目录修复权限为我照顾它。
发布于 2016-12-09 15:53:26
我想你是想用珀科纳让你用他们的东西来反抗,尽管我可能错了。
我知道innobackupex (安装在xtrabackup中的perl脚本)应该作为root运行,因为Percona的一位支持工程师这样说:https://www.percona.com/forums/questions-discussions/percona-xtrabackup/8748-error-trying-to-run-backup
也许xtrabackup命令应该以同样的方式使用?
https://stackoverflow.com/questions/37355889
复制相似问题