首页>建站相关>mysqldump免密码备份数据库

mysqldump免密码备份数据库

linux下的mysqldump是一个用来备份mysql数据库的命令,数据库是一个站点的根基,时常备份一下数据与资源文件,在遇到突发情况时也可以从容应对。手动备份数据库,我们可以直接在命令行输入如下指令:

mysqldump -u root -p YourDatabase > backdb.sql
回车后系统会要求用户输入数据库密码,输入正确的密码后,备份完成,此时可以在当前文件夹内看到一个名为"backdb.sql"的备份文件。 如果希望一步到位的实现备份操作,也可以将以上的命令改写成这样,直接将密码明码写入命令行中:
mysqldump -u root --password='YourPassword' YourDatabase > backdb.sql

以上的命令还可以简化为如下:

mysqldump -u root -p'YourPassword' YourDatabase > backdb.sql

因为数据库的备份是一个重复性的工作,每次依赖手动操作显然是枯燥且难以长期保持的,所以考虑利用linux的定时任务来完成这项工作。我们可以在命令行中输入如下命令来编辑linux的定时任务文件:

crontab -e

然后加入这样一行命令,让linux在每天的凌晨1点备份一下站点的数据库:


0 1 * * * mysqldump -u root -p'YourPassword' YourDatabase > backdb.sql

凡是最怕一个但是,由于将密码直接暴露在了定时任务中,这样始终是感觉不够安全,于是考虑不在命令行中显示密码,免密实现备份。

免密码备份数据库

步骤一

根目录下新建一个隐藏文件".my.cnf":

vim ~/.my.cnf

步骤二

输入如下指令,为mysqldump预指定用户以及密码,然后保存并关闭文件:

[mysqldump]
user = YourSqlUser
password = YourPassword

需要注意的是,这里的用户以及密码都需要用引号包裹,假设用户与密码都是"admin",演示如下:

[mysqldump]
user = 'admin'
password = 'admin'

步骤三

提高文件的访问权限要求,以确保文件的安全性:

chmod 600 ~/.my.cnf

步骤四

测试一下是否已经可以免密码备份:

mysqldump -u root  YourDatabase > backdb.sql

修改定时任务的语句

需要注意的是这里就不需要再带上"-p"参数了,否则仍旧会强制要求输入密码,那么定时任务也就无法自动运行下去了。

0 1 * * * mysqldump -u root  YourDatabase > backdb.sql

标签: mysql

移动端可扫我直达哦~

推荐阅读

mysql 2023-10-25

Mysql基础命令与Typecho的数据库字段

纯手工搭建了这个“小鸟数据”博客,没有安装第三方管理面板,存取文件基本靠putty,输入指令基本靠双手,满足不了的需求则基本靠跳过。因为曾经有过误删数据库的惨痛经历,对于手工操作数据库一直是拒绝的。某天尝试了一下在Typecho中通过...

建站相关 mysql

mysql 2022-09-27

如何手动配置MySQL数据库

MySQL是最流行的关系型数据库管理系统之一,与其他大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自然有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供...

建站相关 mysql