MySQL备份-mysqldump

一先建立备份账号

create user 'backup'@'localhost' identified by 'pass4word';

二赋予权限

grant select,reload,lock tables,replication client,show view,event,process on *.* to 'backup'@'localhost';

附加,查看创建表的语句

show create table table_name;

 三备份单个数据库

 mysqldump -ubackup -ppass4word --master-data=2 --single-transaction --routines --triggers --events tk_test >tk.sql

 详解

备份分类

按照是否能继续提供服务

  • 热备 :在线备份,能读能写.
  • 冷备 :离线备份

按照备份数据库对象分类

  • 物理备份:直接复制数据库文件,速度较快
  • 逻辑备份:数据库sql文件.相比物理备份而言速度较慢

    

按照备份数据量

  • 全量备份
  • 增量备份

 

 备份内容和备份工具

需要备份的内容:文件,二进制日志,事务日志,配置文件,操作系统上和MySQL相关的配置

备份工具:

mysqldump:逻辑备份工具.要求MySQL服务在线. MyIsam(温备,可读不可写), InnoDB(热备,可读可写)

cp :冷备份

lvm快照:几乎热备.注意点是 ,先flush table,lock table,创建快照,释放锁,复制数据.因为要先flush table 和lock table,这对于MyISAM来说很简单很容易实现.但对于InnoDB来说,因为事务的原因,锁表后可能还有缓存中的数据在写入文件中,所以应该监控缓存中的数据是否真的已经完全写入数据文件中,之后才能进行复制数据

xtrabackup:开源 .MyISAM(温备),InnoDB(热备),速度较快

语法选项

  • mysqldump [OPTIONS] database_name [tables]   
    mysqldump -ubackup -ppass4word  tk_test2 tk_test >back.sql

     

  • mysqldump [OPTIONS] --databases [OPTIONS]  DB1 [DB2 DB3 ..]

  • mysqldump -ubackup -ppass4word --database  tk_test2 tk_test >back.sql

     

  • mysqldump [OPTIONS] --all-databases [OPTIONS]
    mysqldump -ubackup -ppass4word --all-databases > m2.sql;

     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章