, mysqldump -uroot -poldboy卑劣的祝辞/opt/卑劣。sql最简单的备份
, mysqldump——用户=根——所有数据库——flush-privileges——单独的事务——主数据=https://www.yisu.com/zixun/1——flush-logs触发——常规——事件——hex-blob>/mybackup/alldatabase。sql
(用于写shell脚本)
主要思想就是把库列出来,一个为循环备份
mysql -uroot -poldboy - e”显示数据库;| | egrep以“信息perfor”| sed - r ' s # ^ ([a - z]。*美元)#,mysqldump -uroot -poldboy - b \ 1 | gzip在/opt/1. sql。广州# g | bash
/bin/bash BAKPATH=/opt/mysql MYUSER=根 MYPASSWD=123456 套接字=/数据/3308/mysql.sock MYCMD=" mysql - u MYUSER - p MYPASSWD美元- s $插座” ,MYSQLDUMP=, MYSQLDUMP - u MYUSER - p MYPASSWD美元- b - x - f - r - s $插座 [!- d $ BAKPATH],,mkdir - p BAKPATH美元 DBLIST=' MYCMD美元- e”显示数据库;| sed 1 d”| egrep以“mysql |信息” 在DBLIST dbname 做 ,MYSQLDUMP dbname | gzip美元比;/BAKPATH美元/$ {dbname} _(日期+ % F) .sql.gz美元 以前做>
提示:- b是连创建库和查询库的语句都备份了,所以建议加上(一般备份多个库的时候用),- x所有数据库中的所有表加锁
备份表
, mysqldump -uroot -poldboy库名表名在/opt/表。sql
<强> 强>
主要思想就是把表列出来,两层的循环备份
/bin/bash BAKPATH=/opt/mysql MYUSER=根 MYPASSWD=123456 套接字=/数据/3308/mysql.sock MYCMD=" mysql - u MYUSER - p MYPASSWD美元- s $插座” ,MYSQLDUMP=, MYSQLDUMP - u MYUSER - p MYPASSWD美元- x - f - r - s $插座 [!- d $ BAKPATH],,mkdir - p BAKPATH美元 DBLIST=' MYCMD美元- e”显示数据库;| sed 1 d”| egrep以“mysql |信息” 在DBLIST dbname 做 TLIST=' MYCMD美元- e“显示表从dbname;”| sed 1 d ' 对于tname TLIST美元 做 mkdir - p BAKPATH/dbname美元 ,MYSQLDUMP dbname tname美元美元| gzip祝辞BAKPATH/美元dbname/$ {tname} _ $(日期+ % F) .sql.gz 完成 ,MYSQLDUMP dbname | gzip美元比;/BAKPATH美元/$ {dbname} _()(日期+ % F)美元.sql.gz注:(纯手打,有问题请指出)
如果数据库不大建议两个都备份,有时候只要求恢复一个表
- d参数只备份表结构
- t参数只备份数据
- f刷新binlog日志
其他参数,mysqldump——帮助查询
批量恢复库大概过程
dbname ls * . sql的;做mysql -uroot -p123456 & lt;dbname.sql美元;做
增量备份时一定要了解二进制的三种模式
可参考内容:
<强>五、数据库恢复强>
恢复时最好的办法时停库,不让往里面写
1。数据库可能有多个,但是日志文件记录的是全部数据库的变化,所以先进行将二进制文件按照数据库进行拆分,用- d参数可以实现:
mysqlbinlog - d卑劣/var/lib/mysql/mysql-bin.000002比;/tmp/oldboy.sql(去掉误操作的语句),先导入全备,在导入增备
2。指定时间可能会有误差,一半用指定位置恢复,确认跳过点后进行恢复如下:
) mysqlbinlog mysql-bin。000002年,起始位置=370,停止位置=440 | mysql -uroot - p
mysql分库分表备份