mysql安装后自带这个命令,可以在/etc/my.cnf中[mysqldump]字段中进行配置。
如下是默认的文件
可以通过查看general_log来获得mysqldump的操作日志。
在mysql服务器查看general_log是否打开,OFF则是没开启。
show variables like 'general_log';
在mysql服务器查设置全局变量则开启。
set global general_log=1;
也可以在配置文件进行设置
general_log=1
说明 恢复时先drop掉相同数据库,再建立库,执行sql语句。
备份
mysqldump -uroot -p'123456' --all-databases --flush-privileges --single-transaction --flush-logs --triggers --routines --events --hex-blob > alldb.sql
导入
mysqldump -uroot -p'123456' < alldb.sql
说明 -B表示带着创建库的语句,恢复时不用指定数据库,自动创建数据库。
备份
mysqldump -uroot -p'123456' --flush-privileges --single-transaction --flush-logs --triggers --routines --events --hex-blob -B 数据库A 数据库B > db.sql
导入
mysql -uroot -p123456 < db.sql
说明 不加-B则要自己创建数据库,并且在恢复的时候指定将数据导入到哪个库中。 一次只能备份一个库
备份
mysqldump -uroot -p'123456' --flush-privileges --single-transaction --flush-logs --triggers --routines --events --hex-blob 数据库A > db.sql
导入
mysql -uroot -p123456 数据库A < db.sql
说明 需要数据库已经存在才能导入恢复
备份表结构和表数据
mysqldump 数据库名 -uroot -p123456 --tables 表1 表2 表3 > xx.sql
导出指定库的所有表结构,需要手动创建数据库,并在导出的sql文件中加USE 数据库才行。
mysqldump -h localhost -uroot -p123456 -d 数据库名 > xx.sql
备份指定表的数据,不包含表结构。
mysqldump -t 数据库名 -uroot -p123456 --tables 表1 表2 表3 > xx.sql
备份指定表的结构,不包含数据
mysqldump -d 数据库名 -uroot -p123456 --tables 表1 表2 表3 > xx.sql
导入
mysql -uroot -p'123456' 数据库A < xx.sql
说明
恢复
mysql -uroot -p123456 数据库A --one-database < alldb.sql
根据sql文件,简单过滤出sql语句部分。
grep -vE "#|\*|--|^$" s1-s2.sql
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。