Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1(EOL), 10.2(EOL), 10.3(EOL)
-
None
Description
If you set innodb_data_file_path to include a path, then the --prepare step fails when using mariabackup.
For instance, suppose you have the following 2 items set:
datadir= /var/lib/mysql
|
innodb_data_file_path=/var/lib/mysql/ibdata1:12M:autoextend
|
Now, if you run mariabackup with --backup, it will run fine.
However, when you attempt mariabackup with --prepare, it fails with:
chris@chris-linux-laptop-64:~/Desktop$ sudo mariabackup --prepare --target-dir=/mysqlbackup
|
mariabackup based on MariaDB server 10.2.14-MariaDB debian-linux-gnu (x86_64)
|
mariabackup: cd to /mysqlbackup/
|
mariabackup: This target seems to be not prepared yet.
|
mariabackup: using the following InnoDB configuration for recovery:
|
mariabackup: innodb_data_home_dir = .
|
mariabackup: innodb_data_file_path = /var/lib/mysql/ibdata1:12M:autoextend
|
mariabackup: innodb_log_group_home_dir = .
|
mariabackup: Starting InnoDB instance for recovery.
|
mariabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Uses event mutexes
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Compressed tables use zlib 1.2.8
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Number of pools: 1
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Using SSE2 crc32 instructions
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Initializing buffer pool, total size = 100M, instances = 1, chunk size = 100M
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: Completed initialization of buffer pool
|
2018-04-04 14:38:39 139954027566848 [Note] InnoDB: page_cleaner coordinator priority: -20
|
2018-04-04 14:38:39 139954270910336 [Note] InnoDB: The first innodb_system data file '/var/lib/mysql/ibdata1' did not exist. A new tablespace will be created!
|
2018-04-04 14:38:39 139954270910336 [ERROR] InnoDB: Operating system error number 2 in a file operation.
|
2018-04-04 14:38:39 139954270910336 [ERROR] InnoDB: The error means the system cannot find the path specified.
|
2018-04-04 14:38:39 139954270910336 [ERROR] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.
|
2018-04-04 14:38:39 139954270910336 [ERROR] InnoDB: File .//var/lib/mysql/ibdata1: 'create' returned OS error 71. Cannot continue operation
|
180404 14:38:39 [ERROR] mysqld got signal 6 ;
|
This could be because you hit a bug. It is also possible that this binary
|
or one of the libraries it was linked against is corrupt, improperly built,
|
or misconfigured. This error can also be caused by malfunctioning hardware.
|
|
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
|
|
We will try our best to scrape up some info that will hopefully help
|
diagnose the problem, but since we have already crashed,
|
something is definitely wrong and this may fail.
|
|
Server version: 10.2.14-MariaDB-10.2.14+maria~trusty
|
key_buffer_size=0
|
read_buffer_size=131072
|
max_used_connections=0
|
max_threads=1
|
thread_count=0
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 5421 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x0
|
Attempting backtrace. You can use the following information to find out
|
where mysqld died. If you see no messages after this, something went
|
terribly wrong...
|
stack_bottom = 0x0 thread_stack 0x49000
|
addr2line: 'mariabackup': No such file
|
mariabackup(my_print_stacktrace+0x2e)[0x7f49a55e4a4e]
|
mariabackup(handle_fatal_signal+0x355)[0x7f49a50d3175]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f49a4599340]
|
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39)[0x7f49a2950f79]
|
linux/raise.c:56(__GI_raise)[0x7f49a2954388]
|
addr2line: 'mariabackup': No such file
|
mariabackup(+0x9abe25)[0x7f49a5377e25]
|
mariabackup(+0x8f8735)[0x7f49a52c4735]
|
mariabackup(+0x8fdf9a)[0x7f49a52c9f9a]
|
mariabackup(+0xa4a97c)[0x7f49a541697c]
|
mariabackup(+0x458252)[0x7f49a4e24252]
|
mariabackup(main+0x185)[0x7f49a4e02b95]
|
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f49a293bec5]
|
addr2line: 'mariabackup': No such file
|
mariabackup(+0x4501fd)[0x7f49a4e1c1fd]
|
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
|
information that should help you find out what is causing the crash.
|
If you just have innodb_data_file_path set to:
innodb_data_file_path=ibdata1:12M:autoextend
|
Then it works as expected.
Alternatively, if you edit the backup-my.cnf file that is generated in the --target-dir and remove the path from innodb_data_file_path, then it also works as expected.
This extra step is not needed in Xtrabackup.