mysqldump数据库备份还原详解

mysqldump备份常见用法

1、导出整个数据库(包括数据库中的数据)

mysqldump -u username -p dbname > dbname.sql

2、导出数据库结构(不含数据)

mysqldump -u username -p -d dbname > dbname.sql

3、导出数据库中的某张数据表(包含数据)

mysqldump -u username -p dbname tablename > tablename.sq

mysqldump -uroot -p -B dbname --table tablename > tablename.sql

4、导出数据库中的某张数据表的表结构(不含数据)

mysqldump -u username -p -d dbname tablename > tablename.sql

5、备份数据库时使用参数(--ignore-table)排除某个表或多个表

mysqldump -uroot -p“password” --ignore-table=dbname.table1 --ignore-table=dbname.table2 dbname > /opt/backup.sql

sql文件还原方法

1、mysql -uroot -p"db_password" -f dbname < backup.sql (-f 参数表示在导出过程中忽略出现的SQL错误)

nohup mysql -uroot -p"db_password" -f dbname < backup.sql > /dev/null 2>&1 & (在导入较大的sql文件时可以放到后台执行)

2、mysql -uroot -p 先登录到数据库,use dbname; 切换到需要导入的库中,然后执行 source /opt/backup.sql; 这样就可以导入了

mysqldump 参数详解

--host 指定要备份数据库的服务器

--port MySQL服务器的端口号

--user 连接MySQL服务器的用户名

--password 连接MySQL服务器的密码

--add-locks 备份数据库表时锁定数据库表

--databases, -B 导出多少数据库,参数后面所有参量都被看作数据库名

--all-databases 备份MySQL服务器上的所有数据库

--all-tablespaces , -Y导出全部表空间 -y不导出任何表空间信息

--add-drop-table 在每个创建数据库表语句前添加删除数据库表的语句

--no-create-db 禁止生成创建数据库语句

--no-create-info 禁止生成创建数据库库表语句

--complete-insert, -c使用完整的insert语句(包含列名称),这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败

--no-data, -d 不导出任何数据,只导出数据库表结构

--no-create-info, -t 只导出数据,而不添加CREATE TABLE 语句

--no-create-db, -n 只导出数据,而不添加CREATE DATABASE 语句

--ignore-table 导出数据库时忽略某个表

--force,-f 在导出过程中忽略出现的SQL错误,当出现错误时仍然继续后面的操作

--add-drop-database 每个数据库创建之前添加drop数据库语句

--add-drop-table 每个数据表创建之前添加drop数据表语句,默认为打开状态,使用–skip-add-drop-table取消选项

--add-locks在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE,默认为打开状态,使用–skip-add-locks取消选项

--default-character-set 设置默认字符集,默认值为utf8

--comments 附加注释信息,默认为打开,可以--skip-comments取消

--compact导出更少的输出信息(用于调试),去掉注释和头尾等结构,(可以使用选项 –skip-add-drop-table –skip-add-locks –skip-comments –skip-disable-keys)

--events, -E 导出事件

--flush-privileges 在导出mysql数据库之后,发出一条FLUSH PRIVILEGES 语句

--flush-logs 开始导出之前刷新日志,请注意,假如一次导出多个数据库(使用选项–databases或者–all-databases),将会逐个数据库刷新日志

除使用–lock-all-tables或者–master-data外,在这种情况下,日志将会被刷新一次,相应的表同时被锁定,因此,如果打算同时导出和刷新日志应该使用–lock-all-tables 或者–master-data 和–flush-logs

--delayed-insert 采用延时插入方式(INSERT DELAYED)

--comments 添加注释信息

--compact 压缩模式,产生更少的输出

--complete-insert 输出完成的插入语句

--default-character-set 指定默认字符集

--lock-tables 备份前,锁定所有数据库表

--lock-all-tables, -x提交请求锁定所有数据库中的所有表,以保证数据的一致性,这是一个全局读锁,并且自动关闭–single-transaction 和–lock-tables 选项

--debug 输出debug信息,用于调试(默认值为d:t:o,/tmp/mysqldump.trace)例 mysqldump -uroot -p –all-databases –debug=” d:t:o,/tmp/debug.trace”

来自为知笔记(Wiz)

时间: 2024-10-23 09:13:03

mysqldump数据库备份还原详解的相关文章

(转)MySQL备份原理详解

MySQL备份原理详解 原文:http://www.cnblogs.com/cchust/p/5452557.html 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间.这篇文章主要讨论MySQL的备份方案,重点介绍几种备份方式的原理,包括文件系统快照(LVM),逻辑备份工具M

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大.这篇文章的主题就是其中一个功能--快照. 快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品: 其实

SQLServer 服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解 转自:http://blog.csdn.net/e_online/article/details/4597957 角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户.数据库角色的成员可以分为如下几类:Windows用户组或用户账户SQL Server登录其他角色SQL Server的安全体系结构中包括了

SQLServer中服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解 by e-online 26. 九月 2009 18:55 coming from http://blog.csdn.net/e_online/article/details/4597957 角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户. 数据库角色的成员可以分为如下几类: Windows用户组或

第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原

MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql

MYSQL数据库备份还原

MYSQL数据库备份还原 一.  数据库备份 备份数据是数据库管理最常用的操作.为了保证数据库中数据的安全,数据管理员需要定期地进行数据备份.一旦数据库遭到破坏,即可通过备份的文件来还原.因此,数据备份是很重要的工作. 1.使用mysqldump 命令备份 mysqldump 命令可以将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中.mysqldump 命令的工作原理很简单: 它先查出需要备份的表的结构,再在文本文件中生成一个CREATE 语句,然后将表中的所有记

Centos7安装mariadb galera cluster数据库集群 & 详解

#Galera集群特点 集群之间无延时,同步复制.而master-slave主从异步复制,存在延迟. active-active多主,集群内部服务器都是同时写,必须等所有集群内所有数据库都完成数据写入,才会反馈完成,所以不存在数据丢失的情况. 集群节点自动故障转移,如果集群中单个节点故障,失效节点会自动被清除. 扩展方便,只要将新的节点添加到集群,新节点自动复制数据. #Galera集群原理     #主要通过galera插件保证数据的一致性,该数据复制的过程是可认证的复制,原理如下: #解析

SQL server数据库备份还原问题备忘(亲测有效)

问题一:SQL server数据库备份还原方法 http://www.cnblogs.com/zgqys1980/archive/2012/07/04/2576382.html 问题二:无法执行 BACKUP LOG,因为当前没有数据库备份 http://blog.csdn.net/aojiancc2/article/details/46316451 问题三:还原数据库失败 备份集中数据库备份与现有数据库不同 http://jingyan.baidu.com/article/fb48e8be52

【Anroid进阶】SQLite数据库使用完全详解

在Android开发中,我们一般可以使用文件.sharedpreferences.以及数据库来保存我们程序运行中产生的数据,本篇主要讲解如何使用SQLite数据库,完成数据的增删改查的一般操作 SQLite介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它. SQLite 和其他的主要 SQL 数据库没什么区别.它的优点就是高效,Android 运行时环境包含了完整的 SQLite. SQLite 和其他