Linux 中 mysql 数据库的备份与还原
# 数据库备份
使用 mysqldump 命令:
mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql
# 或者
mysqldump 数据库1 > xxx.sql
1
2
3
2
3
选项说明
-u:用户名
-p:密码
-P: 端口号,不写默认3306
--all-databases, -A:备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。
-d:只导出数据库的表结构
-t:只导出数据库的数据
--quick, -q:快速导出
--xml, -X:导出为xml文件
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 备份全部数据库的数据和结构(-A)
mysqldump -uroot -p123456 -A > 0101.sql
1
- 备份全部数据库的结构(-d)
mysqldump -uroot -p123456 -P3306 -A -d > 0102.sql
1
- 备份全部数据库的数据(-t)
mysqldump -uroot -p123456 -P3306 -A -t > 0103.sql
1
- 备份单个数据库的数据和结构(sakila 为数据库名)
mysqldump -uroot -p123456 -P3306 sakila > 0104.sql
1
- 备份单个数据库结构(sakila 为数据库名,-d)
mysqldump -uroot -p123456 -P3306 sakila -d > 0105.sql
1
- 备份单个数据库数据(sakila 为数据库名,-t)
mysqldump -uroot -p123456 -P3306 sakila -t > 0106.sql
1
- 备份多个表的结构和数据 (table1,table2为表名)
mysqldump -uroot -p123456 -P3306 sakila table1 table2 > 0107.sql
1
- 一次备份多个数据库
mysqldump -uroot -p123456 --databases db1 db2 > 0108.sql
1
# 数据库还原
1、系统命令行,注意,在导入备份数据库前,db_name 如果没有,是需要创建的, 而且与之前数据库名是一样的才可以导入。
mysqladmin -uroot -p123456 create db_name
mysql -uroot -p123456 db_name < d:\data\01.sql
1
2
2
2、soure 方法
mysql > use db
mysql > source d:\bak\0101.sql
1
2
2
说明
- 还原单个数据库、单个数据库的多表需要指定数据库,而还原多个数据库时不用指定数据库。
- 区别:备份用的命令是mysqldump, 还原用的是mysql。
上次更新: 2024/01/30, 00:35:17
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13