如题,目前没买专门的 mysql 主机,都是云主机上装 mysql。云主机本地的备份感觉不保险。
1
gz911122 2020-03-18 13:51:49 +08:00
前排蹲一个个人最简单的解决方案
|
2
villivateur 2020-03-18 13:54:52 +08:00 via Android
我也想知道,目前能想到的办法就是定时执行 mysqldump
|
3
nybux 2020-03-18 13:54:58 +08:00
在本地搞个从?
|
4
derek80 2020-03-18 13:58:05 +08:00
xtrabackup
|
5
jinsongzhao 2020-03-18 13:58:05 +08:00 2
@gz911122 那就给你一个个人方案
mysqldump -h IP 地址 -uroot -p 密码 --opt --compress 库名 --skip-lock-tables | mysql -h localhost -uroot -p 密码 库名 然后加到 crontab 定时执行里面,也可以把管道后面的 | mysql .... 替换为其他文件等等 |
6
jiom 2020-03-18 13:58:10 +08:00
蹲大佬的经验分享~
|
7
summerwar 2020-03-18 13:58:37 +08:00
晚上 3 点的定时备份脚本,然后备份完发送到 cdn 或者邮箱
|
8
CallMeReznov 2020-03-18 14:00:43 +08:00
阿里不是有定时的保存的镜像吗,你定时下载下来不就好咯?
而且我刚刚上区看新出了一个跨地域备份 |
9
gz911122 2020-03-18 14:04:13 +08:00
@jinsongzhao mysqldump 会锁表嘛?
|
10
littleylv 2020-03-18 14:07:28 +08:00
每天 crontab 执行一次:
1、mysqldump 2、tar 打包 3、ftp 传到别的机子 单纯的备份到当前服务器跟没备份差不到哪里去,万一服务器全盘毁了都毁了 |
11
vazo 2020-03-18 14:20:37 +08:00
主机安装 wordpress,再装个插件数据库备份扩展,备份内容只备份数据库,备份可以选择邮件 /ftp/onedrive 等等
|
12
jinsongzhao 2020-03-18 14:23:50 +08:00
@gz911122 没研究,不过这个参数--skip-lock-tables,看起来是不锁表的
|
13
scukmh 2020-03-18 14:24:13 +08:00 1
|
14
Shirakawa 2020-03-18 14:30:32 +08:00
crontab+rsync
|
15
aec4d 2020-03-18 14:32:13 +08:00
数据量小可以每天全量备份放 S3
|
16
akira 2020-03-18 14:33:13 +08:00
你的数据越值钱 你才会花越多的钱去备份它
|
19
hs0000t 2020-03-18 14:39:09 +08:00 via Android
定期快照
|
21
tangbao 2020-03-18 14:48:16 +08:00 via iPhone
goodsync + sftp
|
22
murmur 2020-03-18 14:49:24 +08:00
我们有专门的存储设备,直接可以对虚机全量备份
|
23
doco 2020-03-18 14:58:26 +08:00
搬瓦工有个传家宝 19.9 一年的...直接往那里扔
|
24
zzzmh OP 恩恩,学到了,我们目前的方案是每天定时任务,拿到备份文件再加密压缩,再发到类似 oss、或者其他的私密文件存储空间里。但总感觉还是不保险。一怕数据泄露,二怕丢数据。尤其是重要库,丢半天的数据都要命了。
|
25
lqw3030 2020-03-18 15:59:59 +08:00
树莓派主从
|
26
tomczhen 2020-03-18 16:01:56 +08:00 via Android
云平台有磁盘镜像功能,定时镜像。
弄个对象存储 client 同步到私有 bucket,不放心可以压缩打包时加密。 |
28
ajaxfunction 2020-03-18 16:35:24 +08:00
每天夜里
定时发 cdn |
29
ohmyzsh 2020-03-18 16:42:53 +08:00
mysqldump > tar > dropbox
|
31
baobao1270 2020-03-18 16:58:33 +08:00
set CURRENT_DATE=%date:~0,4%-%date:~5,2%-%date:~8,2%
ssh %SERVER% "tar -czvf /home/backup-bot/mysql-data.tar.gz /var/lib/mysql" scp %SERVER%:/home/backup-bot/mysql-data.tar.gz D:\GoogleDrive\%CURRENT_DATE%.tar.gz |
32
lc7029 2020-03-18 17:43:28 +08:00
Oracle RAC,存储做 HA
定期离线完整备份到磁带 |
33
ala2008 2020-03-18 17:53:52 +08:00
数据异步 /同步复制到另外的数据库
|
34
ylsc633 2020-03-18 18:03:38 +08:00 1
现在云主机 快照都是收费的!
所以我把我博客写了一个功能! 每天定时把博客的静态文件(上传的图片,其他不要) + 数据库导出 发送到我邮箱! https://github.com/izghua/go-blog#main |
35
threegrandfather 2020-03-18 18:14:03 +08:00
rsync 走你的 binlog ?
|
36
jzmws 2020-03-18 18:21:07 +08:00
xtrabackup 腾讯云 rds 数据库用的 ,自己搞了一下 很好用
|
37
RookieZoe 2020-03-18 18:21:25 +08:00 3
个人小项目我一般用 docker-compose 跑服务。
数据库备份还原: # PostgreSQL backup docker exec -i $CONTAINER_NAME pg_dump -U $DB_USER -d $DB_NAME -Fc > $FILE_NAME.dump # PostgreSQL restore ## 1. 创建目标数据库 docker exec -i $CONTAINER_NAME psql -U $DB_USER -d postgres -c "create database $DB_NAME" ## 2. 恢复数据库 docker exec -i $CONTAINER_NAME pg_restore -c -U $DB_USER -d $DB_NAME -Fc < $FILE_NAME.dump # MySQL backup docker exec $CONTAINER_NAME sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > $FILE_NAME.sql # MySQL restore docker exec -i $CONTAINER_NAME sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < $FILE_NAME.sql 全部备份: 直接加密码压缩 docker-compose.yml 所在项目文件夹,然后上传完事。。。 |
38
mayx 2020-03-18 18:26:15 +08:00 via Android
懒得手动备份,都是直接上快照
|
39
programV2 2020-03-18 19:05:26 +08:00 via iPhone
@jinsongzhao 你这个只是把数据库备份到本地吗?
|
40
vibbow 2020-03-18 19:18:13 +08:00
阿里云 DBS
|
41
programV2 2020-03-18 19:25:54 +08:00 via iPhone
@RookieZoe 我也是用 DOcker. 请问全部备份:
直接加密码压缩 docker-compose.yml 所在项目文件夹, 如果迁移至不同的主机, 这个以后怎么恢复呢?。 还是说只要备份数据库就行了?但我的是 Drupal 网站,用的是自己的主题。好像还需要备份源码 |
42
rockyou12 2020-03-18 21:32:18 +08:00
数据量小上面的方案还行,稍微大点还是老实买云数据库保险
|
43
caotian 2020-03-18 21:45:57 +08:00
以前定时任务, 现在阿里云出了 DBS 数据库备份了, 支持自建库, 最低的配置的一年也就 170 多好像, 小库够用了, 可以备份到 OSS 里, 保险
|
44
janxin 2020-03-18 21:50:50 +08:00
mysqldump
|
45
surpass 2020-03-18 22:37:13 +08:00
你们用的哪家的云服务器?
|
46
yEhwG10ZJa83067x 2020-03-18 23:09:02 +08:00
做主从
再定时吧从数据库备份出来上传到亚马逊 |
47
xi2008wang 2020-03-18 23:21:32 +08:00
mysqldump tgz cos
|
48
wangyzj 2020-03-18 23:23:09 +08:00
xtrabackup
|
50
RookieZoe 2020-03-19 00:14:31 +08:00
@programV2
就比如我的 gogs 项目文件树是这样的: ```文件树 ├─gogs/ ├─db-data/ ├─site-data/ ├─docker-compose.yml ``` 然后 docker-compose.yml 部分配置如下: ``` docker-compose.yml # 部分配置省略 services: gogs.postgresql: image: postgres:12-alpine expose: - 5432 volumes: - ./db-data/:/var/lib/postgresql/data/ restart: always environment: - TZ=Asia/Shanghai - POSTGRES_DB=name - POSTGRES_USER=user - POSTGRES_PASSWORD=password network_mode: bridge container_name: gogs.postgresql gogs.core: image: gogs/gogs:latest ports: - 22 - 3000 volumes: - ./site-data/:/data/ restart: always depends_on: - gogs.postgresql environment: - TZ=Asia/Shanghai - RUN_CROND=true network_mode: bridge external_links: - gogs.postgresql container_name: gogs.core ``` 然后你保留文件权限压缩整个 gogs 文件夹就完事了。。。 解压之后直接进目录 docker-compos up -d 就可以了。。。 |
51
RookieZoe 2020-03-19 00:18:37 +08:00
@programV2
v 站的 md 语法一直搞不明白。。。 文件树更正一下: ├─gogs/ ├─db-data/ ├─site-data/ ├─docker-compose.yml 至于是只备份数据库还是全部看你项目构成以及你个人喜好吧。。。 |
52
SuperAllen 2020-03-19 01:20:51 +08:00 via Android
既然是一起的,自动快照策略搞定,不仅数据库备份,文件和系统环境也备份了
|
53
programV2 2020-03-19 02:42:38 +08:00
@RookieZoe 那这么说假如直接 rsync 增量备份你的 gogs/ 文件夹, 以后在新的服务器上也可以 直接进目录 docker-compos up -d 就可以了? 我是担心到时 db-data 文件夹这个恢复不起来?
|
54
lxfxf 2020-03-19 04:49:22 +08:00
Teamcity 定期备份出来一个 dump 传到 Google cloud storage 上。
|
55
geekvcn 2020-03-19 05:46:55 +08:00 via Android
定时快照,每周归档
|
56
Tink 2020-03-19 07:37:40 +08:00 via iPhone
直接给虚拟机拍快照不行么
|
57
RookieZoe 2020-03-19 07:52:11 +08:00 via iPhone
@programV2 我只在几台系统都是 debian 的机器上试过,是可以的,如果几台机器系统不一样不确定行不行,没实际操作过。。。
|
58
u0mo5 2020-03-19 08:05:06 +08:00
宝塔面板支持数据库备份脚本
或者直接用一个定时脚本 |
59
Chaidu 2020-03-19 08:17:06 +08:00 1
只有我一个人用 git 私有仓库备份数据库吗?哈哈
|
60
llussy 2020-03-19 08:48:38 +08:00
xtrabackup/mysqldump --> rsync
|
61
Itesting 2020-03-19 08:54:52 +08:00 via iPhone
mysql 的话 天为单位 xtrbackup 全量备份,小时为单位 binlog 备份
|
63
raptor 2020-03-19 09:42:22 +08:00
当然是 cron + xtrabackup + binlog backup + ssh/rsync 到异地服务器或本地电脑,要保密还可以加一层 gpg
|
64
phxsuns 2020-03-19 09:46:21 +08:00
每天自动全盘做个快照。
如果有问题,就全盘恢复到昨天。 |
65
zunceng 2020-03-19 09:57:58 +08:00
买 mysql 服务啊
良心云 web 上有个按钮 定时冷备 (不是打广告 基本每个云厂商都有这个功能) |
66
imnpc 2020-03-19 16:02:35 +08:00
PHP 的话 用宝塔 可以定时自动备份到阿里云 OSS 备份到私有的即可
|