数据无价,谨慎操作,
防止误删,学习备份...
MySQL自带的逻辑备份工具 它支持数据库全备或指定库备份 它备份的输出以文件形式保存 并且文件内容都是SQL语句
选项 | 含义 |
---|---|
-A | --all-databases导出MySQL中所有数据库 |
-B | --databases导出一个或多个数据库 |
-d | 只导出表结构 |
-t | 只导出表内容 |
--tables | 指定需要导出的表名 |
--single-transaction | innodb热备启用一个大的事务完成的备份保证数据完整性 |
--flush-logs | 开始导出之前刷新日志 |
--default-character-set | 设置默认字符集,默认值为utf8 |
注意: 引用Windows 目录格式为 " E:\mysql\abc.sql "以反斜线分隔
(cmd 命令行环境下操作)
#导出单个数据库
mysqldump -uroot -p db_name > E:\dbname.sql
#导出多个数据库
mysqldump -uroot -p -B db1 db2 > E:\dbname.sql
#导出所有数据库
mysqldump -uroot -p -A > E:\dbname.sql
#导出整张表,导出多张表需空格隔开
mysqldump -uroot -p123456 -B db_name --tables table_name > E:\table_name.sql
#只导出表结构(不含数据部分)
mysqldump -uroot -p123456 -d db_name table_name > E:\table_name.sql
#只导出表数据(SQL数据部分)
mysqldump -uroot -p123456 -t db_name table_name > E:\table_name.sql
mysqldump 工具导出的数据文件其实是一种SQL脚本,导出后可以方便快速地恢复到数据库中
# -e 参数,执行SQL语句,返回结果重定向到Excel文件中
mysql -uroot -p123456 -e "select * from mysql.user" > E:\user.xlsx
#导入单个库或数据表,前提是库已存在
mysql -uroot -p123456 db_name < table_name.sql
#导入整个数据库
mysql -uroot -p123456 < db_name.sql
#选择数据库
mysql>use test;
#导入所有数据
mysql>source E:/dbname.sql;