1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql数据的复制与恢复_MySQL 数据库的备份与恢复

mysql数据的复制与恢复_MySQL 数据库的备份与恢复

时间:2020-08-02 09:20:33

相关推荐

mysql数据的复制与恢复_MySQL 数据库的备份与恢复

一、MySQL 常见的备份方式

1. 直接拷贝数据库文件(物理拷贝)

2. 使用 mysqldump 工具备份

3. 使用 mysqlhotcopy 工具备份

4. 使用 mysql 的主从同步复制,实现数据实时同步备份

二、MySQL 物理数据文件结构介绍

1. 日志文件

错误日志 err log

二进制日志 binary log

更新日志 update log

查询日志 query log

慢查询日志 slow query log

innodb 的 redo 日志

2. 数据文件

>>>对于 myisam 来说:

表结构信息:.frm

数据信息:.myd

数据索引信息;.myi

>>>对于 Innodb 来说:

独享表空间:.ibd

共享表空间:.ibdata

3. 系统文件

配置文件:f

进程文件: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 的路径,也就是目录文件

三、使用 mysqldump 备份与恢复

1. 备份原理

mysqldump 备份原理比较简单,先查出需要备份的表结构,在文本文件中生成一个 create 语句;然后将表中的所有数据记录转换成一条 insert 语句;通过这些语句就能够创建表并插入数据。

2. 备份一个数据库

基本语法:

>>> mysqldump -u username -p dbname table1 table2 ... > BackupName.sql

实例说明:

mysqldump -u root -p test person > /tmp/backup.sql

3. 备份多个数据库

基本语法:

mysqldump -u username -p --databases dbname2 dbname2 > BackupName.sql

实例说明:

mysqldump -u root -p --databases test mysql > /tmp/backup.sql

4. 备份所有数据库

基本语法:

mysqldump -u username -p -all-databases > BackupName.sql

实例说明:

mysqldump -u -root -p -all-databases > /tmp/all.sql

5. 数据恢复

基本语法:

mysql -u root -p [dbname] < backup.sql

实例说明:

mysql -u root -p < /tmp/backup.sql

四、直接复制数据库目录

MySQL 有一种非常简单的备份方法,就是将 MySQL 中的数据库文件直接复制出来。这是最简单,速度最快的方法。不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。

注意:这种方法不适用于 InnoDB 存储引擎的表,而对于 MyISAM 存储引擎的表很方便。同时,还原时 MySQL 的版本最好相同。

五、使用 mysqlhotcopy 快速备份

1. mysqlhotcopy 安装

2. 语法和常用选项

3. 实例备份

4. 实例恢复

六、备份策略

待续。

---------- 本文结束 ----------

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。