欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql使用mysqldump进行数据备份

程序员文章站 2022-06-23 08:29:32
项目Value电脑$1600手机$12导管$1Column 1Column 2centered 文本居中right-aligned 文本居右...

文章参考:
https://www.cnblogs.com/markLogZhu/p/11398028.html
https://www.cnblogs.com/chenmh/p/5300370.html


一、命令说明

1.1常用命令格式

mysqldump -u -p --databases 数据库名 > 脚本名 					#备份指定数据库
mysqldump -u -p --all-databases  > 脚本名						#备份所有数据库
mysqldump -u -p --databases 数据库名 --tables 表名 > 脚本名		#备份指定表

1.2参数说明

参数名 缩写 含义
–host -h 服务器IP地址
–port -P 服务器端口号
–user -u MySQL 用户名
–pasword -p MySQL 密码
–databases 指定要备份的数据库
–all-databases 备份mysql服务器上的所有数据库
–compact -C 压缩模式,产生更少的输出
–no-data 不导出数据,只导出表结构
–comments 添加注释信息
–complete-insert 输出完成的插入语句
–lock-tables 备份前,锁定所有数据库表
–no-create-db/–no-create-info 禁止生成创建数据库语句
–force 当出现错误时仍然继续备份操作
–default-character-set 指定默认字符集
–add-locks 备份数据库表时锁定数据库表

二、导出实例

2.1导出所有数据库

该命令会导出包括系统数据库在内的所有数据库

mysqldump -uroot -proot --all-databases > backup/all.sql

2.2导出db1,db2这两个数据库的所有数据

使用空格隔开两个数据库即可

mysqldump -uroot -proot --databases db1 db2 > backup/two_db.sql

2.3导出db1中的tab1,tab2表

mysqldump -uroot -proot --databases db1 --tables tab1 tab2  > backup/two_tables.sql

注意:导出指定表只能针对一个数据库进行导出,且导出表的内容中和导出数据库不一样,导出指定表的导出文本中没有创建数据库的判断语句,只有删除表-创建表-导入数据;而导出表的拥有。见下图:

Mysql使用mysqldump进行数据备份
若你不想有创建数据库的语句,可以添加参数:–no-create-info

2.4导出db1中tab1表id=1的数据

整型字段:

mysqldump -uroot -proot --databases db1 --tables tab1 --where='id=1'  > backup/tab1.sql

字符串字段:

mysqldump -uroot -proot  --databases db1 --tables tab1 --where="name='a'"  > backup/tab1.sql

2.5只导出表结构不导出数据

mysqldump -uroot -proot --no-data --databases db1 > backup/db1.sql

2.6跨服务器导出数据

mysqldump --host=192.168.43.1 -uroot -proot --databases db1 | mysql --host=192.168.43.2 -uroot -proot db2

将ip为192.168.43.1的服务器db1数据库的所有数据导入到ip为192.168.43.2的服务器db2数据库中,db2的数据库必须存在否则会报错


mysqldump --host=192.168.43.1 -uroot -proot -C --databases db1 | mysql --host=192.168.43.2 -uroot -proot db2

也可以加上参数-C来进行压缩传递,以加快传输


三、导入实例

3.1 系统命令行导入

mysqladmin -uroot -p create db1 
mysql -uroot -p  db1 < /backup/db1.sql

注意:在导入备份数据库前,db1如果没有,是需要创建的;而且与db1.sql文件中所写的数据库名是一样的才可以导入。


3.2 进入mysql中导入

mysql > use db1
mysql > source /backup/db1.sql

本文地址:https://blog.csdn.net/lendsomething/article/details/109000973

相关标签: mysql 数据库