Mysqldump备份和还原MySQL数据库

u17982999733293508249ampfm26ampgp0.jpg

备份单个mysql数据库

例如,要使用用户root创建名为 data 的数​​据库的备份并将其保存到名为 data.sql 的文件中,您可以运行以下命令

mysqldump -u root -p data > data.sql

可以自定义输出到哪个目录

mysqldump -u root -p data > /roo/data.sql

系统将提示您输入root密码。成功通过身份验证后,转储过程将开始。根据数据库的大小,此过程可能需要一些时间

备份多个mysql数据库

要使用一个命令备份多个MySQL数据库,您需要使用--databases选项,后跟要备份的数据库列表。每个数据库名称必须用空格分隔。

mysqldump -u root -p --databases data-1 data-2 > data-1-2.sql

备份所有mysql数据库

使用--all-databases选项备份所有MySQL数据库

mysqldump -u root -p --all-data > data.sql

创建压缩的MySQL数据库备份

如果数据库很大,最好压缩输出,只需将输出通过管道传递到 gzip 实用程序,然后将其重定向到一个文件

mysqldump -u root -p data  |  gzip > data.sql.gz

使用date命令,时间戳创建备份

mysqldump solo  > data-$(date +%Y%m%d).sql
data-20201126.sql               #输出结果

更多时间戳请参考:date命令的参数及用法

还原mysql备份文件到数据库

在大多数情况下,您需要创建要导入的数据库,如果数据库已经存在,则首先需要将其删除。
再创建相同名称数据库

mysql -uroot -p db_name < db_name.sql

经过压缩的备份文件还原

gunzip < data.sql.gz | mysql -u root -p data

包含多个数据库备份文件的单个还原

如果使用--all-databases选项备份了所有数据库,并且想要从包含多个数据库的备份文件中还原单个数据库,请使用--one-database选项,要记住里面有几个数据库分别叫什么名字

mysql -uroot -p --one-database 数据库名 < data.sql

设置mysqldump免密码

每次敲mysqldump都要敲密码很麻烦设置可以免密执行该命令

vim /etc/my.cnf
...
[mysqldump]                #添加该模块填写用户和密码
user=root
password=123456

下次使用该命令就不用敲密码啦

使用Cron自动执行定时备份

请参考:Mysql数据库远程定时备份

# mysql 

本文由:星际难民
实践,测试,整理发布.如需转载请注明地址 本文标题:Mysqldump备份和还原MySQL数据库
地址:https://530503.xyz/articles/2020/11/25/1606363744410.html

评论

取消