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
由于mysqldump导出完整的SQL语句,因此使用MySQL数据库备份客户端程序可以轻松导入数据:
mysqladmin create target_db_name
MySQL target_db_name backup-file.sql
虽然你不经常遇到MySQL数据库备份,但是熟悉它很重要。这不是坏事。使用时MySQL数据库备份,对于刚接触它的人来说,它可以保护数据库不因操作错误而丢失数据。
“MySQL数据库备份基础知识总结”已经介绍到这里了感谢您的阅读,如果您想了解更多行业资讯,可以通过欢迎关注网站,小编将为大家输出更多优质实用文章!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > MySQL数据库备份基础知识总结