备份分为增量备份和全备份, 一般是两者结合起来使用,在备份的基础上,还原增量备份;
一定的时间间隔进行全备份,通过开启二进制日志来进行增量备份(其实就是通过binlog记录操作语句)。
备份数据库:
1.备份单张表
mysqldump -u user -p password databasename table > table.sql
默认第一个参数是数据库名,后面的均是表名
mysqldump -u user -p password databasename table1 table2 table3 ... > table.sql
2.备份一个库的所有表
mysqldump -u user -p password databasename > database.sql
这样备份的是一个库的所有表,恢复前,需要先选择数据库,再导入
3.备份一个库
mysqldump -u user -p password
-B db1 db2 db3... > db.sql
加上大写的B,后面的参数默认为库名,备份文件中有建库的语句
4.备份所有数据库
mysqldump -u user -p password
-A > db.sql
加上大写的A,备份数据库服务器中的所有数据库
5.导出存储过程和函数
mysqldump -u user -p password -ntd -R dbname > backupflie.sql
只导出dbname数据里面的存储过程和函数,-ntd 是表示导出存储过程;-R是表示导出函数
1/2是表级备份, 3/4 是库级备份,增量备份需要开启binlog二进制日志,涉及到mysqlbinlog工具的使用
恢复数据库:
在数据库客户端中恢复
1.表级恢复
mysql> use dbname;
mysql>
source backup.sql;
2.库级恢复:
mysql>
source backup.sql;
在终端中恢复
1.表级恢复:
mysql -u user -p password
dbname < backup.sql;
dbname 表示需要将备份恢复到哪个库
2.库级恢复:
mysql -u user -p password < backup.sql
未完,待续--使用增量备份日志
补充:myqldump --opt (加快备份速度)
mysqldump -d (只导结构不导数据)