源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅谈MySQL数据库的备份与恢复

  • 时间:2022-10-16 22:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅谈MySQL数据库的备份与恢复
[b]一、MySQL 常见的备份方式 [/b] 1. 直接拷贝数据库文件(物理拷贝) 2. 使用 mysqldump 工具备份 3. 使用 mysqlhotcopy 工具备份 4. 使用 mysql 的主从同步复制,实现数据实时同步备份 [b]二、MySQL 物理数据文件结构介绍[/b] 1. 日志文件 错误日志 err log 二进制日志 binary log 更新日志 update log 查询日志 query log 慢查询日志 slow query log innodb 的 redo 日志 2. 数据文件 >>>对于 myisam 来说: 表结构信息:.frm 数据信息:.myd 数据索引信息;.myi >>>对于 Innodb 来说: 独享表空间:.ibd 共享表空间:.ibdata 3. 系统文件 配置文件:my.cnf 进程文件:xxx.pid socket文件:xxx.sock 4. replication 文件 master.info:存储在 slave 端目录下,关于 master 和 slave 相关信息 relay log:存储 I/O 进程从 master 读取的 bin-log 信息,然后由 slave 端的 SQL 线程从该 binary log 中读取解析过的日志信息,转化成 slave 所能执行的 query 语句 index:则是存放 binary log 的路径,也就是目录文件 [b]三、使用 mysqldump 备份与恢复 [/b] 1. 备份原理 mysqldump 备份原理比较简单,先查出需要备份的表结构,在文本文件中生成一个 create 语句;然后将表中的所有数据记录转换成一条 insert 语句;通过这些语句就能够创建表并插入数据。 2. 备份一个数据库 基本语法: [code]>>> mysqldump -u username -p dbname table1 table2 ... > BackupName.sql [/code] 实例说明: [code]mysqldump -u root -p test person > /tmp/backup.sql[/code] 3. 备份多个数据库 基本语法: [code]mysqldump -u username -p --databases dbname2 dbname2 > BackupName.sql[/code] 实例说明: [code]mysqldump -u root -p --databases test mysql > /tmp/backup.sql[/code] 4. 备份所有数据库 基本语法: [code]mysqldump -u username -p -all-databases > BackupName.sql[/code] 实例说明: [code]mysqldump -u -root -p -all-databases > /tmp/all.sql [/code] 5. 数据恢复 基本语法: [code]mysql -u root -p [dbname] < backup.sql[/code] 实例说明: [code]mysql -u root -p < /tmp/backup.sql[/code] [b]四、直接复制数据库目录 [/b] MySQL 有一种非常简单的备份方法,就是将 MySQL 中的数据库文件直接复制出来。这是最简单,速度最快的方法。不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。 注意:这种方法不适用于 InnoDB 存储引擎的表,而对于 MyISAM 存储引擎的表很方便。同时,还原时 MySQL 的版本最好相同。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部