7. mysql备份和还原
2015-06-14 09:45
531 查看
1.逻辑备份
mysql中的逻辑备份就是将数据库中的数据备份为一个文本文件, 且此文本文件可以查看和编辑
mysqldump
[root@server2
~]# mysqldump
Usage:
mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS]
DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases
[OPTIONS]
mysqldump -uroot -paixocm ds > ds.sql ---备份ds数据库
mysqldump
ds stu dept > ds.sql ---备份ds库下的stu,dept表
mysqldump
--databases ds ds2 > ds.sql ---备份多个库 (注意后面还原上的区别)
写锁: 本session增删改查均可, 其他session均为等待
读锁: 所有session只可select, 均不可增删改
flush tables with read lock; ----锁所有表
lock
tables stu read或write;
unlock
tables;
mysqldump -uroot -paixocm -lF ds > ds.sql
-l(小写)
给所有表加上读锁, 备份时只能读而不能写
-F
(flush logs)生成新二进制日志文件
还原
mysql -uroot -paixocm ds < ds.sql -- 输入重定向, cat ds.sql | mysql用管道也可
或 use ds后 source /tmp/ds.sql
注意以上情况是没有加 --databases 备份,需要先新建好一个空的数据库,而加了的话,可以不要建新库,还原时自动建好。
不完全恢复
基于时间点恢复,
基于位置恢复(更精确,因为一个时间点存在并发性)
mysqlbinlog mysql-bin.000001
--stop-datetime="2012-1-1 12:1:2" | mysql -uroot -paix ds
//可以参考bin日志
2.物理备份
cp数据库文件夹如ds
冷备份:
停服务后cp, 不停服务的话拷贝的数据不一致
热备份:
服务正常运行时cp(加读锁)
热备份例子(只对myisam表):
方法1:
/usr/local/mysql56/bin/mysqlhotcopy -u root
-p aixocm -S … ds /tmp ---自动加锁了
方法2
(手工加读锁):
flush tables with read lock; -- 锁所有表, lock tables t1 read;
只锁t1
cp文件夹
unlock
tables;
innodb表, 不支持,可以用第三方工具如:ibbackup工具, 收费。
还原:
cp -pr /tmp/ds
/database/
来自为知笔记(Wiz)
mysql中的逻辑备份就是将数据库中的数据备份为一个文本文件, 且此文本文件可以查看和编辑
mysqldump
[root@server2
~]# mysqldump
Usage:
mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS]
DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases
[OPTIONS]
mysqldump -uroot -paixocm ds > ds.sql ---备份ds数据库
mysqldump
ds stu dept > ds.sql ---备份ds库下的stu,dept表
mysqldump
--databases ds ds2 > ds.sql ---备份多个库 (注意后面还原上的区别)
写锁: 本session增删改查均可, 其他session均为等待
读锁: 所有session只可select, 均不可增删改
flush tables with read lock; ----锁所有表
lock
tables stu read或write;
unlock
tables;
mysqldump -uroot -paixocm -lF ds > ds.sql
-l(小写)
给所有表加上读锁, 备份时只能读而不能写
-F
(flush logs)生成新二进制日志文件
还原
mysql -uroot -paixocm ds < ds.sql -- 输入重定向, cat ds.sql | mysql用管道也可
或 use ds后 source /tmp/ds.sql
注意以上情况是没有加 --databases 备份,需要先新建好一个空的数据库,而加了的话,可以不要建新库,还原时自动建好。
不完全恢复
基于时间点恢复,
基于位置恢复(更精确,因为一个时间点存在并发性)
mysqlbinlog mysql-bin.000001
--stop-datetime="2012-1-1 12:1:2" | mysql -uroot -paix ds
//可以参考bin日志
2.物理备份
cp数据库文件夹如ds
冷备份:
停服务后cp, 不停服务的话拷贝的数据不一致
热备份:
服务正常运行时cp(加读锁)
热备份例子(只对myisam表):
方法1:
/usr/local/mysql56/bin/mysqlhotcopy -u root
-p aixocm -S … ds /tmp ---自动加锁了
方法2
(手工加读锁):
flush tables with read lock; -- 锁所有表, lock tables t1 read;
只锁t1
cp文件夹
unlock
tables;
innodb表, 不支持,可以用第三方工具如:ibbackup工具, 收费。
还原:
cp -pr /tmp/ds
/database/
来自为知笔记(Wiz)
相关文章推荐
- 6. mysql log
- 3. mysql数据类型
- MySql 插入 读取数据正常,工具看到乱码。
- 使用JDBC连接MySQL数据库--典型案例分析(一)---员工数据读取与操作
- 2. mysql 基本命令
- 1. mysql安装
- Mysql 5.5 主从数据复制(Master-Slave Replication)配置笔记
- xampp默认mysql密码设置,修改mysql的默认空密码
- 有关mysql死锁
- mysql函数二
- mysql函数一
- mysql基础2【常用mysql语句】
- mySql部分总结
- 备份恢复MySQL数据库的命令
- mysql日志
- 搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
- 关于Mysql group_concat的应用(把相同ID的VAL用字符'/'连接起来)
- mysql 存储过程中limit(#1064 You have an error in your SQL syntax)
- MySQL 日志之binlog日志
- 简单的SQL Server语句转换为Mysql。