Operating system error number 2 in a file operation

来源:互联网 发布:mac桌面下方图标隐藏 编辑:程序博客网 时间:2024/05/16 15:31

innobackupex 备份时遇到下述错误:

innobackupex --defaults-file=/data/dbbak/my.cnf --stream=tar  ./ |gzip -> /data/dbbak/`date +%F`_full.tar.gz  2> backupout_`date +%F`.log

xtrabackup version 2.2.5 based on MySQL server 5.6.21 Linux (x86_64) (revision id: )
xtrabackup: uses posix_fadvise().
xtrabackup: cd to
xtrabackup: open files limit requested 0, set to 10240
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 = 134217728
InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: File ./ib_logfile0: 'open' returned OS error 71. Cannot continue operation
innobackupex: Error: The xtrabackup child process has died at /usr/bin/innobackupex line 2681.

用xtrabackup检查innobackupex用到的参数文件:
xtrabackup   --defaults-file=/data/mysql5.5/my.cnf --print-param
# This MySQL options file was generated by XtraBackup.
[mysqld]
datadir = "."
tmpdir = "/tmp"
innodb_data_home_dir = "."
innodb_data_file_path = "ibdata1:10M:autoextend"
innodb_log_group_home_dir = "."
innodb_log_files_in_group = 2
innodb_log_file_size = 134217728
innodb_flush_method = ""
innodb_page_size = 16384
innodb_fast_checksum = 0
innodb_log_block_size = 512
innodb_undo_tablespaces = 0
innodb_checksum_algorithm = innodb
innodb_log_checksum_algorithm = innodb
innodb_buffer_pool_filename = "ib_buffer_pool"

发现innodb_data_home_dir,innodb_log_group_home_dir都是相对路径。
根据错误消息:The error means the system cannot find the path specified
怀疑是innodb_data_home_dir,innodb_log_group_home_dir路径的问题。
于是拷贝一份my.cnf到其它的路径,在其中添加innodb_data_home_dir,innodb_log_group_home_dir的绝对路径。

$ xtrabackup   --defaults-file=/data/dbbak/my.cnf --print-param
# This MySQL options file was generated by XtraBackup.
[mysqld]
datadir = "."
tmpdir = "/tmp"
innodb_data_home_dir = "/data/mysql5.5/data"
innodb_data_file_path = "ibdata1:10M:autoextend"
innodb_log_group_home_dir = "/data/mysql5.5/data"
innodb_log_files_in_group = 2
innodb_log_file_size = 134217728
innodb_flush_method = ""
innodb_page_size = 16384
innodb_fast_checksum = 0
innodb_log_block_size = 512
innodb_undo_tablespaces = 0
innodb_checksum_algorithm = innodb
innodb_log_checksum_algorithm = innodb
innodb_buffer_pool_filename = "ib_buffer_pool"

再次用innobackupex进行备份,上述错误消失。

 

0 0