mysql运维3--备份

先介绍一个mysql的备份命令mysqldump。

语法:mysqldump -u 用户名 -p -B ‘密码’ 数据库名 -e “show varibles like '%character%'”|gzip>备份的文件名.sql.gz(备份多个库时,在数据库名位置指定多个库即可)

参数:B 不加没有创建库的语句   e数据库命令 ,可以不加  gzip对导出数据进行压缩

备份数据恢复:

mysql -u root -p '密码'<备份数据文件

备份多个库:

方法1:使用上面的方法,把数据库名依次写出来

方法2:for循环

方法3:使用sed  , mysql -u root -p '密码' -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -u root -p '密码'' --events -B \1|gzip>\1.sql.gz#'|bash


备份单个表:

语法:mysqldump -u 用户名 -p  ‘密码’ 数据库名 表名>备份的文件 

备份多个表:

方法1:使用上面的方法,把表名依次写出来

方法2:使用循环

方法3:使用sed

备份参数-d只备份表结构;-t只备份数据 ;-F刷新bin-log日志配合 --master-data=1使用,可以找到bin-log位置点;-x锁表;-l只读锁表;-A备份所有库

myisam和innodb的区别,myisam影响范围较大

myisam备份:mysqldump -uroot -p密码 -A -B --master-data=2 -x --events|gzip>文件名.sql.gz

innodb备份:mysqldump -uroot -p密码 -A -B --master-data=2 --events --single-transaction|gzip>文件名.sql.gz(推荐使用)


数据库恢复:

使用source命令

1.登录数据库

2.source 数据库文件

使用mysql命令

mysqldump -u root -p '密码''  数据库<数据库文件

对于压缩的sql.gz文件 需要gzip -d mysql_bak.sql.gz解压为.sql文件


mysql binlog

mysql binlog会记录mysql内部的增删改等对数据库有更新内容的记录,查询不会更改数据库内容,不记录。mysqlbinlog可以进行数据恢复,待续。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值