请问mysql怎么自动备份数据库

嗯,这是关于自动备份的。
使用 Navicat 备份 MySQL 非常简单。
连接数据库,选择要备份的数据库,点击“计划”,创建作业,命名,设置时间,比如每天九小时,每两小时备份一次,一天2 4 小时。
设置完成后,输入密码即可完成!

如何在linux下实现mysql数据库每天自动备份

哈,我以前做过,但我使用的方法和你描述的类似,但细节可能略有不同。
让我告诉你我是如何运行它的。
您发现您的步骤有什么不同吗?
---
上周有客户问我如何在Linux中自动备份MySQL数据库并清理旧的备份文件。
当时我就想我必须一步步教他。
我记得这里用的是CentOS系统,但具体年份记不清了。
我在上海一家商场调试服务器时,到了 2 02 3 年左右。

第1 步:创建一个新的备份存储文件夹
您使用mkdir mysql_backup是正确的。
必须在 /root 目录中创建它。
为了安全起见,我会检查该文件夹是否实际创建,例如例如。
使用 ls -ld mysql_backup 查看是否已创建。
这一步没有什么问题,是常见的做法。

第2 步:创建新的备份脚本
使用 vim /root/mysql_backup.sh 创建新脚本。
那也行。
一般来说,我喜欢使用 Nano,但 Vim 更强大并且更有效。
关键是让脚本内容正确。

第三步:脚本内容
你写的大部分脚本内容都是正确的,但有几个地方我做了细微的调整。
看一下:
bash backupdir=/mysql_backup 时间=$(日期+%Y%m%d%H) mysqldump -u root -p'rootabc' | mysqldump -u root -p'rootabc' | gzip > $backupdir/abc$time.sql.gz 查找 $backupdir -name "abc.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2 >&1
有几点对我来说很突出:
1 对于mysqldump的密码部分,写-p'rootabc'。
我通常使用变量或者直接用纯文本编写(虽然不安全,我当时是为了快速测试而这样做的)。
关键是mysqldump后面一定要有空格,否则会报错。
2 、find命令的-mtime +5 是查找5 天前的文件,正确。
但是,我有时会添加 -type f 以明确它是一个文件,以防止意外删除目录或类似的内容。
3 、最后一个 > /dev/null 2 >&1 将标准输出和标准错误都抛给/dev/null,所以终端上打印的信息不多,适合定时任务。

第 4 步:保存脚本
按 Esc 键,然后键入:wq 保存并退出。
这个过程是正确的。

第五步:使脚本可执行
使用chmod +x mysql_backup.sh命令是对的,否则直接运行会报错。

第 6 步:设置计划任务
您在此步骤中编写的命令有问题。
设置计划任务一般需要修改/etc/crontab文件。

使用 vi /etc/crontab 打开此文件,然后按 i 进入插入模式。
您要添加的行应如下所示:
每天凌晨 2 点运行备份脚本 0 2 /root/mysql_backup.sh
注意:
第一列 0 代表分钟,2 代表小时。

最后一个/root/mysql_backup.sh是脚本的完整路径,必须拼写正确。

要保存,请按 Esc,然后按:wq。

第七步:重启Crond服务
您可以使用Crond Restart或者/etc/rc.d/init.d/crond restart服务来让定时任务生效。

---
在这里查看我的步骤,他们和你描述的没有太大区别。
主要是我在设置脚本内容和定时任务时可能在细节上做了一些细微的调整。
脚本中的 mysqldump -uroot-prootabc 看起来像这里的 mysqldump -u root -p'rootabc' ,中间有一个空格。
还有计划任务行,你写的02 4 root/root/mysql_backup.sh,星号看起来像是复制粘贴错误,应该是0 2
你可以试试我的方法,看看能不能备份成功。
如果不起作用,请告诉我报告了什么错误,我会帮你查看。
无论如何,这取决于你。
我仍然想知道编写密码的方式是否真的安全......