MariaDB是由前MySQL开发人员组成社区开发的一个MySQL分支,这篇教程向你展示如何用mysqldump工具来备份MariaDB数据库,以及用mysql客户端工具恢复MariaDB数据库。
mysqldump 我们要使用mysqldump命令行工具来备份MariaDB数据库。mysqldump是专门用来备份数据库的。mysqldump的一个特点是备份时不需要停止MariaDB Daemon。它可以备份单个数据库,多个数据库或所有数据库。mysqldump默认会创建一个dump文件(dump file)。dump文件里包含了用于重建原有数据库所需要的SQL语句。
Binary Log 二进制日志 Binary log记录了对数据库做出的所有更改。二进制日志可以是基于SQL语句的,也可以是基于数据表行的。它的主要用途是replication。在数据库备份和恢复时,也需要用到binary log。 为了启用二进制日志,我们需要编辑MariaDB的配置文件。在不同的Linux发行版上,这个配置文件的名称会有所不同。通常这个文件是/etc/my.cnf。在ubuntu系统上,这个配置文件是/etc/mysql/mariadb.conf.d/mysqld.cnf(可能会因ubuntu版本的不同而路径不同。)。 打开这个配置文件,在[mysqld]下,找到下面这一行: #log_bin = /var/log/mysql/mysql-bin.log 去年前面的#号,保存文件。如果你找不到,那就手动添加这一行。 重启MariaDB数据库服务器。 sudo systemctl restart mysql 或 sudo service mysql restart 现在二进制日志已经启用了。
备份单个数据库 只备份一个数据库,使用下面的命令。 mysqldump -u root -p database_name > database_name.sql 将database_name替换成实际的数据库名称。database_name.sql就是dump文件。
备份多个数据库 备份多个数据库,需要向mysqldump添加–databases选项。 mysqldump -u root -p --databases db_name1 db_name2 ... > multi_database.sql
备份所有数据库 备份所有数据库,需要向mysqldump添加–all-databases选项。 mysqldump -u root -p --all-databases > all-databases.sql
压缩dump文件 如果你的数据库很大,那么你需要压缩dump文件。 mysqldump -u root -p database_name | gzip > database_name.sql.gz
自动记录备份时间 如果你需要自动记录dump文件是在什么时候备份好的,那么在dump文件名中添加下面的命令替换。 `date +"%Y-%m-%d"` 比如这样: mysqldump -u root -p database_name > database_name_`date +"%Y-%m-%d"`.sql
恢复单个数据库 如果你要在新的数据库服务器上恢复其他数据库服务器的数据库,那么首先需要在新数据库服务器上创建一个数据库。 mysql -u root -p create database database_name; exit; 然后,恢复原先的数据库。 mysql -u root -p database_name < database_name.sql
恢复所有数据库 mysql -u root -p < all-databases.sql
获取帮助 要了解更多mysqldump的用法,执行命令:mysqldump -help 你需要关注数据库备份是否工作正常。在一个理想的世界里,技术是完美的。但实际上,有很多原因会导致备份失败。
相关主题 |