Mysql数据备份
1.备份分类:
#1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。
#2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
#3. 导出表: 将表导入到文本文件中。
2.注意:
1)必须在没登录之前才能操作
2)执行dump时,需要对表进行加锁,防止别的线程操作
3)mysqldump,一次 dump的数据是1000条
一、使用mysqldump实现逻辑备份
#示例:
#单库备份
mysqldump -uroot -p123 db1 > D:/db1.sql # 备份数据库db1中的所有表内容,sql语句
mysqldump -uroot -p123 db1 table1 table2 > D:/db1-table1-table2.sql #备份数据库db1中的表table1和table2内容,sql语句
#多库备份
mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
#备份所有库
mysqldump -uroot -p123 --all-databases > all.sql
#备份所有库
mysqldump -uroot -p123 --all-databases > all.sql
二、恢复逻辑备份
-B : 会自动创建数据库, 并且自动使用此数据库
mysqldump -uroot -p -B db2 > D:/db2.sql
备份mysql数据库的表结构(不包含数据)
mysqldump -uroot -p -d test > D:/c.sql
参数 -t 的作用就是备份数据库的表数据(不包含表结构)
mysqldump -uroot -ppassword -t test