mysqldump –创建一个单独的用户来备份MariaDB数据库

您可能已经知道 mysqldump 是可用于备份MariaDB数据库的最佳实用程序之一。 本教程说明如何在特殊的备份用户的帮助下以安全的方式备份MariaDB数据库。

mysqldump

大多数MariaDB / MySQL用户都熟悉以下三个备份命令。

备份单个数据库

mysqldump -u root -p db_name > db_backup.sql

备份多个数据库

mysqldump -u root -p --databases db1_name db2_name > multi_db_backup.sql

备份所有数据库

mysqldump -u root -p --all-databases > all_db_backup.sql

使用根用户进行备份有什么坏处?

以上3个命令要求您以交互方式输入MariaDB root用户密码。 要自动执行MariaDB备份,您可能需要设置一个cron作业,并在输入之后输入密码。 -p 如下所示的选项。

0 4 * * * mysqldump -u root -proot-password db_name > db_backup.sql

将MariaDB根用户的纯文本密码放入 crontab 文件或任何其他文件是一个坏主意。 MariaDB根用户拥有数据库的所有特权。 它可以在数据库上执行任何操作。 最好创建一个单独的用户仅用于备份,而不要使用MariaDB根用户。

要创建备份用户,请首先通过运行以下命令登录MariaDB Monitor。 在询问时输入MariaDB根用户的密码。

mysql -u root -p

要备份数据库,用户只需要能够锁定表并从所有数据库和表中读取数据。 创建备份用户并授予 lock tablesselect 使用以下MariaDB命令对其具有权限。 本教程将把这个单独的用户命名为“ backupuser”(不带引号)。

MariaDB [(none)]> GRANT LOCK TABLES, SELECT ON *.* TO 'backupuser'@'localhost' IDENTIFIED BY 'secret-password';
Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

现在,您可以设置一个cron作业来用该用户备份数据库,如下所示:

0 4 * * * mysqldump -u backupuser -pbackupuser-password db_name > db_backup.sql

总是欢迎提出意见,问题或建议。 如果您认为这篇文章很有用,? 请在社交媒体上与您的朋友分享! 请继续关注更多教程。

Sidebar