Mysql数据库备份与恢复
2017-03-29 22:38
246 查看
一:前言:
备份数据库非常重要,数据库通常包含公司的大部分任务关键数据(销售、客户等待)执行备份是系统管理员能够在下列几种类型时间之后恢复数据:1:操作系统故障
2:电源故障
3:文件系统崩溃
4:硬件问题
5:安全漏洞
6:数据库损坏
7:数据中毒
二:数据库备份方法:
逻辑备份:纯文本文件中到处信息和记录特征
1.数据库结构是通过查询数据库检索的;
2.可移植性高,在某些情况下可以恢复到另一个数据库提供的程序(如Postgres);
3.备份很慢,因为服务器必须访问数据库信息并将其转换为逻辑格式;
4.在服务器联机时执行;
5.备份不包过日志和配置文件;
物理备份:包含存储内容的文件和目录的副本;
特征
1.包含数据库目录和文件夹的原始副本;
2.输出更精简;
3.备份可以包含日志和配置文件;
4.只能移植到具有类似硬件和软件的其他计算机;
5.比逻辑备份快
6.应该在服务器脱机或者数据库所有表均锁定时执行,防止备份期间发生改变。
三:逻辑备份实例:
1:备份单个数据库:[root@Master ~]# mysqldump -u root -p wordpress > /backup/wordpress.dump
注:wordpress为备份的数据库,/backup/wordpress.dump为备份文件
2:备份所有数据库:
[root@Master ~]# mysqldump -u root -p --all-databases > /backup/databases.dump可以看到此处使用了一个--all-databases的参数,是备份所有数据库,可选的参数有下面这几个
--all-databases备份所有数据库
--add-drop-tables生成的 sql 中包含 drop tables 语句,删除以前的 table
--no-data只生成库和表结构,没有数据
--lock-all-tables在备份结束之前,锁定所有表,保证数据完整性
--add-drop-databases生成的 sql 中包含 drop database 语句,删除以前的 database
3:同时备份多个数据库
[root@Master ~]# mysqldump -u root -p --databases wordpress typecho > /wptp.dump
--databases 后面加要备份的数据库,数据库之间用空格隔开
4:备份数据库中多张表:
[root@Master ~]# mysqldump -u root -p database table1 table2 > /backup/tables.dump
参数为要备份的数据库,后面加备份的表,空格隔开多张表。
5:简单shell备份所有数据库:
新建一个shell脚本,假如以下内容。
#!/bin/bash read -p "please input the database user:" user read -p "please input the password for you user $user:" passwd database=`mysql -u $user -p$passwd -e "show databases" | sed 1,2d` for data in $database do mysqldump -u $user -p$passwd -B $data > ${data}-`date +%Y-%m-%d`.dump echo "backup $data success!!!" done
支持多用户备份,在脚本实行时,输入相应的数据库用户和用户密码,即可备份该用户所有的数据库。
四:数据库恢复:
1:所有数据库恢复。mysqldump -u root -p --all-databases > data.dump mysql -u root -p -h localhost < data.dump
2:单个数据库恢复:
mysql -u root -p -h localhost database1 < database1.dump
单个数据库恢复需要现在登陆数据库并创建相应的数据库以后进行恢复,还可以在创建数据库以后use进入该数据库使用命令source恢复。如
create database Contacts; show databases; use Contacts source /root/users.mdb show tables;
相关文章推荐
- mysql数据库备份及恢复命令mysqldump,source的用法
- MySQL数据库的维护、备份和恢复
- mysql数据库备份及恢复命令
- mysql数据库备份及恢复命令mysqldump,source的用法
- xtrabackup 备份mysql数据库三:partial backup 部分备份及恢复
- [转]linux下如何备份与恢复mysql数据库。
- MySQL数据库 分表分库备份及批量恢复如何进行?
- mysql数据库的备份与恢复
- 用MySQL-zrm来备份(支持增量)和恢复MySQL数据库
- MySQL基础day05_MySQL数据库的备份与恢复-1-MySQL 5.6
- MySQL数据库的备份与恢复命令
- MySQL数据库的数据备份和恢复(导入和导出)命令操作语法
- MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
- Linux下对MySql数据库备份与恢复
- MYSQL数据库备份与恢复
- mysql数据库备份与恢复
- mysql数据库备份及恢复
- MySql数据库的备份和恢复
- 当MySQL数据库遭到攻击篡改后,使用备份和binlog进行数据恢复
- mysql数据库的备份和恢复