2013-11-18 6 views
4

После восстановления резервной копии сервер MySQL не сможет запускать ..innobackupex - после восстановления резервной копии MySQL сервер не может запустить

quit without updating PID file 

резервного копирования из командной строки

innobackupex --user=root --password=pass --databases="the_database" --stream=tar ./ 2> /var/log/innobackupex.log | gzip -c -1 > /var/bak/backup.tar.gz 

восстановить командные строки

tar -izxf /var/bak/db/2013-11-16-2300_mysql.tar.gz -C /var/bak/db_import 
innobackupex --defaults-file=/var/ini/my.cnf --use-memory=1G --apply-log /var/bak/db_import 
service mysql stop 
mv /var/lib/mysql /var/lib/mysql-old 
mkdir /var/lib/mysql 
innobackupex --defaults-file=/var/ini/my.cnf --copy-back /var/bak/db_import 
chown -R mysql:mysql /var/lib/mysql 
service mysql start 

/вар/Lib/MySQL

innodb_index_stats.ibd 
innodb_table_stats.ibd 
slave_master_info.ibd 
slave_relay_log_info.ibd 
slave_worker_info.ibd 

журнал ошибок

131121 14:08:12 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 
2013-11-21 14:08:13 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 
2013-11-21 14:08:13 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 
2013-11-21 14:08:13 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2013-11-21 14:08:13 14010 [Warning] Using pre 5.5 semantics to load error messages from /opt/mysql/server-5.6/share/english/. 
2013-11-21 14:08:13 14010 [Warning] If this is not intended, refer to the documentation for valid usage of --lc-messages-dir and --language parameters. 
2013-11-21 14:08:13 14010 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead. 
2013-11-21 14:08:13 14010 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead. 
2013-11-21 14:08:13 14010 [Note] Plugin 'FEDERATED' is disabled. 
/usr/local/mysql/bin/mysqld: Table 'mysql.plugin' doesn't exist 
2013-11-21 14:08:13 14010 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
2013-11-21 14:08:13 14010 [Note] InnoDB: The InnoDB memory heap is disabled 
2013-11-21 14:08:13 14010 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2013-11-21 14:08:13 14010 [Note] InnoDB: Compressed tables use zlib 1.2.3 
2013-11-21 14:08:13 14010 [Note] InnoDB: Using Linux native AIO 
2013-11-21 14:08:13 14010 [Note] InnoDB: Not using CPU crc32 instructions 
2013-11-21 14:08:13 14010 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
2013-11-21 14:08:13 14010 [Note] InnoDB: Completed initialization of buffer pool 
2013-11-21 14:08:13 14010 [Note] InnoDB: Highest supported file format is Barracuda. 
2013-11-21 14:08:13 14010 [Note] InnoDB: 128 rollback segment(s) are active. 
2013-11-21 14:08:14 14010 [Note] InnoDB: Waiting for purge to start 
2013-11-21 14:08:14 14010 [Note] InnoDB: 5.6.14 started; log sequence number 56227635 
2013-11-21 14:08:14 14010 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: fb44ff89-52ad-11e3-9dff-002185624b9b. 
2013-11-21 14:08:15 14010 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306 
2013-11-21 14:08:15 14010 [Note] - '127.0.0.1' resolves to '127.0.0.1'; 
2013-11-21 14:08:15 14010 [Note] Server socket created on IP: '127.0.0.1'. 
2013-11-21 14:08:15 14010 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 
131121 14:08:15 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 

ответ

4

Вы удалили (перемещены) в /var/lib/mysql папку (mv /var/lib/mysql /var/lib/mysql-old), который содержит базу данных mysql системы.

Восстановите эту папку до ее первоначального местоположения, а затем загрузите дамп. Этот дамп содержит только данные из выбранной базы данных.

Сброс восстанавливает только данные, расположенные в /var/lib/mysql/[your_database]. Вы никогда не должны касаться файлов под /var/lib/mysql/mysql.


Для полноты: с настройками по умолчанию, папка /var/lib/mysql содержит следующие важные системные файлы, которые не должны быть подделаны в нормальной ситуации:

  • /var/lib/mysql/mysql/*: база данных mysql системы
  • /var/lib/mysql/ib_logfile*: журнальный журнал
  • /var/lib/mysql/ibdata*: табличное пространство по умолчанию для таблиц InnoDB
  • /var/lib/mysql/mysql-bin.*: бинарный журнал

Не манипулировать эти файлы, если вы точно не знаете, что вы делаете.

+0

резервное копирование с того же сервера, так что это та же версия MySQL .. обновил вопрос с командной строки, которая резервное копирование database – clarkk

+0

Да, я просто понял, что он говорит, что «Таблица» mysql.user «не существует», поэтому она должна быть чем-то еще. Проверьте права доступа (c.f. обновления выше). – RandomSeed

+0

Ладно, я был совсем в отъезде. Я напишу новый ответ. – RandomSeed

1

Если вам не нужны оригинальные конфигурации привилегий mysql (база данных mysql), вы можете запустить скрипт установки, который создаст базу данных mysql.

$ mysql_install_db 
1

Необходимо резервировать все данные, а не только одну базу данных.

Вы должны использовать xtrabackup команду:

ex: xtrabackup --prepare --target-dir=/data/backups/mysql/ 

https://www.percona.com/doc/percona-xtrabackup/2.1/xtrabackup_bin/preparing_the_backup.html

+0

Ссылки, как правило, меняются или пропадают без вести, не могли бы вы объяснить часть содержимого или указать его здесь? – abarisone

+0

Спасибо! 'подготовка' действительно нужна, есть некоторые проблемы, когда я полностью пропустил это сделать. – webjunkie