如何备份远程|如何备份远程 MySQL 数据到本地
文章图片
如何备份远程 MySQL 数据到本地 如何备份远程 MySQL 数据到本地?
对于远程的 MySQL 数据库,如何定期将数据备份到本地呢?对于需要远程备份数据的童鞋来说我想这个是经常需要用到的。
1、首先远程数据库必须支撑远程连接,提供有供远程连接的IP或者域名。
假设远程数据库域名为 mysql.example.com ,数据库登录账号为 username , 账号密码为 passwd 数据库名称为 database1 。 通过 mysqldump 命令来解决远程备份,要在本机试用mysqldump命令,首先你本地得安装MySQL。 Linux系统安装 MySQL 教程可以参考以下教程:
- 如何在 Ubuntu 18.04 安装 MySQL
- 如何在 Debian 9 安装 MySQL
- 如何在 CentOS 7 安装 MySQL
mysqldump -h 远程服务器IP或域名 -u 远端数据库账号 -p'远端数据库密码' --default-character-set=utf8 数据库名字 > /tmp/database_db.sql
MySQL 安装后,
mysqldump
命令默认路径在 /usr/local/mysql/bin/
键入以下命令:
cd /usr/local/mysql/bin/
./mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db.sql
执行完成后,你会发现在/tmp目录下生成一个
database_db.sql
文件。3、定时备份导出
linux 系统下很容易设定定时人员,通过
crontab
设定定时任务,例如设定每天凌晨1点10分进行数据备份到本地。打开终端,输入
crontab -e
打开 crontab
编辑窗口。键入以下命令:
20 12 * * * /usr/local/mysql/bin/mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db.sql
定时每天的12点20执行,至此,定时任务完成。
这样的定时任务有个问题,就是每次生成的文件会覆盖上次生成的备份数据文件,如何解决这个问题?
可以通过对生成文件名称加上时间戳的方式来解决,例如
database_db_201801010101.sql
。date +%Y%m%d%H%M%S
以上命令可以输出,类似如下:
20181121172635
在脚本名称中增加
date +%Y%m%d%H%M%S
,这样每次生成的脚本名称就会追加上时间戳。/usr/local/mysql/bin/mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db_`date +\%Y\%m\%d\%H\%M\%S`.sql
ps:注意如果直接“%”前需要加“\”进行转义。
执行完成后,你会发现在/tmp目录下面会有类似如下的文件生成:
database_db_ 20181121172635.sql
写在最后
如何备份远程 MySQL 数据到本地的方式以上内容介绍完成,主要涉及到知识点有以下几点:
- 1、本地本分环境安装 MySQL。
- 2、使用 mysqldump 命令进行备份。
- 3、使用 crontab 命令实现定时备份。
- 4、使用反单引号(``) 执行日期命令获取时间戳。
推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程