Mysql数据库表数据备份

方式一、Linux下mysqldump导入导出命令备份数据库数据

1.导出数据和表结构
–本地导数据
mysql -u[用户名] -p 数据库名 > 导出数据存放路径/导出文件名.sql (回车后输入密码即可,也可以直接将密码输在p后面,只是不安全)

–远程导数据
mysql -h[ip] -P[端口号] -u[用户名] -p 数据库名 > 导出数据存放路径/导出文件名.sql (回车后输入密码即可,也可以直接将密码输在p后面)

2.导出数据库中制定的几张表

mysqldump -u用户名 -p 数据库名 table1 table2 table3 > 放置地址/导出文件名.sql (回车后输入密码即可,也可以直接将密码输在p后面)

mysqldump -h[ip] -P[端口号] -u[用户名] -p 数据库名 table1 table2 table3 > 放置地址/导出文件名.sql (回车后输入密码即可,也可以直接将密码输在p后面)
3.只导出表结构

mysqldump -u用户名 -p -d 数据库名 > 放置地址/导出文件名.sql (回车后输入密码即可)

mysqldump -h[ip] -P[端口号] -u用户名 -p -d 数据库名 > 放置地址/导出文件名.sql (回车后输入密码即可)

4.导入数据库

方法1: msyql>source 放置地址/aaa.sql;

方法2: mysql -u用户名 -p 数据库名 < 放置位置/aaa.sql; (回车后输入密码即可)

方式二、 mysqlhotcopy:数据库备份程序

mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中

shell> mysqlhotcopy db_name [/path/to/new_directory]
shell> mysqlhotcopy db_name_1 … db_name_n /path/to/new_directory
备份给定数据库中的匹配正则表达式的表:

shell> mysqlhotcopy db_name./regex/
加上发音符(‘~’)前缀,表名的正则表达式可以被否定:

shell> mysqlhotcopy db_name./~regex/

mysqlhotcopy支持下面的选项:

· —help,-?

显示帮助消息并退出。

· --allowold

如果目标存在不放弃(加上一个_old后缀重新命名它)。

· --checkpoint=db_name.tbl_name

在指定的db_name.tbl_name插入检查点条目。

· —debug

启用调试输出。

· --dryrun,-n

报告动作而不执行它们。

· --flushlog

所有表锁定后刷新日志。

· --keepold

完成后不删除以前(重新命名的)的目标。

· – method=command

复制方法(cp或scp)。

· --noindices

备份中不包括全部索引文件。这样使备份更小、更快。可以在以后用myisamchk -rq重新构建索引。

· --password=password,-p password

当连接服务器时使用的密码。请注意该选项的密码值是不可选的,不象其它MySQL程序。

· --port=port_num,-P port_num

当连接本地服务器时使用的TCP/IP端口号。

· --quiet,-q

除了出现错误时保持沉默。

· --regexp=expr

复制所有数据库名匹配给出的正则表达式的数据库。

· --socket=path,-S path

用于连接的Unix套接字文件。

· --suffix=str

所复制的数据库名的后缀。

· --tmpdir=path

临时目录(代替/tmp)。

· --user=user_name,-u user_name

当连接服务器时使用的MySQL用户名。

mysqlhotcopy从选项文件读取[client]和[mysqlhotcopy]选项组。

要想执行mysqlhotcopy,你必须可以访问备份的表文件,具有那些表的SELECT权限和RELOAD权限(以便能够执行FLUSH TABLES)。

使用perldoc调用其它mysqlhotcopy文档:

shell> perldoc mysqlhotcopy

mysqlimport:数据导入程序
shell> mysqlimport [options] db_name textfile1 [textfile2 …]
对于在命令行中命名的每个文本文件,mysqlimport去掉文件名的扩展名并使用结果来确定将导入文件内容的表名。例如,文件 patient.txt、patient.text和patient均将导入表patient。

mysqlimport支持下面的选项:

· —help,-?

显示帮助消息并退出。

· --columns=column_list, -c column_list

该选项采用用逗号分隔的列名作为其值。列名的顺序指示如何匹配数据文件列和表列。

· --compress,-C

压缩在客户端和服务器之间发送的所有信息(如果二者均支持压缩)。

· —debug[=debug_options],-# [debug_options]

写调试日志。debug_options字符串通常是’d:t:o,file_name’。

· --delete,-D

导入文本文件前清空表。

· --fields-terminated-by=…,–fields-enclosed-by=…,–fields-optionally-enclosed-by=…,–fields-escaped-by=…,–lines-terminated-by=…

这些选项与LOAD DATA INFILE相应子句的含义相同。参见13.2.5节,“LOAD DATA INFILE语法”。

· --force,-f

忽视错误。例如,如果某个文本文件的表不存在,继续处理其它文件。不使用–force,如果表不存在则mysqlimport退出。

· --host=host_name,-h host_name

将数据导入给定主机上的MySQL服务器。默认主机是localhost。

· --ignore,-i

参见–replace选项的描述。

· --ignore-lines=n

忽视数据文件的前n行。

· --local,-L

从本地客户端读入输入文件。

· --lock-tables,-l

处理文本文件前锁定所有表以便写入。这样可以确保所有表在服务器上保持同步。

· --password[=password],-p[password]

当连接服务器时使用的密码。如果使用短选项形式(-p),选项和 密码之间不能有空格。如果在命令行中–password或-p选项后面没有 密码值,则提示输入一个密码。

· --port=port_num,-P port_num

用于连接的TCP/IP端口号。

· --protocol={TCP | SOCKET | PIPE | MEMORY}

使用的连接协议。

· --replace,-r

–replace和–ignore选项控制复制唯一键值已有记录的输入记录的处理。如果指定–replace,新行替换有相同的唯一键值的已有行。如果指定–ignore,复制已有的唯一键值的输入行被跳过。如果不指定这两个选项,当发现一个复制键值时会出现一个错误,并且忽视文本文件的剩余部分。

· --silent,-s

沉默模式。只有出现错误时才输出。

· --socket=path,-S path

当连接localhost时使用的套接字文件(为默认主机)。

· --user=user_name,-u user_name

当连接服务器时MySQL使用的用户名。

· --verbose,-v

冗长模式。打印出程序操作的详细信息。

· --version,-V

显示版本信息并退出。

这里是一个示例会话,显示如何使用mysqlimport:

shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
shell> ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
shell> od -c imptest.txt
0000000   1   0   0  \t   M   a   x       S   y   d   o   w  \n   1   0
0000020   1  \t   C   o   u   n   t       D   r   a   c   u   l   a  \n
0000040
shell> mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
shell> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值