MySQL数据库备份基础知识总结

分类:编程技术 时间:2024-02-20 15:32 浏览:0 评论:0
0
本文介绍了《MySQL数据库备份基础知识总结》的相关知识。在实际案例操作过程中,很多人都会遇到这样的困境。接下来就让小编带领大家学习一下如何处理这些情况。酒吧!我希望你能仔细阅读并学到一些东西!

1.数据备份快捷方式

由于该方法尚未经过官方文档验证,所以暂时称其为试用。

目的:备份hostA中的一个MySQL数据库TestA,恢复到hostB

测试环境:

操作系统:WinNT4.0、Mysql3.22.34、 MyAdmin 2.1.0

在hostA上安装MySQL数据库备份并建立TestA数据库

在没有TestA数据库的hostB上安装MySQL数据库备份

方法步骤:

启动phpMyAdmin即可查看HostA和HostB中的数据库列表。 HostB中没有TestA数据库

找到HostA中MySQL数据库备份的安装目录,找到数据库目录data

p>

在我的测试环境中,这个目录是C:data

找到数据库名对应的子目录C:mysqldataTestA

粘贴复制到HostB的Data目录下,HostA的MySQL数据库备份数据目录下的文件与HostB的相同

刷新HostB的phpMyAdmin,查看数据库列表。我们看到TestA已经出现,查询、修改等操作正常。备份和恢复成功。

测试结论:MySQL数据库可以以文件的形式保存、备份、恢复。只需要恢复对应的文件目录即可,无需使用其他工具进行备份。


2.正式方法(官方推荐):

导出MySQL数据库备份需要用到的mysqldump工具。基本用法是:

mysqldump [OPTIONS]数据库[表]

如果不提供任何表,则会导出整个数据库。

通过执行mysqldump --help,您可以获得您的 mysqldump 版本支持的选项列表。

请注意,如果运行 mysqldump 时不带 --quick 或 --opt 选项,mysqldump 会在导出结果之前将整个结果集加载到内存中,如果您导出大型数据库,可能会出现这种情况。一个问题。

mysqldump 支持以下选项:

--add-locks

在导出每个表之前添加 LOCK TABLES,然后在导出之后添加 UNLOCK TABLE。 (以便能够更快地插入 MySQL 数据库备份)。

--add-drop-table

在每个create语句之前添加一个删除表。

--allow-keywords

允许创建作为关键字的列名称。这是通过在列名称前加上表名称前缀来完成的。

-c, --complete-insert

使用完整的插入语句(使用列名)。

-C, --compress

如果客户端和服务器都支持压缩,则压缩它们之间的所有信息。

--delayed

使用INSERT DELAYED co命令插入行。

-e, --extended-insert

使用新的多行 INSERT 语法。 (提供更紧密、更快的插入语句)

-#, --debug[=option_string]

跟踪程序使用情况(用于调试)。

--help

显示帮助消息并退出。


--fields-termerated-by=...

--fields-enheld-by=...

--fields -可选地封闭-by=...

--fields-escaped-by=...

--fields-termerated-by=...

这些选项与 -T 选项一起使用,与相应的 LOAD DATA INFILE 子句具有相同的含义。

LOAD DATA INFILE 语法。

-F, --flush-logs

在开始导出之前刷新 MySQL 数据库备份服务器中的日志文件。

-f, --force,

即使我们在表导出过程中遇到 SQL 错误,也请继续。

-h, --host=..

从指定主机上的 MySQL 数据库备份服务器导出数据。默认主机是 localhost。

-l, --lock-tables。

锁定所有表以开始导出。

-t, --no-create-info

不写入表创建信息(CREATE TABLE语句)

-d, --no-data

不写入写入有关表行信息的任何信息。如果您只想导出表的结构,这非常有用!

--opt

相同:

--quick -- add- drop-table --add-locks --extended-insert --lock-tables

应该能够以最快的速度导出备份服务器,以便读入 MySQL 数据库。

-pyour_pass, --password[=your_pass]

连接到服务器时使用的密码。如果您不指定 ?=your_pass?部分,mysqldump 需要来自终端的密码。

-P port_num, --port=port_num
连接到主机时使用的 TCP/IP 端口号。 (这用于连接到 localhost 以外的主机,因为它使用 Unix 套接字。)

-q, --quick

不缓冲查询,直接导出到 stdout;使用 MySQL_use_result() 可以做到这一点。

-S /path/to/socket, --socket=/path/to/socket

连接到本地主机(它是默认主机)时使用的套接字文件。

-T, --tab=path-to-some-directory

对于每个给定表,创建一个 table_name.sql 文件,其中包含 SQL CREATE 命令和 A table_name。包含数据的 txt 文件。注意:只有当 mysqldump 与 mysqld 守护进程在同一台机器上运行时,这才有效。 .txt 文件的格式由 --fields-xxx 和 --lines--xxx 选项确定。

-u user_name, --user=user_name

MySQL 连接服务器时使用的用户名。默认值是您的 Unix 登录名。

-O var=option, --set-variable var=option
设置变量的值。下面列出了可能的变量。

-v, --verbose

详细模式。打印出有关程序功能的更多信息。

-V, --version

打印版本信息并退出。

-w, --where=where-condition

仅导出选定的记录;请注意,引号是强制性的!

"--where= user=jimf" "-wuserid>1" "-wuserid1"

mysqldump 最常见的用途可能是对整个数据库进行备份:

mysqldump --opt database > backup-file .sql

但它对于使用一个数据库中的信息丰富 MySQL 数据库备份也很有用:


mysqldump --opt database

< p>MySQL --host=remote-host -C 数据库

由于mysqldump导出完整的SQL语句,因此使用MySQL数据库备份客户端程序可以轻松导入数据:


mysqladmin create target_db_name

MySQL target_db_name backup-file.sql

虽然你不经常遇到MySQL数据库备份,但是熟悉它很重要。这不是坏事。使用时MySQL数据库备份,对于刚接触它的人来说,它可以保护数据库不因操作错误而丢失数据。

“MySQL数据库备份基础知识总结”已经介绍到这里了感谢您的阅读,如果您想了解更多行业资讯,可以通过欢迎关注网站,小编将为大家输出更多优质实用文章!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > MySQL数据库备份基础知识总结

用户评论