Linux中如何定时对mysql数据库进行备份导出sql文件

您所在的位置:网站首页 数据库保存路径怎么看 Linux中如何定时对mysql数据库进行备份导出sql文件

Linux中如何定时对mysql数据库进行备份导出sql文件

2022-12-29 08:23| 来源: 网络整理| 查看: 265

Linux中如何定时对mysql数据库进行备份导出sql文件

admin 2022-07-12 23 浏览 0 评论

说明

在系统的使用过程中,定时对数据库进行备份是非常重要的一个事情,下面给大家介绍一种mysql数据库的定时备份方式。

1 查看mysqldump的位置

使用命令which mysqldump查找mysqldump所在的位置,如果提示命令找不到,这是因为系统默认会查找/usr/bin下面的命令,如果这个命令不在这个目录下,自然会提示命令找不到。

Linux中如何定时对mysql数据库进行备份导出sql文件

可以通过这篇文章linux中执行mysqldump命令提示找不到命令的解决方法 - 猿经验来解决这个问题。

2 编辑my.cnf文件, 指定执行mysqldump命令时使用的账号与密码

在/etc/my.cnf文件中添加如下配置:

[mysqldump] user=root password=root

然后重启mysql

3 编写脚本mysql_backup.sh

在/root/中添加脚本mysql_backup.sh,内容如下:

#mysqldump备份程序执行路径 DUMP=/usr/bin/mysqldump #备份文件存放路径 OUT_DIR=/root/mysql_backup #备份文件所属权限 LINUX_USER=root #要备份的数据库名字 DB_NAME=mydb #备份的天数,之前的删除 DAYS=1 #进入备份存放目录 cd $OUT_DIR #获取当前系统时间 DATE=`date +%Y_%m_%d` #备份数据库的文件名 OUT_SQL=$DB_NAME"_$DATE.sql" #最终保存的数据库备份文件名 TAR_SQL=$DB_NAME"_$DATE.tar.gz" #开始执行备份数据库 $DUMP --login-path=test --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $DB_NAME > $OUT_SQL #压缩为.tar.gz格式 tar -czf $TAR_SQL ./$OUT_SQL #删除.sql格式的备份文件 rm $OUT_SQL #更改备份数据库文件的所有者 chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #删除30天前的备份文件(注意:{} \;中间有空格) find $OUT_DIR -name "*.tar.gz" -type f -mtime +$DAYS -exec rm -f {} \;4 使用mysql_config_editor配置快捷登录

执行如下命令:

/usr/local/mysql/bin/mysql_config_editor set --login-path=test --host=localhost --user=root --port=3306 --password

其中,--login-path是登录路径名,相当于登录信息的一个秘钥,--host是mysql所在服务器的主机名或IP地址,--user是登录的数据库用户名,--port是登录数据库的对外服务端口,--password是登录的数据库用户密码。

执行该命令后会提示输入密码,输入密码后即可将登录信息保存到加密文件.mylogin.cnf中,注意这里系统不会对输入的密码进行正确性验证,不管对错,只是把密码保存了起来。

在使用mysql_config_editor配置快捷登录,输入密码时,如果密码中包含有一些特殊字符,比如&,$之类的,需要在密码前后加上双引号,否则mysql_config_editor配置的快捷登录就是无效的,在使用快捷登录时会提示“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”

5 添加定时任务执行mysql_backup.sh执行命令:crontab -e [root@VM-12-11-centos ~]# crontab -e 每小时的第30分钟执行一次mysql_backup.sh 30 * * * * /root/mysql_backup.sh

deletesql 上一篇:JKAS开发框架技术文档11:模型-SQL分离(3) 下一篇:PostgreSQL数据库守护进程(Postmaster)--删除提升文件


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3