返回介绍

5.3 MySQL 备份和恢复

发布于 2024-10-03 00:33:42 字数 1758 浏览 0 评论 0 收藏 0

5.3.1 MySQL 备份

备份一个数据库的另一个方法是使用 mysqldump 程序:

  1. 为你的数据库做一个完整的备份:
  2. shell> mysqldump --tab=/path/to/some/dir --opt –fullshell> mysqldump samp_db >/usr/archives/mysql/samp_db.1999-10-02
  • --tab 保存了数据库路径,用于同一台机器或完全相同配置环境的机器。
  • 则是将指定数据库安全备份,可用到不同机器配置中,[推荐]

你也可以简单地拷贝所有的表文件 ( .frm*.MYD*.MYI 文件),只要服务器不在更新任何东西。这两种方法各有优劣,mysqldump 与数据库服务协作,安全备份但备份速度较慢.直接 copy 数据库目录,简单快速但可能备份不完整(对当前数据库操作会遗失数据).

  1. 停止 mysqld 如果它正在运行,然后以--log-update 选项启动它。你将得到一个名为 hostname.n 形式的日志文件, 这里 n 是随着你每次执行 mysqladmin refreshmysqladmin flush-logs 、FLUSH LOGS 语句、或重启服务器而递增的一个数字。这些日志文件向你提供了在你执行 mysqldump 处后面进行的复制数据库改变的所需信息。

此外,要形成备份日志脚本,要系统自动进行常规备份和渐进式备份.

压缩备份:

shell> mysqldump samp_db |tar zxvf >/usr/archives/mysql/samp_db.1999-10-02.tar.gz

导入导出参数

-default-character-set=latin1  # 原数据库的字符编码
--set-charset=gbk              # 要导出的数据库文件的编码,phpmyadin 导出缺省是 utf-8。
--where                        # 导出 WHERE 语句,如导出一万行为`1 limit 10000`

5.3.2 MySQL 恢复

根据备份的两种方法,选择对应的措施.

  • 如果你用直接从数据库拷贝来的文件,将它们直接拷回数据库目录,然而,此时你需要在拷贝文件之前关闭数据库,然后重启它。
  • 如果你用 mysqldump 产生的文件,将它作为 mysql 的输入。

指定 --one-database 选项使得 mysql 只执行你有兴趣恢复的数据库的查询。

shell> mysql --one-database db_name < update.392

数据库恢复:

shell> mysql -u[user] -p [dbname] < [xxx.sql]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文