Mysql完全备份和恢复
实验介绍
数据库备份从物理与逻辑的角度划分可以分为:物理备份,逻辑备份。从数据库的备份策略角度,可以分为完全备份,差异备份,增量备份。这次实验主要介绍完全备份,完全备份优点是备份与恢复操作简单方便,缺点是数据存在大量的重复,占用大量的备份空间,备份时间长。
Mysql完全备份
1,使用焦油打包文件夹备份
Mysql的数据库文件默认都是保存在安装目录下的数据文件夹下面,可以直接保存数据文件夹。但是占用的空间很大,可以使用焦油打包压缩进行保存。由于数据库文件很大,可以直接使用压缩率较大的xz格式压缩,所以首先要安装xz压缩格式工具。
<代码> [root@localhost选择]# yum安装xz - y 代码>
然后,对数据库文件夹/usr/地方/mysql/数据/进行打包操作。注意这里使用焦油工具打包,最好使用相对路径,所以先切换至/usr/地方/mysql目录下,然后再打包。
<代码> # cd/usr/local/mysql/root@localhost选择 (root@localhost mysql) #沥青Jcf/opt/mysql -美元(日期+ % F) . tar。xz数据/root@localhost选择# ls mysql - 2018 - 07 - 02. -焦油。xz mysql-5.7.17 test.sql 代码>
2,使用,mysqldump工具备份
(1)使用,mysqldump命令对某些表完全备份,如下图、数据库中有测试的库,里面有一张yx的表。
<代码> mysql>显示表; +----------------+ | Tables_in_test | +----------------+ | yx | +----------------+ 1行集(0.00秒) mysql>显示数据库; +--------------------+ | |数据库 +--------------------+ | information_schema | mysql | | | performance_schema | | sys | 测试| | +--------------------+ 5行集(0.00秒)代码>
对测试库中的yx表进行备份。
<代码> [root@localhost选择]#,mysqldump yx - u root - p测试比;/opt/yx1.sql 输入密码: root@localhost选择# ls mysql - 2018 - 07 - 02. -焦油。xz mysql-5.7.17测试。sql yx1.sql 代码>
(2)使用,mysqldump命令对单个库进行完全备份
<代码> [root@localhost选择]#,mysqldump - u root - p测试比;/opt/test.sql 输入密码: root@localhost选择# ls mysql - 2018 - 07 - 02. -焦油。xz mysql-5.7.17测试。sql yx1.sql 代码>
(3)使用,mysqldump命令对多个库进行完全备份
<代码> [root@localhost选择]#,mysqldump - u root - p - mysql数据库测试比;/opt/test-mysql.sql 输入密码: root@localhost选择# ls mysql - 2018 - 07 - 02. -焦油。xz mysql-5.7.17测试mysql。sql检验。sql yx1.sql 代码>
(4)使用,mysqldump命令对所有数据库完全备份
<代码> [root@localhost选择]#,mysqldump - u root - p——所有数据库比;/opt/all.sql 输入密码: root@localhost选择# ls 所有人。sql mysql - 2018 - 07 - 02. -焦油。xz mysql-5.7.17测试mysql。sql检验。sql yx1.sql 代码>
(5)使用,mysqldump命令直接备份表结构
<代码> [root@localhost选择]#,mysqldump yx - u root - p - d测试比;/opt/desc.sql 输入密码: root@localhost选择# ls 所有人。sql desc.sql mysql - 2018 - 07 - 02. -焦油。xz mysql-5.7.17测试mysql。sql检验。sql yx1.sql 代码>
Mysql完全恢复
在需要恢复库的时候,可以使用源命令和mysql命令
1,源命令整库恢复
上面我们已经对测试库进行了备份,现在我们删除掉测试库,注意在恢复库的时候,要先创建一个同名的库,然后再恢复,否则会报错。
<代码> mysql>显示数据库; +--------------------+ | |数据库 +--------------------+ | information_schema | mysql | | | performance_schema | | sys | 测试| | +--------------------+ 5行集(0.00秒) mysql>减少数据库测试; 查询好了,1行影响(0.01秒) mysql>显示数据库; +--------------------+ | |数据库 +--------------------+ | information_schema | mysql | | | performance_schema | | sys | +--------------------+ mysql>创建数据库测试; 查询好了,1行影响(0.00秒) mysql>使用测试; 数据库修改 mysql>显示表; 空集(0.00秒) mysql>使用测试; 数据库修改 mysql>/opt/test.sql来源 mysql>显示表; +----------------+ | Tables_in_test | +----------------+ | yx | +----------------+ 1行集(0.00秒)Mysql完全备份和恢复