前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 下MySQL备份[通俗易懂]

Linux 下MySQL备份[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-04 12:56:40
6.6K0
发布2022-07-04 12:56:40
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

Linux下MySQL数据库备份和恢复

Linux下MySQL数据库有逻辑备份和物理备份,也可以分为完全备份、部分备份。

·完全备份是指备份整个数据集(即整个数据库)

·部分备份是指备份部分数据集(只备份一个表)

逻辑备份最大优点是对于各种存储引擎,都可以使用同样的方法来备份。而物理备份则不同,不同的存储引擎有着不同的备份方法。

mysqldump基本语法

mysqldump -uUsername -pPassword dbname table1 table2 … > BackupName.sql

备份多个数据库

mysqldump -uUsername -pPassword –databases dbname1 dbname2 … > Backup.sql

备份所有数据库

mysqldump -uUsername -pPassword -all-databases > BackupName.sql

MySQL 完全备份和恢复

备份某—个数据库: mysqldump -uUsername -pPassword 数据库名 > /root/XXX.bak

会将指定的数据库备份至roo家目录下,文件名为XXX.bak

恢复: mysql -uUsername -pPassword 数据库名 < /root/XXX.bak

MySQL 增量备份

验证和配置是否启动二进制日志功能。进行增量备份前,要启动二进制日志功能,首先使用vi /etc/my.cnf,打开配置文件,查看是否有log-bin配置行。因此添加此配置即可,输入内容:log-bin=/var/lib/mysql/sql_backup,然后保存my.cnf文件并退出。具体操作如图所示:

Linux 下MySQL备份[通俗易懂]
Linux 下MySQL备份[通俗易懂]

重新启动mysql服务,并且到目录/var/lib/mysql下查对应文件:索引文件sql_backup.index和文件sql_backup.000001,如出现以上两个文件,说明二进制日志功能开启成功了。

service mysqld restart

cd /var/lib/mysql/

ls

Linux 下MySQL备份[通俗易懂]
Linux 下MySQL备份[通俗易懂]

在进行增量备份时,需要做一次完全备份,输入命令:

mysqldump -uUserName -pPassword –lock-all-tables –flush-logs –delete-master-logs 数据库名 > /root/完全备份文件名.sql

说明:在进行增量备份时,使用的参数解释如下:

–lock-all-tables 在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性;

–flush-logs为结束当前日志,生成新日志文件;

–delete-master-logs 则清除以前的日志,以释放空间;

进行增量备份。我们使用上一步中的flush- logs时间点来进行备份,执行以下命令:

mysqladmin -uUserName -pPassword flush-logs

在/var/mysql/目录下看到新生产的日志文件:sql_backup.000002

做恢复增量备份前,需要恢复完全备份。执行以下命令:

mysql -uUsername -pPassword 数据库名 < /root/完全备份文件名.sql

导入增量备份,执行以下命令:

mysqlbinlog /var/lib/mysql/sql_backup.000002 | mysql -uUsername -pPassword 数据库名

Linux自动备份

开启Linux crond 服务:service crond start

cd root/

在root/下编写一个自动化脚本:vi bak.sh

Linux 下MySQL备份[通俗易懂]
Linux 下MySQL备份[通俗易懂]

通过执行命令chmod +x bak.sh为bak.sh赋予执行权限:chmod +x bak.sh

crontab文件中,加入计划任务。假设我们每天1点30分开始备份,命令如下:crontab -e

Linux 下MySQL备份[通俗易懂]
Linux 下MySQL备份[通俗易懂]

验证计划任务是否添加成功,输入命令:crontab -l

Linux 下MySQL备份[通俗易懂]
Linux 下MySQL备份[通俗易懂]

确认一下crontab有没有开机启动,避免服务器重启后计划任务时效,输入命令:chkconfig –list crond

Linux 下MySQL备份[通俗易懂]
Linux 下MySQL备份[通俗易懂]

上图中,我们看到2、3、4、5状态下都是启动的,所以可以确认会开机自启动。

至此,每日的1点30分将会在目录/root/下自动产生数据库的一份全备。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149374.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档