mysqldump
MySQL数据库中备份工具
补充说明
mysqldump命令 是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。
语法
1mysqldump(选项)
选项
1--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;
2--add-locks:备份数据库表时锁定数据库表;
3--all-databases:备份MySQL服务器上的所有数据库;
4--comments:添加注释信息;
5--compact:压缩模式,产生更少的输出;
6--complete-insert:输出完成的插入语句;
7--databases:指定要备份的数据库;
8--default-character-set:指定默认字符集;
9--force:当出现错误时仍然继续备份操作;
10--host:指定要备份数据库的服务器;
11--lock-tables:备份前,锁定所有数据库表;
12--no-create-db:禁止生成创建数据库语句;
13--no-create-info:禁止生成创建数据库库表语句;
14--password:连接MySQL服务器的密码;
15--port:MySQL服务器的端口号;
16--user:连接MySQL服务器的用户名。
17--skip-lock-tables: 不锁表导出
实例
导出整个数据库
1mysqldump -u 用户名 -p 数据库名 > 导出的文件名
2mysqldump -u linuxde -p smgp_apps_linuxde > linuxde.sql
导出一个表
1mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
2mysqldump -u linuxde -p smgp_apps_linuxde users > linuxde_users.sql
导出一个数据库结构
1mysqldump -u linuxde -p -d --add-drop-table smgp_apps_linuxde > linuxde_db.sql
-d
没有数据,--add-drop-tabl
e每个create语句之前增加一个drop table
问题解决
锁表失败
1mysqldump: Got error: 1044: "Access denied for user 'appuser'@'1%' to database 'tc_mall'" when doing LOCK TABLES
可使用--skip-lock-tables
在导出数据阶段跳过锁表流程
来源:https://github.com/jaywcjlove/linux-command
最后修改于: Wednesday, January 31, 2024
版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。