Mysql数据库技术——数据库备份技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37163479/article/details/79569847

数据库备份技术

逻辑备份是指只将数据库里面的逻辑数据打包走(逻辑数据是指数据库里有效的数据)。

逻辑备份的优缺点: 
优点:备份出来的是纯数据,占用磁盘空间是很小的
缺点:因为备份出来的是sql语句,所以时间较长


1.Sql语法备份
本身是一种数据导出的方法,同时可以用来辅助备份,它可以对一个表的其中一列或者某几列做备份(导出)

语法:select xxx into outfile filename from table…

举例:
具体情况下需要对到处的文件夹进行授权:

[root@Client opt]#mkdir /opt/backup
[root@Client opt]#chown mysql:mysql /opt/backup

如果我们需要导出user表:

mysql > select host,user,password into outfile ‘/opt/mysql_user.txt’ from mysql.user;

创建出的备份文件可在/opt 目录下找到mysql_user.txt 文件

当我们需要恢复数据时:

mysql > load data local infile ‘/opt/backup/emp.txt into table emp;’


2.mysqldump 逻辑备份工具(导出为sql语句)

①表级
备份数据:

mysqldump -uroot -p[数据库密码] 库名 表名 > 备份文件路径

例如:

[root@Client opt] mysqldump -uroot -p123456 test emp > /opt/backup/emp_bak.sql

恢复数据:

1.load data local infile 数据文件路径 into table 表名
2.source 恢复文件路径 (在进入数据库的情况下 )

例如:

[root@Client opt] load data local infile ‘/opt/backup/emp_back.sql’ from emp;
mysql > source /opt/backup/emp_back.sql;

②数据库级

mysql -uroot -p[密码] –database 数据库名 > 备份文件路径

例如:
备份数据:

[root@Client opt] mysqldump -uroot -p123456 –database test > /opt/backup/test.sql;

恢复数据

[root@Client opt] mysqldump -uroot -p123456 < 备份路径
source 用法相同

③全库级
备份数据

mysqldump -uroot -p[密码] –all-database > 备份文件路径

例如

[root@Client opt]mysqldump -uroot -p[密码] –all-database > /opt/backup/all.sql

恢复数据
(1)初始化数据库

[root@Client opt]mysql_install_db –datadir =/opt/mysql/

(2)恢复全库

[root@Client opt] vim /etc/my.cnf
加入一行
skip-grant-tables —-跳过登陆授权
mysql > source /opt/backup/all.sql

(3) 进行测试

去掉 skip-grant-tables 这一行
mysql -uroot -p123456

如果能正常登陆就说明,数据库恢复完成。

猜你喜欢

转载自blog.csdn.net/qq_37163479/article/details/79569847