`
zhangjianbin
  • 浏览: 18953 次
  • 性别: Icon_minigender_1
  • 来自: 太原
最近访客 更多访客>>
社区版块
存档分类
最新评论

mysqldump备份mysql数据库

阅读更多
备份还原数据库 (Linux and windows)
Usage: mysqldump [OPTIONS] database [table1 table2...]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
#mysqldump [OPTIONS] db_name [OPTIONS] [tables] > bak_path_And_filename
备份:(mysqldump命令必须在mysql安装的bin目录下运行)
1.导出表结构和数据
Mysqldump -u”root” –p”pw” [db_Name] > d:\*.sql
2.只导出表结构
Mysqldump -u”root” -p”pw” -d [db_Name] > d:\*.sql
3.只导出表数据
Mysqldump -u”root” -p”pw” -t [db_Name] > d:\*.sql
4.导出指定的某些表(-t,-d)
Mysqldump -u”root” -p”pw” -B[db_Name] --table [tablelist] > d:\*.sql
5.导出一个表的部分数据
mysqldump -u”root” -p”pw” [db_Name] [table_name] -where=” conditions” > d:\*.sql
还原--导入数据:
Mysql -u”root” -p”pw”
Use db_Name
mysql db_Name < d:\*.sql 或者 source d:\*.sql


mysqldump支持下列常用选项(参数OPTIONS):
-?, --help
帮助
1.连接路径:
-u, --user=name
与服务器连接时,MySQL使用的用户名。缺省值是你的当前登录名。
-p, --password[=name]
与服务器连接时,MySQL使用的口令。缺省值是你的当前用户口令。
-h, --host=name
与服务器连接时,MySQL连接的数据库服务器IP。缺省主机是localhost。
-P, --port=#
与服务器连接时,MySQL数据库服务器使用的TCP/IP端口号。用于连接localhost以外的DB服务器时使用
2.数据筛选:
-A, --all-databases
选择所有的数据库
-B, --databases
指定操作数据库
--tables
指定操作表
-t, --no-create-info
只导出数据,而不添加CREATE TABLE语句。
-d, --no-data
不导出任何数据,只导出数据库表结构。
-w, --where=name
指定欲导出数据条件
3.字符集控制:
--default-character-set=name
指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。
--set-charset
在输出文件中添加“SET NAMES default_character_set”使用默认字符集,--skip-set-charset取消默认
4.输出控制:
--opt
这只是一个快捷选项,等同于同时添加--add-drop-table,--add-locks,--create-options,--quick,--extended-insert,--lock-tables,--set-charset,--disable-keys选项。本选项能让 mysqldump 很快的导出数据,并且导出的数据能很快导回。该选项默认开启,但可以用 --skip-opt 禁用。注意,如果运行mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。如果想每条记录对应一个insert语句,只需要加--extented-insert=false,[zzx@localhost ~]$ mysqldump --extended-insert=false -uroot test t1> a
-q, --quick
该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。
-T, --tab=name
对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据–fields-xxx和 –lines–xxx选项来定。
-c, --complete-insert
导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到max_allowed_packet 参数的影响而导致插入失败。因此,需要谨慎使用该参数。
5.其他常用参数:
-x, --lock-all-tables
在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭 --single-transaction 和 --lock-tables 选项。
-l, --lock-tables
它和 --lock-all-tables 类似,不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 选项。
--single-transaction
该选项在导出数据之前提交一个 BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表,例如 InnoDB 和 BDB。本选项和 --lock-tables 选项是互斥的,因为 LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用 --quick 选项。
--add-drop-database
在创建数据库之前添加:DROP DATABASE语句
--add-drop-table
在每个create语句之前增加一个drop table
--add-locks
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
-F --flush-logs
备份前刷新日志,通常结合锁定表参数使用
--compatible = name
它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。

以下为网络转载一些该命令的常用方法:
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
最常见的mysqldump使用可能制作整个数据库的一个备份:
mysqldump –opt database > backupfile.sql
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename


下面的例子为备份mysql数据库命令:

#!/bin/bash
#1.var
dbname=xxx1
dbuser=xxx2
dbpwd=xxx3
dblanguage=gbk
filename="$dbname"_"`date +%Y%m%d`"

#2.Deiectory
basedir="/opt/backup"
remodir="/"

#3.tar.gz
/usr/local/mysql/bin/mysqldump --opt --extended-insert=false --default-character-set=$dblanguage -u$dbuser -p$dbpwd -S /tmp/mysql.sock $dbname > /opt/backmysql/$filename".sql"
cd /opt/backmysql
tar -zcf $filename".tar.gz" $filename".sql"

#4.Delete
rm -rf $filename".sql"

分享到:
评论

相关推荐

    mysqldump备份mysql数据库.docx

    mysqldump 是 MySQL 中的一个备份工具,用于将 MySQL 数据库中的数据导出到一个 SQL 文件中,以便在需要时恢复数据。下面是 mysqldump 的使用方法和选项介绍。 mysqldump的基本使用方法 mysqldump 的基本语法为:`...

    python自动备份mysql数据库,并删除七天前文件

    本示例涉及的主题是使用Python来自动备份MySQL数据库,并且定期清理过期的备份文件,以保持存储空间的有效利用。下面将详细介绍这个过程以及相关的知识点。 首先,我们需要了解Python在数据库操作中的角色。Python...

    mysqldump java远程备份mysql数据库 cmd备份

    下面将详细介绍如何通过CMD(命令提示符)和Java来使用mysqldump进行MySQL数据库的备份。 ### CMD备份 在Windows系统中,我们通常使用CMD(命令提示符)来执行mysqldump命令。首先,确保MySQL服务器已运行,并且...

    Winform中使用mysqldump实现选择部分表定期备份mysql数据库源码.rar

    Winform中使用mysqldump实现选择部分表定期备份mysql数据库源码.rar Winform中使用mysqldump实现选择部分表定期备份mysql数据库源码.rar Winform中使用mysqldump实现选择部分表定期备份mysql数据库源码.rar Winform...

    python备份mysql数据库

    当谈到使用Python来备份MySQL数据库时,我们可以借助一些工具和库实现这一目标。在这个场景中,"python备份mysql数据库"的实践主要涉及到以下几个核心知识点: 1. Python语言:Python是一种高级编程语言,以其简洁...

    java备份mysql数据库

    标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...

    windows备份mysql数据库bat脚本.rar

    总结来说,"windows备份mysql数据库bat脚本.rar"提供了一个高效且灵活的MySQL数据库备份方案,结合了`mysqldump`工具和批处理脚本,实现了自动化备份和历史数据管理。企业可以根据自身需求调整脚本参数,以满足特定...

    delphi备份和还原MySql数据库.zip

    《使用Delphi进行MySQL数据库的备份与还原》 在IT领域,数据库的备份与还原是至关重要的环节,尤其是在开发和维护阶段,确保数据的安全性是每个程序员必须关注的问题。本篇将详细介绍如何利用Delphi这一强大的集成...

    windows_下_自动备份mysql数据库--按时间命名备份文件.doc

    ### Windows 下自动备份 MySQL 数据库 -- 按时间命名备份文件 #### 一、概述 在 Windows 系统中,为了确保数据的安全性和完整性,定期对 MySQL 数据库进行备份是非常必要的。本文档介绍了几种在 Windows 环境下...

    C#实现MySQL数据库的备份、还原和初始化

    总结起来,C#实现MySQL数据库的备份、还原和初始化主要涉及对数据库操作的封装,通过执行命令行工具(如`mysqldump`和`mysql`)来完成数据库的生命周期管理。理解这些基本操作对任何使用C#与MySQL交互的开发者来说都...

    定时备份mysql数据库

    定时备份MySQL数据库是一项必不可少的任务,确保在出现意外情况如硬件故障、软件错误或人为操作失误时,能够快速恢复到正常状态。本篇文章将详细介绍如何配置定时备份MySQL数据库,包括每日、每周和每月的备份策略。...

    远程备份MySQL数据库

    "远程备份MySQL数据库" 远程备份MySQL数据库是一种非常重要的数据库管理任务,旨在保护数据库中的数据免受意外损失或篡改的影响。利用sqldump工具,可以轻松地将远程数据库备份到本地,确保数据的安全性和可靠性。 ...

    在win10系统中设置定时任务自动备份MySQL数据库文件

    在Windows 10系统中,设置定时任务自动备份MySQL数据库文件是一项重要的数据保护措施,它可以帮助用户定期保存和恢复重要数据。以下是如何实现这一功能的详细步骤和相关知识点。 首先,我们需要了解MySQL数据库的...

    mysql数据库备份还原实战操作步骤-mysqldump备份还原

    MySQL 数据库备份还原实战操作步骤 - mysqldump 备份还原 在本文中,我们将介绍 MySQL 数据库备份还原实战操作步骤,包括使用 mysqldump 工具进行备份和恢复数据库的详细指令。 一、备份数据库 mysqldump 是 ...

    mysql数据库自动定时备份

    MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...

    C#f服务自动备份MySql数据库

    2. **创建备份SQL语句**:备份MySql数据库通常涉及创建一个SQL导出命令,例如`mysqldump`工具。在C#中,我们可以使用`SqlCommand`类执行自定义SQL语句来实现这一功能。例如,你可以创建一个`CREATE DATABASE`命令来...

    C#实现备份、还原MySql数据库

    要备份MySQL数据库,我们需要执行SQL的`mysqldump`命令,这是一个用于创建数据库备份的实用程序。在C#中,我们可以通过`Process`类来调用这个命令行工具。 以下是一个简单的C#代码示例,展示如何执行`mysqldump`...

    自动备份mysql数据库

    ### 自动备份MySQL数据库知识点详解 #### 一、概述 在IT行业中,数据备份是一项非常重要的任务,尤其对于运行MySQL数据库的应用系统来说更是如此。本文将详细介绍如何通过编写批处理脚本来实现MySQL数据库的自动...

    使用mysqldump命令导出MYSQL数据库

    `mysqldump`是一个强大的命令行工具,它允许用户备份、导出MySQL数据库的数据和结构。这个工具对于开发人员和系统管理员来说是必不可少的,因为它提供了在不同环境之间迁移数据的能力,也可以用于定期备份,防止数据...

    C#备份还原mysql数据库

    本篇文章将详细讲解如何使用C#来实现MySQL数据库的备份和还原功能。 首先,要进行MySQL数据库的备份,我们需要利用MySQL提供的命令行工具或者API接口。在C#中,我们可以使用`MySqlCommand`类执行SQL语句来完成这个...

Global site tag (gtag.js) - Google Analytics