本文目录一览:
MySQL的备份与还原,非常规备份,全量备份,增量备份
1:官方百万级别的测试数据库:
官方测试数据库github网址:
下载到目录,解压即可,运行命令:
2:自己创建简单测试数据库:
快速随机生成测试语言的网站:
选择sql和想生成的字段,点击生成Generate!生成即可。
在MySQL输入生成的语句即可。
3:测试备份还原时用到的命令
删库跑路测试(先备份好)
还原后查询库的表数据是否完整。
采用复制整个数据存放目录
1:查看数据库数据存放位置
有两种方法:
1):在数据库中用命令 show variables like 'datadir'; 查看
2):在配置文件中查看,配置了 datadir 目录的可查看。没有配置的默认为 /var/lib/mysql/ 位置
Linux中查看配置文件
2:复制目录或者目录下某个数据库名
3:还原时直接复制文件夹到数据库目录即可
mysqldump又可叫做全量备份。
参数 --databases 同 -B ,单独一个库,也可省略。
1、备份命令mysqldump格式
格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 database 数据库名 文件名.sql
备份testDatabase数据库
2、备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
3、直接将MySQL数据库压缩备份
备份并压缩
4、备份MySQL数据库某个(些)表
备份testDatabase中的myTable表,不需要用参数 --databases 或者 -B
5、同时备份多个MySQL数据库
同时备份testDatabase和 employees两个库
6、备份服务器上所有数据库
参数 --all-databases 同 -A
7、还原MySQL数据库的命令
1) 不指定数据名还原,默认生成原数据库名称,还原所有数据库。
2) 指定数据名还原,还原指定单个数据库,需在数据库种预先创建一个testDatabase名称。
3) 还原压缩的MySQL数据库
4) 进入数据库用source导入
增量备份是针对于数据库的bin-log日志进行备份的,增量备份是在全量的基础上进行操作的。增量备份主要是靠mysql记录的bin-log日志。
1:查看是否开启bin-log日志
进入mysql输入命令可查看。
显示如下为开启状态,日志文件在/var/lib/mysql/以binlog.00001的格式保存。
如未开启,需要在配置文件种配置
2:查看目前使用的bin-log日志文件
进入mysql查看命令。
显示如下,目前使用的是binlog.000022文件,所有操作都记录在此文件。
查看当前testDatabase的表myTable数据如下,
3:刷新日志,使用新的日志文件(备份)
在命令端执行命令
日志文件从 binlog.000022 变为 binlog.000023
这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件。
4:删除数量,从日志还原数据
1) 删除ABC行
查询以及没有ABC行列。
2) 恢复数据ABC行
退出mysql,在命令端用mysqlbinlog命令恢复到binlog.000022日志状态。
进入数据库再次查看数据,ABC已经恢复。
增量备份完成。
备份数据库的命令
备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename backupfile.sql
02
备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库.mysqldump -–add-drop-table -uusername -ppassword databasename backupfile.sql
03
直接将MySQL数据库压缩备份mysqldump -hhostname -uusername -ppassword databasename | gzip backupfile.sql.gz
04
备份MySQL数据库某个(些)表mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 backupfile.sql
05
同时备份多个MySQL数据库mysqldump -hhostname -uusername -ppassword –databases dbname1 dbname2 dbname3 multibackupfile.sql
06
仅仅备份数据库结构mysqldump –no-data –databases dbname1 dbname2 dbname3 structurebackupfile.sql
07
备份服务器上所有数据库mysqldump –all-databases allbackupfile.sql
08
还原MySQL数据库的命令mysql -hhostname -uusername -ppassword databasename backupfile.sql
09
还原压缩的MySQL数据库gunzip backupfile.sql.gz | mysql -uusername -ppassword databasename
10
将数据库转移到新服务器mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
备份和恢复数据库的命令
MySQL 命令行备份
1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
(SHOW VARIABLES LIKE "%char%"; 查看数据库安装路径)
Linux下命令:
[root@linuxsir01 root]# mysqldump -u root -p oa_int /home/oa_20160627.sql
Windows下命令:
C:\Users\Administratormysqldump -u 密码 -p 数据库名 d:/oa_int_20160708.sql
MySQL 命令行恢复:
Linux下命令:
[root@linuxsir01 root]# mysql -u root -p oa_int1 /home/oa_20160627.sql
Enter password:在这里输入数据库的密码
Windows下命令:
C:\Users\Administrator mysql -u root -p 数据库名(要先创建好数据库) d:/oa_int_20160708.sql
db2 v9备份 恢复到v11
一、备份(backup)数据库:1、离线全备份:
1)、首先确保没有用户使用DB2:
db2 list applications for db sample
2)、停掉数据库并重新启动,以便断掉所有连接:
db2stop force
db2start
3)、执行备份命令:(使用TSM作为备份的介质)
db2 backup db sample use tsm
备份成功,将会返回一个时间戳。
4)、检查备份成功:
db2 list history backup all for sample 可以看到多了这个备份的纪录。
db2adutl query 命令也可以看到返回值。
5)、备注:
首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。
2、 在线备份:
1)、首先打开一下支持在线备份的数据库配置参数:
db2 update db cfg for sample using userexit on 启用用户出口
db2 update db cfg for sample using logretain on 启用归档日志
db2 update db cfg for sample using trackmod on 启用增量备份功能
(需要各个Node都分别做设置)
开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。
2)、在线备份命令如下:
db2 backup db sample online use tsm
备份成功,返回一个时间戳。
3)、同样可以用db2adutl 和db2 list history察看备份纪录。
4)、备注:
同样,对每个节点都做这个操作。
3、 在线增量备份
1)、在开启了必须的三个参数的情况下,做增量备份:
db2 backup db sample online incremental use tsm
备份成功,返回一个时间戳。
2)、同样可以用db2adutl 和db2 list history察看备份纪录。
3)、还有一种delta的备份:
db2 backup db sample online incremental delta use tsm
这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。
4)、备注:
同样,对每个节点都做这个操作。
二、恢复(RESTORE)数据库:
1、新建数据库:
在一般管理工具, 创建数据库(别名要和原来的数据库别名一致)。
2、恢复数据库:
1):断开连接:将网络断开,切断所有的客户连接,如果不行,先重启。(如果有客户端连接到DB2服务器,恢复不行的,包括控制中心)
2):恢复离线备份。
3、恢复在线备份:
1)、恢复。恢复命令为:db2 restore database DBName from C:\Temp taken at 20090622164642
2)、前滚。前滚命令为:db2 rollforward db DBName to end of logs(或者:控制中心-所有数据库-dbname -右键-前滚)
3)、停止前滚。停止前滚命令为:db2 rollforward db DBName stop(或者:控制中心-所有数据库-dbname -右键-停止前滚)