Restore fails on fresh Ubuntu/Debian-installation - missing "mysqld"-group

While testing XtraBackup, I didn’t manage to get it to restore on Debian 7.8 “wheezy” or Ubuntu 14.04 “Trusty”.

It complains about missing the “mysqld” group in my config-file, despite that there is a mysqld-group in the config-file.

innobackupex --apply-log --defaults-file=/etc/mysql/my.conf --defaults-group=mysqld --ibbackup=xtrabackup_51 .

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

Get the latest version of Percona XtraBackup, documentation, and help resources:
http://www.percona.com/xb/p

150126 11:42:19 innobackupex: Starting the apply-log operation

IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints "completed OK!".

sh: 1: xtrabackup_51: not found
innobackupex: got a fatal error with the following stacktrace: at /usr/bin/innobackupex line 4482.
main::get_option('innodb_data_file_path') called at /usr/bin/innobackupex line 2615
main::apply_log() called at /usr/bin/innobackupex line 1561
innobackupex: Error: no 'mysqld' group in server configuration file '/etc/mysql/my.conf' at /usr/bin/innobackupex line 4482.

Here’s /etc/mysql/my.conf (Which is an untouched standard debian/ubuntu-installation from the official repo):


[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP

query_cache_limit = 1M
query_cache_size = 16M

log_error = /var/log/mysql/error.log
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]

[isamchk]
key_buffer = 16M

!includedir /etc/mysql/conf.d/

Since I couldn’t find this error online, I hope someone in this forum can help me.

Hi,

Can you tell us which xtrabckup version you are using? (i,e xtrabackup --version). This was very old issue and resolved in earlier versions.
https://bugs.launchpad.net/percona-xtrabackup/+bug/385359
https://bugs.launchpad.net/percona-xtrabackup/+bug/359341

Also, here, I can notice two things.

  1. sh: 1: xtrabackup_51: not found – Can you give full path in command line and check? (i.e --ibbackup=/usr/sbin/xtrabackup_51)
  2. main::get_option(‘innodb_data_file_path’) called at /usr/bin/innobackupex line 2615
    – Add innodb_data_file_path in my.cnf (you can get it with SHOW GLOBAL VARIABLES LIKE ‘innodb_data%’:wink: and try to run again.

and last thing, why you are using --defaults_file with apply log? In backup dir, you must have configuration file.