MySQL 5.1 mysqldump导出备份

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
最近在工作的时候,要将原来在本机开发的 MySQL存储过程迁往另一Linux操作系统下的MySQL数据库,因为表结构等已经在目标数据库中存在了, 不想直接拷贝数据库过去,所以用到了 MySQL的存储过程导出和导入,经上网搜索发现用Mysqldump工具可以实现,具体用法为:
 [root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql
参数说明:
-n:   --no-create-db (没有创建数据库的信息)
-d:   --no-data     (不导出数据)
-t:   --no-create-info (没有创建数据库表的信息)
-R:   --routines      Dump stored routines (functions and procedures)
-E:  --events  (导出数据库中events)
-A:  --all-databases (导出所有的数据库)
-B:  --databases db1 db2 (导出指定的数据库)
    Mysqldump是客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建活装载表的SQL语句:
主要参数介绍:
1.连接选项
  -u,--user=name
  -p,--password=name
  -h,--host=name
  -P,--port=#
2.输出内容选项
 --add-drop-database (默认是自动加上的)
 --add-drop-table     (默认是自动加上的)
 -n;--no-create-db
 -d;--no-data
 -t;--no-create-info
3.输出格式选项
--compact (精简格式,将导出时的一些备注省略)
-c --complete-insert (导出数据的语句中,在insert to table values后加上各个字段,如insert into table(tab1,tab2,…) values(value1,value2,…))
-T(指定数据表中的数据备份为单纯的数据文件和建表SQL两个文件)
在mysqldump帮助文档中的说明:
-T, --tab=name      Creates tab separated textfile for each table to given
                           path. (creates .sql and .txt files).  NOTE: This only
                          works if mysqldump is run on the same machine as the
                           mysqld daemon.
这里提示,使用-T参数时必须保证运行mysqldump命令的客户端必须与mysqld服务器实例在同一台机器上。
经 测试可知xx.sql建表文件是以linux的root用户创建,而xx.txt文件则是以linux的mysql用户创建,因此xxx.txt文件的存 放路径一定要保证mysql用户有读写创建文件的权限。在远程利用-T备份mysql的表时是不允许的,如果你非的这么使用你会发现在本地仅仅会创建 xxx.sql文件,而xxx.txt文件则没有,它有可能在远程运行mysqld的服务器上出现(仅仅是可能,保证远程运行mysqld的linux服 务器和本地linux有相同的路径和用户权限)。
--fields-terminated-by=name(域分隔符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域引用可选字符)
--fields-escaped-by=name(转义字符)
域引用符和域引用可选字符在一次导出中不能同时使用,域引用可选字符只对认为需要引用的字段作引用,而域引用符对所有的字段都要作引用。

4.字符集选项
--default--character-set=xx
5.其他选项
-F --flush-logs(备份前刷新日志)

-l --lock-tables(给所有的表加读锁)


本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/223777


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
147 8
|
3月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
284 3
|
3月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
153 3
|
4月前
|
安全 关系型数据库 MySQL
MySQL用户备份
【10月更文挑战第2天】MySQL用户备份
114 3
|
4月前
|
存储 关系型数据库 MySQL
MySQL如何备份?
【10月更文挑战第2天】MySQL如何备份?
379 3
|
4月前
|
XML 关系型数据库 MySQL
MySQL 导出某些数据的技术详解
MySQL 导出某些数据的技术详解
248 2
|
1月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
21天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
120 42
|
12天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
67 25
|
7天前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。