备份MariaDB
运行以下命令以创建备份目录用于存储MariaDB备份内容。
sudo mkdir ~/mariadb_backup
在上面的文件夹中创建实时备份和存储。
sudo mariabackup --backup --target-dir ~/mariadb_backup -u root
输出示例:
[00] 2021-01-07 12:28:44 >> log scanned up to (1625621) mariabackup: Stopping log copying thread [00] 2021-01-07 12:28:44 >> log scanned up to (1625621) [00] 2021-01-07 12:28:44 Executing UNLOCK TABLES [00] 2021-01-07 12:28:44 All tables unlocked [00] 2021-01-07 12:28:44 Copying ib_buffer_pool to /home/jack/mariadb_backup/ib_buffer_pool [00] 2021-01-07 12:28:44 . done [00] 2021-01-07 12:28:44 Backup created in directory '/home/jack/mariadb_backup/' [00] 2021-01-07 12:28:44 Writing backup-my.cnf [00] 2021-01-07 12:28:44 . done [00] 2021-01-07 12:28:44 Writing xtrabackup_info [00] 2021-01-07 12:28:44 . done [00] 2021-01-07 12:28:44 Redo log (from LSN 1625612 to 1625621) was copied. [00] 2021-01-07 12:28:44 completed OK!
列出备份文件夹的内容。
ls -al ~/mariadb_backup/
恢复MariaDB
将备份内容压缩打包,传输到另一台服务器上。
sudo tar -czvf mariadb_backup.tar.gz ~/mariadb_backup
可以使用rsync或者scp向远程位置发送备份数据。
在远程主机上,运行以下命令以提取存档。
tar zxvf mariadb_backup.tar.gz
停止MariaDB服务并删除任何现有的MariaDB数据。
sudo systemctl stop mariadb.service sudo rm -rf /var/lib/mysql/*
使用备份文件来准备恢复。
sudo mariabackup --prepare --target-dir ~/mariadb_backup
输出示例
2021-01-07 12:55:58 0 [Note] InnoDB: Initializing buffer pool, total size = 100M, instances = 1, chunk size = 100M 2021-01-07 12:55:58 0 [Note] InnoDB: Completed initialization of buffer pool 2021-01-07 12:55:58 0 [Note] InnoDB: page_cleaner coordinator priority: -20 2021-01-07 12:55:58 0 [Note] InnoDB: The log sequence number 1625452 in the system tablespace does not match the log sequence number 1625612 in the ib_logfiles! [00] 2021-01-07 12:55:58 Last binlog file , position 0 [00] 2021-01-07 12:55:59 completed OK!
准备好后,执行下面的命令开始恢复:
sudo mariabackup --copy-back --target-dir ~/mariadb_backup
输出示例:
01] 2021-01-07 13:21:02 Copying ./mysql/help_category.MYD to /var/lib/mysql/mysql/help_category.MYD [01] 2021-01-07 13:21:02 . done [01] 2021-01-07 13:21:02 Copying ./mysql/columns_priv.frm to /var/lib/mysql/mysql/columns_priv.frm [01] 2021-01-07 13:21:02 . done [01] 2021-01-07 13:21:02 Copying ./mysql/columns_priv.MYI to /var/lib/mysql/mysql/columns_priv.MYI [01] 2021-01-07 13:21:02 . done [01] 2021-01-07 13:21:02 Copying ./ib_buffer_pool to /var/lib/mysql/ib_buffer_pool [01] 2021-01-07 13:21:02 . done [01] 2021-01-07 13:21:02 Copying ./aria_log.00000001 to /var/lib/mysql/aria_log.00000001 [01] 2021-01-07 13:21:02 . done [00] 2021-01-07 13:21:02 completed OK!
修改新文件的权限:
sudo chown -R mysql. /var/lib/mysql
重新启动MariaDB服务即可
sudo systemctl start mariadb.service
安装MariaBackup.
在Ubuntu上运行下面的命令安装MariaBackup。
sudo apt update sudo apt-get install mariadb-backup
MariaDB 10.1引入了一个名为MariaBackup的新备份功能。
MariaBackup是MariaDB提供的一个开源工具,用于执行InnoDB,Aria和Myisam表的物理在线备份。
它还为InnoDB表启用了“热门在线”备份。
MariaBackup不仅备份数据库,它还备份许多不同的文件,以便执行其备份和还原操作。
日期:2020-07-07 20:55:03 来源:oir作者:oir