我正在运行mysql数据库的基本后台。我不确定为什么它会关闭。我收到备份完成的消息,准备后也得到完成。但是实例仍然崩溃。我仅在运行两个实例,而在备份一个。
xtrabackup --defaults-file=/etc/alternatives/my.cnf --defaults-group=mysqld5 --socket=/var/run/mysqld/db5.sock --user=mysqladmin --password=password --backup --throttle 400 --target-dir=/mysqlbackup/current --no-timestamp 2> /var/backup.log;
我整理日志文件以确保它已完成并且确实完成。然后我运行准备
xtrabackup --prepare --use-memory=5G --target-dir=/mysqlbackup/current 2 >> /var/backup.log;
我的日志文件有
xtrabackup: cd to /mysqlbackup/current
xtrabackup: This target seems to be not prepared yet.
Doing recovery: scanned up to log sequence number 5642017177088 (8%)
Doing recovery: scanned up to log sequence number 5642076559654 (99%)
Database was not shutdown normally
Starting crash recovery
Progress in percent: 0 1 2 ... 99
Apply batch completed
InnoDB: 96 redo rollback segment(s) found. 1 redo rollback segment(s) are active.
InnoDB: 32 non-redo rollback segment(s) are active.
InnoDB: page_cleaner: 1000ms intended loop took 748935ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
InnoDB: 5.7.26 started; log sequence number 5642076559654
xtrabackup: Last MySQL binlog file position 7017599, file name binlog.000009
xtrabackup: Recovered WSREP position: febfad99-09fe-11ea-ad83-57c73422d738:27384750
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 5642076561674
InnoDB: Number of pools: 1
xtrabackup: innodb_data_home_dir = .
InnoDB: New log files created, LSN=5642076561674
InnoDB: Doing recovery: scanned up to log sequence number 5642076561941 (0%)
InnoDB: Database was not shutdown normally!
InnoDB: Starting crash recovery
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 5642076561960
200213 08:05:36 completed OK!
连接到正在运行的MySQL Server,并在客户端中运行它:
mysql> SHOW STATUS LIKE 'Uptime';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Uptime | 268121 |
+---------------+--------+
该值是自您的MySQL Server上次启动以来的秒数(上面显示的示例是我自己的便携式计算机上的mysql,有效期为74个小时,这是我上次重新启动的时间。)
我想您会发现正常运行时间的价值表明,在备份期间,您的MySQL Server一直运行良好。
Percona XtraBackup不会重新启动MySQL服务器。它会重新启动自己的InnoDB引擎,以针对刚刚备份的文件模拟崩溃恢复。
XtraBackup使用了很多从MySQL本身的InnoDB引擎借来的代码,因此它保持与InnoDB文件格式的兼容性。它使用InnoDB的崩溃恢复功能来“准备”其InnoDB文件的副本,以解决所有未完成的事务。
通过从InnoDB引擎借用代码,它输出类似的消息。