MySQL 数据备份和恢复

以下所有操作都是在doc命令中执行

一、数据备份

mysqldump将数据库中的数据备份成一个文本文件,enter password是输入mysql数据库的密码

备份一个指定数据库的一个表

如果数据库后面没有表,则备份整个数据库
在这里插入图片描述
-u 指定用户 -p 指定数据库 数据库后面可以添加多个要备份的属于你要备份数据库的表 最后面是备份到的哪个文件,可以给出相对路径也可以是绝对路径,文件后缀名不一定要是’.sql’
在这里插入图片描述
指定路径下寻找备份好的文件
打开文件,以“–”开头的都是SQL语句的注释,以“/*40101”开头的内容是只有MySQL版本大于或等于指定的4.1.1版时才执行的语句
在这里插入图片描述
文件中的create table会创建表,而insert会向表中插入数据,这两个语句都是用来恢复数据的时候用到的。
在这里插入图片描述
在这里插入图片描述

备份多个数据库

在这里插入图片描述
在这里插入图片描述
–database后面跟着数据库的名字

备份所有数据库

在这里插入图片描述
在这里插入图片描述

直接复制整个数据库目录

将mysql中的数据库文件直接复制出来,最好先停止服务器,这样可以保证在复制期间数据库中的数据不会发生变化。这种方法不是最好的备份方法,在此处不再多说

使用musqlhotcopy工具快速备份

备份时不能停止MYSQL服务器,可以采用此工具。
该工具主要在linux操作系统下使用
工作原理:先将需要备份的数据库加上一个读操作锁,然后用flush tables将内存中的数据写回到硬盘上的数据库中,最后把需要备份的书苦苦文件复制到目标目录
该工具不是MYSQL自带的,需要安装Pel数据库接口包
这是Perl的数据库接口包
基本命令: mysqlhotcopy[option] dbname1 dbname2… backupDir/
此中,dbnam1、2.。。。是需要备份的数据库的名称,backupDir是要被分到那个目录下的文件中
可以使用help查看mysqlhotcopy的帮助

二、数据恢复

在这里插入图片描述

直接复制到数据库目录

该方法对MyISAM类型的表有效,对InnoDB表的表空间不能直接复制
在linux系统下,复制到数据库目录后,一定要将数据库的用户和组变成mysql

chown -R mysql,mysql dataDir

两个mysql,前者为组后者为用户

数据库迁移

相同版本的MYSQL数据库之间的迁移

在数据库表都是MyISAM类型的时候使用复制数据库目录实现数据库迁移
但最安全的方式是:mysqldump命令备份数据库,然后mysql命令将备份的文件还原到新的MySQL数据库中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值