mysqlcrud语句
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:MySQL常用语句表(或...
2024.11.24双 11 买了阿里云的 ECS 服务器,经过一段时间的奋战,终于搞定了网站备案和环境搭建,基于 wordpress 搭建了自己的博客
网站做好后,阿里云的销售向我推销 OSS,价格不贵,40G 包年才几块钱,于是又买了 OSS,今天给大家分享下我是如何把 wordpress 数据库备份到 OSS 上的
阿里云
本文不对 oss 做过多介绍,比如创建 bucket 等
关于 OSSOSS 是阿里云推出的对象存储服务,它和云盘不一样。云盘是可以映射为服务器的目录的,但是 OSS 只能通过专门的工具来访问。如果使用过分布式文件系统 DFS 的话,可以将 OSS 想象成 DFS。
OSS 的用途很多,主要是对象存储;官网上有介绍,其中图片内容识别我还是比较感兴趣的,简单的说是给图片打标签,不知道是不是免费的,以后有空研究下
我购买 OSS 主要是 2 个用途
给博客做图床备份,比如保存云服务器的快照,或者数据库的备份文件目前图床功能已经实现了,所以接下来就是做备份了
数据库备份 DBS阿里云有个数据库备份服务 DBS,我研究了一下,可以备份 ECS 上的自建数据库,我在 DBS 上数据源都建好了,创建备份计划时发现居然是收费的,而且价格不菲;另外,也没有找到怎么备份到 OSS 上,所以 DBS 备份被 pass 了
ossutil有 4 种方式可以使用 OSS
控制台ossbrowserossutilsdk前两种都是图形界面,需要交互的,不适合用来做数据库备份,ossutil 是个命令行工具,sdk 则是程序里操作 oss 的开发库。很自然的,ossutil 是唯一的选择了
基本思路:写个脚本,将 mysql 数据库备份到文件,再用 ossutil 将备份文件存储到 oss,用 crontab 调度脚本自动执行,整个备份过程就算是 ok 了
ossutil 安装# 下载wget https://gosspublic.alicdn.com/ossutil/1.7.0/ossutil64# 赋予执行权限chmod a+x ossutil64# 配置./ossutil64 config配置 ossutil 时,会有如下几个配置项
配置文件路径,直接回车即可语言,选项为 CH/EN,默认是 EN,输入 CH 即可accessKeySecret,访问 oss 的阿里云帐号或者 ram 子账号的 AccessKeystsToken,直接回车即可endpoint,输入 bucket 的 endpointaccessKeyID,访问 oss 的阿里云帐号或者 ram 子账号的 AccessKey这样就安装完成了
ossutil 使用基本命令比如 ls,cp,rm 其实都和 linux 下的同名命令类似
查看 bucket
./ossutil64 lsCreationTime RegionStorageClassBucketName2020-11-29 22:47:47 +0800 CSToss-cn-shenzhen Archiveoss://dbbak-refusea2020-11-29 09:46:45 +0800 CSToss-cn-shenzhenStandardoss://static-refuseaBucket Number is: 20.144840(s) elapsed可以看到我的 oss 有 2 个 bucket,分别是
static-refusea,这个是用来做图床的dbbak-refusea,这个是用来存放数据库备份的查看 bucket 上的文件
看下 static-refusea 上有哪些文件,要注意的是查看某个 bucket 需要用 ls oss://bucket-name 的格式
./ossutil64 ls oss://static-refuseaLastModifiedTimeSize(B)StorageClassETAGObjectName2020-11-29 23:50:10 +0800 CST19256StandardD0289DC0A46FC5B15B3363FFA78CF6C7oss://static-refusea/ghs.png将文件存储到 bucket
# 创建一个文件 free.txt,将用这个文件测试free >> free.txt# 复制./ossutil64 cp free.txt oss://dbbak-refuseaSucceed: Total num: 1, size: 204. OK num: 1(upload 1 files).average speed 5000(byte/s)0.037738(s) elapsed# 查看 bucket 上的文件./ossutil64 ls oss://dbbak-refuseaLastModifiedTimeSize(B)StorageClassETAGObjectName2020-12-01 15:37:12 +0800 CST204Archive68AE7546E386BB26A2E5BAA835A486BDoss://dbbak-refusea/free.txtObject Number is: 10.029973(s) elapsed可以看到文件已经成功保存到 oss 了
删除文件
# 删除./ossutil64 rm oss://dbbak-refusea/free.txtSucceed: Total 1 objects. Removed 1 objects.备份 mysql 数据库并存储到 OSSmsyql
在 /data/dbbak 下创建脚本 backup.sh,将 wordpress 数据库备份,脚本如下
#!/bin/bash# 备份 wordpress 数据库mysqldump wordpress >> wordpress.bak# 将备份文件存储到 oss 并强制覆盖已存在的文件/root/bin/ossutil64 cp -f /data/dbbak/wordpress.bak oss://dbbak-refusea > /dev/null# 删除本地备份文件rm -f wordpress.bak注意:修改 my.cnf 文件,将用户名和密码写入 mysqldump 小节,就可以免密调用 mysqldump 命令了
上述的脚本,用 crontab 调度,每天凌晨 2 点执行
0 2 * * * /data/dbbak/backup.sh这样整个备份就搞定了,贴个图
oss
可以看到数据库备份已经保存到 OSS 了
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:MySQL常用语句表(或...
2024.11.24死锁问题 共享间隙锁引起的死锁 如何产生共享间隙锁 何时产生的隐式锁转换问题现象在一个事务内只会锁一行的数据,没有锁多行数据才会出现的顺序问题,但是会偶尔报个Deadlock事务内sql执行顺序...
2024.11.23简单数据查询操作增删改查是数据表操作的重要组成部分,尤其是数据表的查询更是数据库与各类应用交互的频繁操作之一。本文课主要介绍简单数据查询语句。查询语句基本语法查询语句是实现数据查询的SQL语句,用于实...
2024.11.23),获得连接库需用到的5个参数,在_init_初始类属性时,建立连接,代码如下:import pymysqlfrom configparser import ConfigParserclass Mys...
2024.11.22欢迎来到MySQL实战第27篇,修炼500篇,成就MySQL高手!【插入(insert)操作核心语法】insert into 表名(列1,列2,...)values (数据1,数据2,..);【实际操...
2024.11.21