UNPKG

1.97 kBMarkdownView Raw
1mysqldump
2===
3
4MySQL数据库中备份工具
5
6## 补充说明
7
8**mysqldump命令** 是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。
9
10### 语法
11
12```shell
13mysqldump(选项)
14```
15
16### 选项
17
18```shell
19--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;
20--add-locks:备份数据库表时锁定数据库表;
21--all-databases:备份MySQL服务器上的所有数据库;
22--comments:添加注释信息;
23--compact:压缩模式,产生更少的输出;
24--complete-insert:输出完成的插入语句;
25--databases:指定要备份的数据库;
26--default-character-set:指定默认字符集;
27--force:当出现错误时仍然继续备份操作;
28--host:指定要备份数据库的服务器;
29--lock-tables:备份前,锁定所有数据库表;
30--no-create-db:禁止生成创建数据库语句;
31--no-create-info:禁止生成创建数据库库表语句;
32--password:连接MySQL服务器的密码;
33--port:MySQL服务器的端口号;
34--user:连接MySQL服务器的用户名。
35--skip-lock-tables: 不锁表导出
36```
37
38### 实例
39
40 **导出整个数据库**
41
42```shell
43mysqldump -u 用户名 -p 数据库名 > 导出的文件名
44mysqldump -u linuxde -p smgp_apps_linuxde > linuxde.sql
45```
46
47 **导出一个表**
48
49```shell
50mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
51mysqldump -u linuxde -p smgp_apps_linuxde users > linuxde_users.sql
52```
53
54 **导出一个数据库结构**
55
56```shell
57mysqldump -u linuxde -p -d --add-drop-table smgp_apps_linuxde > linuxde_db.sql
58```
59
60`-d`没有数据,`--add-drop-tabl`e每个create语句之前增加一个`drop table`
61
62### 问题解决
63
64**锁表失败**
65```
66mysqldump: Got error: 1044: "Access denied for user 'appuser'@'1%' to database 'tc_mall'" when doing LOCK TABLES
67```
68可使用`--skip-lock-tables`在导出数据阶段跳过锁表流程
69
70