一、利用系统自带的工具实现完全备份:mysqldump
公司主营业务:成都网站设计、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出廊坊免费做网站回馈大家。数据备份方式:
物理备份:直接拷贝库或表对应的文件。限于myisam,跨平台性差
逻辑备份:执行备份时,根据已有的数据,生成对应的sql命令,把sql保存到指定的文件里
1、备份所有的数据库:
mysqldump -hlocalhost -uroot -p12345678 --all-databases > /opt/$(date +%F).sql
//--all-databases--所有数据库 /opt/$(date +%F).sql 重定向到以日期命名的文件
2、备份指定的数据库:
mysqldump -hlocalhost -uroot -p12345678 db1 db2 > /opt/$(date +%F).sql
3、完全恢复:首先要确保库存在,没有先创建
mysql -hlocalhost -uroot -p12345678 db88 < /opt/123.sql
4、完全恢复也可以在mysql命令行里进行:source /opt/2018-01-22.sql
5、完全备份可以用定时计划任务来进行
if [ ! -d /data ];then //首先判断该目录是否存在,不存在则创建
mkdir /data
fi
mysqldump -uroot -p12345678 test > /data/$(date +%F)-test.sql
二、启用binlog日志实现实时增量备份
差异备份:备份自完全备份后,所有产生的数据
增量备份:备份自上一次备份后,所有新产生的数据
1、二进制日志,记录除查询之外的sql命令
由于mysql默认没有启用binlog日志,故需在配置文件里面修改
日志文件,不能大于500M,mysqlbinlog server51-bin.000001 //查看日志命令
server_id=51 //服务器编号,唯一
log-bin=/mysqllog/server51 //启用logbin日志文件,指定其路径和文件名,必须要给mysql帐号权限
binlog-format="mixed" //指定日志文件格式,有三种格式
2、日志文件记录sql命令的方式
时间: 180127 23:23:29 server id 51
偏移量: at 313
3、恢复数据
A、偏移量恢复:
mysqlbinlog --start-position=378 --stop-position=534 /mysqllog/server51.000001 | mysql -uroot -p12345678
起始偏移量 终止偏移量 binlog日志文件 登陆的帐号和密码
B、时间恢复
mysqlbinlog --start-datetime="2018-1-27 23:22:22" --stop-datetime="2018-1-27 23:23:29" //指定起始时间和终止时间
/mysqllog/server51.000001 | mysql -uroot -p12345678 //指定日志文件和登陆的用户名和密码
4、 手动生成新的日志文件 binlog
刷新日志:flush logs;
登陆时创建:mysql -uroot -p123456 -e "flush logs"
导出备份数据库时:mysqldump -uroot -p123456 --flush-logs db4 > /root/db4.sql
重启服务器时生成新的日志文件
5、如何删除日志
mysql> reset master; //删除所有的日志,生成一个新的日志文件
mysql> purge master logs to "日志文件名"; //删除单个日志文件
mysql> purge master logs to "plj.000006"; //删除指定日志文件之前所有的日志文件
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。