XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

使用mysqldump备份MySQL或MariaDB

2025.04.09

MySQL和MariaDB包含mysqldump实用程序,以简化创建数据库或数据库系统的备份的过程。使用mysqldump创建逻辑备份。仅当您的数据库进程可访问且正在运行时,才可以使用此工具。如果由于某种原因无法访问数据库,则可以创建一个备份导入,它是包含数据的文件系统结构的副本。前置条件您将需要有效的MySQL或MariaDB安装,以及一个数据库用户来运行备份。您将需要对系统的root访问权限,或者具有sudo特权的用户帐户。备份数据库该mysqldump命令的一般语法为: mysqldump -u [username] -p [databaseName] > [filename]-$(date +%F).sqlmysqldump 在开始备份过程之前提示输入密码。根据数据库的大小,可能需要一段时间才能完成。数据库备份将在运行命令的目录中创建。-$(date +%F) 在文件名中添加时间戳。用例示例包括:创建整个数据库管理系统(DBMS)的备份:mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p备份特定的数据库。替换db1为要备份的数据库的名称:mysqldump -u username -p db1 --single-transaction --quick --lock-tables=false > db1-backup-$(date +%F).sql从任何数据库备份一个表。在以下示例中,table1从数据库导出db1:mysqldump -u username -p --single-transaction --quick --lock-tables=false db1 table1 > db1-table1-$(date +%F).sql以下是mysqldump上面使用的命令选项的细分:--single-transaction:在从服务器中转储数据之前,发出BEGIN SQL语句。--quick:强制逐行转储表。这为具有较少RAM和/或大型数据库的系统(在其中将表存储在内存中可能会带来问题)提供了更高的安全性。--lock-tables=false:请勿为备份会话锁定表。使用cron自动执行备份可以添加条目/etc/crontab以定期计划数据库备份。创建一个文件来保存将执行备份的MySQL根用户的登录凭据。注意,此文件存储在其主目录中的系统用户可以与任何MySQL用户无关。/home/example_user/.mylogin.cnf[client]

user = root

password = MySQL root user's password限制凭据文件的权限: chmod 600 /home/example_user/.mylogin.cnf创建cron作业文件。下面是一个示例cron作业,每天凌晨1点备份整个数据库管理系统: /etc/cron.daily/mysqldump0 1 * * * /usr/bin/mysqldump --defaults-extra-file=/home/example_user/.my.cnf -u root --single-transaction --quick --lock-tables=false --all-databases > full-backup-$(date +\%F).sql还原备份恢复命令的一般语法为: mysql -u [username] -p [databaseName] < [filename].sql还原整个DBMS备份。系统将提示您输入MySQL根用户的密码: 这将覆盖MySQL数据库系统中的所有当前数据。mysql -u root -p 还原单个数据库转储。一个空的或旧的目标数据库必须已经存在才能将数据导入其中,并且您正在运行命令的MySQL用户必须对该数据库具有写权限:mysql -u [username] -p db1 还原单个表,您必须已准备好要接收数据的目标数据库:mysql -u dbadmin -p db1

© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB