diff --git a/ZhuQue/Sql/t_ext_ketuo_station.sql b/ZhuQue/Sql/t_ext_ketuo_station.sql deleted file mode 100644 index cc35b10..0000000 --- a/ZhuQue/Sql/t_ext_ketuo_station.sql +++ /dev/null @@ -1,41 +0,0 @@ -/* - Navicat Premium Dump SQL - - Source Server : 10.10.14.210 - Source Server Type : MySQL - Source Server Version : 50742 (5.7.42-log) - Source Host : 10.10.14.210:22066 - Source Schema : yltcharge - - Target Server Type : MySQL - Target Server Version : 50742 (5.7.42-log) - File Encoding : 65001 - - Date: 13/08/2024 08:15:10 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for t_ext_ketuo_station --- ---------------------------- -DROP TABLE IF EXISTS `t_ext_ketuo_station`; -CREATE TABLE `t_ext_ketuo_station` ( - `station_id` int(11) NOT NULL COMMENT '车场ID', - `station_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车场名称', - `third_party_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方道闸的供应商名称', - `third_party_station_id` int(255) NOT NULL DEFAULT 0 COMMENT '第三方的车场ID', - `third_party_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方车场对接的URL', - `third_party_appId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方车场对接的appId', - `third_party_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方车场对接的pwd', - `b_use` int(11) NOT NULL DEFAULT 1 COMMENT '是否启用', - PRIMARY KEY (`station_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '与科拓闸机对接,充电结束,免费2小时停车费用。' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of t_ext_ketuo_station --- ---------------------------- -INSERT INTO `t_ext_ketuo_station` VALUES (114, '驿来特充电站(中东港站)', '科拓', 431008480, 'http://kp-open.keytop.cn/unite-api', '13492', '28a2b82f3e9c48338eafbf84fecf8f9b', 1); - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/ZhuQue/Sql/黄海增加的表.sql b/ZhuQue/Sql/黄海增加的表.sql new file mode 100644 index 0000000..6cabc8e --- /dev/null +++ b/ZhuQue/Sql/黄海增加的表.sql @@ -0,0 +1,65 @@ +/* + Navicat Premium Dump SQL + + Source Server : 10.10.14.210 + Source Server Type : MySQL + Source Server Version : 50742 (5.7.42-log) + Source Host : 10.10.14.210:22066 + Source Schema : yltcharge + + Target Server Type : MySQL + Target Server Version : 50742 (5.7.42-log) + File Encoding : 65001 + + Date: 14/08/2024 13:24:34 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for t_ext_dz_log +-- ---------------------------- +DROP TABLE IF EXISTS `t_ext_dz_log`; +CREATE TABLE `t_ext_dz_log` ( + `order_no` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订单号', + `charge_plate_no` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车牌号', + `request_body` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '请求内容', + `result` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '返回代码', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`order_no`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of t_ext_dz_log +-- ---------------------------- +INSERT INTO `t_ext_dz_log` VALUES ('2021040710440684484', '吉A88888', '{\"Uid\":\"E4450C69-C4C7-4983-8D4C-A52737ACBB0D\",\"Op\":\"discount\",\"Ver\":2,\"Sign\":\"1CEDBA635F2911884644AB72F9A8BE80\",\"Data\":{\"Serial\":\"498D8F13-54E6-4F57-B92A-9C958ED047CB\",\"DiscountType\":2,\"License\":\"吉A88888\",\"DiscountFee\":0,\"DiscountMinute\":120,\"Name\":\"驿来特停车优惠券\"},\"Timestamp\":1723536970212}', '{\"Code\":0,\"Message\":\"未查询到数据或停车记录\",\"Tag\":\"吉A88888\",\"Ver\":2.0,\"Uid\":\"E4450C69-C4C7-4983-8D4C-A52737ACBB0D\",\"AppId\":\"\",\"MacId\":null,\"Op\":\"discount\",\"Data\":{\"Serial\":\"498D8F13-54E6-4F57-B92A-9C958ED047CB\",\"License\":\"吉A88888\"}}', '2024-08-13 04:16:10'); +INSERT INTO `t_ext_dz_log` VALUES ('2022012911045715187', '吉A88888', '{\"orderNo\":\"2022012911045715187\",\"serviceCode\":\"syncChargePilePay\",\"plateNo\":\"吉A88888\",\"totalMoney\":59,\"seviceMoney\":25,\"freeType\":1,\"deviceId\":930,\"deviceName\":\"驿来特充电站(中东港站)-2#\",\"parkId\":431008480,\"elecMoney\":34,\"reqId\":\"8F447F58-8C1E-4923-8C73-0C2FE1950485\",\"appId\":\"13492\",\"spaceNo\":\"201051\",\"freeTime\":7200,\"startTime\":\"2022-01-29 11:05:17.0\",\"stationName\":\"驿来特充电站(中东港站)\",\"endTime\":\"2022-01-29 11:06:30.0\",\"power\":35.3,\"freeMoney\":0,\"key\":\"60194762AECCDF05FFC17C85391292A4\",\"ts\":1723536954988,\"stationId\":114}', '{\"data\":null,\"resCode\":\"1\",\"resMsg\":\"没有找到车辆信息\"}', '2024-08-13 04:15:56'); + +-- ---------------------------- +-- Table structure for t_ext_dz_station +-- ---------------------------- +DROP TABLE IF EXISTS `t_ext_dz_station`; +CREATE TABLE `t_ext_dz_station` ( + `station_id` int(11) NOT NULL DEFAULT 0 COMMENT '车场ID', + `station_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车场名称', + `third_party_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方道闸的供应商名称', + `third_party_station_id` int(255) NOT NULL DEFAULT 0 COMMENT '第三方的车场ID', + `third_party_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方车场对接的URL', + `third_party_appId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方车场对接的appId', + `third_party_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第三方车场对接的pwd', + `b_use` int(11) NOT NULL DEFAULT 1 COMMENT '是否启用', + `mini_receivable_total_fee` int(11) NOT NULL DEFAULT 0 COMMENT '最小充电费用,单位:分,0表示不限制', + `mini_charge_ah` float NOT NULL DEFAULT 0 COMMENT '最小充电度数,单位:度,0表示不限制', + `freeMoney` int(11) NOT NULL DEFAULT 0 COMMENT '减免金额,单位:元', + `freeTime` int(11) NOT NULL DEFAULT 0 COMMENT '减名时间,单位:秒', + PRIMARY KEY (`station_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '与科拓闸机对接,充电结束,免费2小时停车费用。' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of t_ext_dz_station +-- ---------------------------- +INSERT INTO `t_ext_dz_station` VALUES (85, '驿来特充电站(西点药业湛江路)', '智门科技', 0, 'http://www.wmarkj.com:12004/Cloud', '-1', '-1', 1, 0, 0, 0, 0); +INSERT INTO `t_ext_dz_station` VALUES (114, '驿来特充电站(中东港站)', '科拓', 431008480, 'http://kp-open.keytop.cn/unite-api/api/wec/SyncChargePilePay', '13492', '28a2b82f3e9c48338eafbf84fecf8f9b', 1, 0, 0, 0, 7200); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java index 4ed6c04..a8e8dec 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Start.java @@ -126,7 +126,6 @@ public class Start extends JFinalConfig { jFinalPlugin.setDatabase(PropKit.get("mongodb_dbname")); jFinalPlugin.auth(PropKit.get("mongodb_username"), PropKit.get("mongodb_password")); me.add(jFinalPlugin); - } /** diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java index 736f099..3c2cd4f 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Controller/YltController.java @@ -184,52 +184,4 @@ public class YltController extends Controller { } renderJson(CommonUtil.getRet(false, "发现了一个未知的闸机厂商,请联系开发人员!")); } - - - /** - * 功能:根据用户id查询挂起订单 - * state: 订单状态 0 创建中 1准备充电中 2 充电中 3完成 4 取消 5挂起 6需要手动补单 7结算中 - * order_type: 订单类型 1普通用户订单 3 企业用户订单 4第三方平台订单 - * order_type =1 or 3 的使用正向方式处理 【直连】 - * order_type =4 使用反向方式处理 【互联互通】 - * - */ - @Before({GET.class}) - @IsLoginInterface({}) - public void getHungUpOrder(String order_no) { - Record record = ym.getHungUpOrder(order_no); - if (record == null) { - renderJson(CommonUtil.getRet(false, "没有挂起订单!")); - return; - } - JSONObject res = new JSONObject(); - res.put("data", record); - - //订单类型 - int order_type = record.getInt("order_type"); - //订单状态 0 创建中 1准备充电中 2 充电中 3完成 4 取消 5挂起 6需要手动补单 7结算中 - int state = record.getInt("state"); - //互联互通 - if (order_type == 4) { - /** - 显示对接平台发过来的金额,并且需要显示我方的金额,两者对比,差额等,让管理员决策判断是否可以补单 - 1,在订单管理---充电订单,中 筛选 待结算,可以看到。 - 2,互联互通,平台推过来的订单中会含有电费和服务费两项,桩设置中有单价,也可以计算出来电费和服务费,之后算两者的差。 - 在中电联 标准协议中,互联互通订单,都是推过来,不用太计算,之所以加这项,是怕有万一互联互通在推送过程中有电量没有费用,之前发生过类似情况,给客户按0结算了,所以加的这么个验证。 - */ - //MongoDB中集合:notificationChargeOrderInfoReqDao.findOne(orderNo); 可以获取到互联互通平台传送过来的账单信息,可以提供出来让人来看 - //TODO - } else {//直连 - //最后一次通讯记录 - JSONObject jo = query.use("equipmentOrder").eq("_id", order_no).findOne(); - res.put("extInfo", jo); - //chargeBeginTime 开始充电时间 - //chargeEndTime 结束充电时间 - //charge_degree 充电度数 - //chargeBeginSoc 充电开始soc - //chargeEndSoc 充电结束soc - //chargeDuration 充电时长 单位:秒 - } - renderJson(CommonUtil.getRet(res, true, "获取数据成功!")); - } } \ No newline at end of file diff --git a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java index 1034d03..d20fda0 100644 --- a/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java +++ b/ZhuQue/src/main/java/com/dsideal/ZhuQue/Ylt/Model/YltModel.java @@ -122,30 +122,4 @@ public class YltModel { record.set("result", result); Db.save("t_ext_dz_log", "order_no", record); } - - /** - * 功能:根据手机号查询用户信息 - * - * @param phone - * @return - */ - public List queryUserByPhone(String phone) { - String sql = "select * from t_user where relation_phone=? or phone=?"; - List list = Db.find(sql, phone, phone); - return list; - } - - /** - * 功能:根据订单号查询挂起订单 - * - * state: 订单状态 0 创建中 1准备充电中 2 充电中 3完成 4 取消 5挂起 6需要手动补单 7结算中 - * order_type: 订单类型 1普通用户订单 3 企业用户订单 4第三方平台订单 - * order_type =1 or 3 的使用正向方式处理 - * order_type =4 使用反向方式处理 - * @param order_no - */ - public Record getHungUpOrder(String order_no) { - String sql = "select order_no,state,order_type from t_equipment_charge_order where order_no=?"; - return Db.findFirst(sql, order_no); - } } diff --git a/业务梳理/源码管理服务器.mmap b/业务梳理/源码管理服务器.mmap new file mode 100644 index 0000000..7b62787 Binary files /dev/null and b/业务梳理/源码管理服务器.mmap differ diff --git a/业务梳理/驿来特收到的需求、分析与现状.docx b/业务梳理/驿来特收到的需求、分析与现状.docx index f137bda..8fe829e 100644 Binary files a/业务梳理/驿来特收到的需求、分析与现状.docx and b/业务梳理/驿来特收到的需求、分析与现状.docx differ diff --git a/操作文档/11、Docker常用命令.md b/操作文档/11、Docker常用命令.md index 0409976..f844e74 100644 --- a/操作文档/11、Docker常用命令.md +++ b/操作文档/11、Docker常用命令.md @@ -8,6 +8,8 @@ docker ps -a ```shell docker ps -aqf "name=gw-charge" + +docker ps -aqf "name=" ``` #### 删除容器 @@ -54,9 +56,9 @@ docker exec -it 58bb2dce0a92 /bin/bash #### 排查步骤 1、在IDEA中运行正常 -2、打包成jar,在windows中启动正常 +2、打包成$jar$,在$windows$中启动正常 -##### WINDOWS环境下运行jar包 +##### $WINDOWS$环境下运行$jar$包 ```cmd "C:\Program Files\Java\jdk1.8.0_271\bin\java" -jar ms-admin.jar ``` diff --git a/操作文档/1、安装RockyLinux.md b/操作文档/1、安装RockyLinux.md index 911a6aa..ecd8c67 100644 --- a/操作文档/1、安装RockyLinux.md +++ b/操作文档/1、安装RockyLinux.md @@ -1,49 +1,139 @@ -## 安装$Rocky$ $Linx$ $9$ +## 下载与安装$Rocky$ $Linx$ $9.4$ -#### 最终安装的服务器$IP$与端口 +#### 1、下载 + +[https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.4-x86_64-minimal.iso](https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.4-x86_64-minimal.iso) + + + +#### 2、刻录$U$盘 + +http://rufus.ie/zh/ + + + +#### 3、安装 + +以$U$盘引导启动安装 + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150748183.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150749281.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150749408.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150751140.png) + + + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150751900.png) + +网络配置好后,点击$Save$保存退出,回到上一级页面,点击$Done$ + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150752805.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150753292.png) + + + + + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150753576.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150754551.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150755325.png) + + + + + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150755747.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150756339.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150756054.png) -``` -IP -10.10.14.210 -端口 -22 -用户名与密码 -root -DsideaL4r5t6y7u +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150757028.png) -SSH +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150758914.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150759957.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150759582.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150759235.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150759428.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150800139.png) + + + +#### 操作工具 + +SecureCRT 9.2 + +``` +通过百度网盘分享的文件:SecureCRT +链接:https://pan.baidu.com/s/1z18RwFWb4s62RlMDUiqgOA?pwd=cu6z +提取码:cu6z +--来自百度网盘超级会员V8的分享 ``` +安装配置好SecureCRT后,增加一个Session + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150812381.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150812233.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150812916.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150813757.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150813478.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150814291.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150814498.png) + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408150814980.png) + + + +#### $VI$操作办法 + +https://www.runoob.com/linux/linux-vim.html + +这个操作不会的话没法继续整后面的,花点时间学习一下~ -### 注意以下几点 -- $Rocky$ $Linux$在安装界面时,可以选择$GUI$界面,还是$Mini$安装无$GUI$界面,需要动手选择好! -- 安装界面上输入密码时,有允许Rocky Linux 9 root用户通过ssh登录的选项,注意选择! -- 分区时,先$Auto$,然后删除掉 /和 /$home$,然后再进行一遍所有剩余空间到 / 的操作。 ### 常用命令 ``` # 临时关闭selinux - setenforce 0 +# 临时关闭防火墙: +systemctl stop firewalld + + # 永久关闭selinux vi /etc/sysconfig/selinux SELINUX=disabled -# 临时关闭防火墙: - -systemctl stop firewalld # 永久关闭防火墙: - systemctl disable firewalld + +# 重新启动 +restart ``` diff --git a/操作文档/6、MongoDB数据库下载与还原.md b/操作文档/6、MongoDB数据库下载与还原.md index 1f87aa2..ebbdc3c 100644 --- a/操作文档/6、MongoDB数据库下载与还原.md +++ b/操作文档/6、MongoDB数据库下载与还原.md @@ -5,7 +5,7 @@ #### 下载 -``` +```shell percona-xtrabackup-2.4.29-Linux-x86_64.glibc2.17-minimal.tar.gz ``` @@ -13,7 +13,7 @@ percona-xtrabackup-2.4.29-Linux-x86_64.glibc2.17-minimal.tar.gz #### 安装 -``` +```shell cd /usr/local gunzip percona-xtrabackup-2.4.29-Linux-x86_64.glibc2.17-minimal.tar.gz tar -xvf percona-xtrabackup-2.4.29-Linux-x86_64.glibc2.17-minimal.tar @@ -30,9 +30,9 @@ ln -sf /usr/local/xtrabackup/bin/* /usr/bin/ -#### 下载qpress +#### 下载$qpress$ -``` +```shell rz -be 选择:qpress-11-linux-x64.tar tar -xf qpress-11-linux-x64.tar @@ -43,7 +43,7 @@ cp -a qpress /usr/bin/ #### 查看版本 -``` +```shell xtrabackup --version ``` @@ -51,7 +51,7 @@ xtrabackup --version #### 查看位置 -``` +```shell which xtrabackup ``` @@ -59,52 +59,33 @@ which xtrabackup #### 解包 -``` +```shell cd /usr/local/mongodb/db + rz -be -选择 hins15335287_data_20240730061703_qp.xb +选择 hins15335287_data_20240814061706_qp.xb -cat hins15335287_data_20240730061703_qp.xb | xbstream -x -v +cat hins15335287_data_20240814061706_qp.xb | xbstream -x -v innobackupex --decompress --remove-original /usr/local/mongodb/db -``` - - -#### 打扫垃圾 - -``` -rm -rf hins15335287_data_20240730061703_qp.xb +rm -rf hins15335287_data_20240814061706_qp.xb ``` -#### 启动MongoDB +#### 启动$MongoDB$ ``` cd /usr/local/mongodb chmod 777 db chmod 777 log -``` - - -#### 备份数据库 - -``` -mongodump +cd /usr/local/mongodb +./bin/mongod -f ./mongodb.conf ``` -https://mp.weixin.qq.com/s?__biz=MjM5NTcxMTE2Nw==&mid=2653126118&idx=2&sn=d7c3fa8bc119856dae3d66de09067ab8&chksm=bd238c368a5405209c9b9e5409afe31a39c3774b09312164822933734639eefd0289e74e5a48&scene=27 -``` -[root@RockyLinux dump]# ll -total 4 -drwxr-xr-x. 2 root root 128 Jul 29 23:02 admin -drwxr-xr-x. 2 root root 4096 Jul 29 23:04 yltcharge -[root@RockyLinux dump]# pwd -/usr/local/mongodb/db/dump -``` diff --git a/操作文档/7、Mysql数据库下载与还原.md b/操作文档/7、Mysql数据库下载与还原.md index 48180d0..4e822b0 100644 --- a/操作文档/7、Mysql数据库下载与还原.md +++ b/操作文档/7、Mysql数据库下载与还原.md @@ -1,167 +1,237 @@ -## 云数据库 RDS +## 云数据库 $RDS$ -4.07GB -5.7 -hins25487844_data_20240730052418_qp.xb -还原办法: -https://www.alibabacloud.com/help/zh/rds/apsaradb-rds-for-mysql/restore-the-data-of-an-apsaradb-rds-for-mysql-instance-from-a-physical-backup-file-to-a-self-managed-mysql-database - -### 开始还原 -cd /usr/local - -因为备份文件太大,无法使用rz -be,所以选择sftp上传 hins25487844_data_20240730052418_qp.xb +> $RDS$为$5.7$版本,有自动备份设置,每天都会有一个新的备份生成。这个备份是物理备份。 -#### 解包 +下载的文件名称类似于: ``` -mkdir /var/mysql_bkdata/ -p -cat hins25487844_data_20240730052418_qp.xb | xbstream -x -v -C /var/mysql_bkdata/ -innobackupex --decompress --remove-original /var/mysql_bkdata/ +hins25487844_data_20240730052418_qp.xb +hins25487844_data_20240813052415_qp.xb ``` +> **[阿里云官方参考文档](https://www.alibabacloud.com/help/zh/rds/apsaradb-rds-for-mysql/restore-the-data-of-an-apsaradb-rds-for-mysql-instance-from-a-physical-backup-file-to-a-self-managed-mysql-database)** -#### 恢复前准备 -``` -innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/ -``` +#### 安装$Percona$ $XtraBackup$ 和 $qpress$ -#### 编辑数据库配置文件 +在自建库所在服务器中安装`Percona XtraBackup`和`qpress`后,再执行以下解压命令。若不安装,后续执行如下命令将失败。 -``` -mkdir /var/mysql_newdata -p +> **[参考文档](https://www.jianshu.com/p/3af4c7cf70f7)** -vi /etc/my.cnf +```shell +yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm +percona-release enable-only tools release +yum install lz4 zstd -y +yum install percona-xtrabackup-80 -y +yum -y install qpress -# 修改 - -datadir = /var/mysql_newdata +# 检查安装的版本 + xtrabackup --version ``` -**参数innodb_undo_tablespaces的取值需要与/var/mysql_bkdata/backup-my.cnf中的取值相同,您可以使用下面的命令来查询。** +#### 冷知识:为什么不使用$MysqlDump$备份数据库,而是采用了$XtraBackup$进行备份数据库? -``` -cat /var/mysql_bkdata/backup-my.cnf | grep innodb_undo_tablespaces -``` +**答**:因为逻辑备份时,会导致锁表,数据库性能下降,如果此时有大量用户使用,就带来的非常不好的体验,这时,$XtraBackup$的无感备份机制就有了用武之地。 -#### 添加 ->这个值不是乱写的,是根据上面的查询命令获取到的 +#### 上传备份文件到主机 ``` -[mysqld] -innodb_undo_tablespaces=0 -innodb_undo_directory= /var/mysql_newdata +cd /usr/local ``` - - -#### 恢复数据 +因为备份文件太大,无法使用$rz$ $-be$,所以选择$sftp$上传 ``` -innobackupex --defaults-file=/etc/my.cnf --copy-back /var/mysql_bkdata/ +hins25487844_data_20240813052415_qp.xb ``` -#### 修改 -``` -vi /etc/my.cnf -``` -#### 增加 -``` -[mysqld] -lower_case_table_names=1 -``` +#### 前提条件 -#### 授权 -``` -chown -R mysql:mysql /var/mysql_newdata -``` +要执行恢复备份,必须满足以下条件: +- 备份集要完成**准备**。 +- 数据目录**$datadir$必须为空**。 -#### 启动 +- 不能恢复到正在运行的$mysqld$实例的数据目录(除非导入部分备份),在执行恢复之前需要**关闭$MySQL$服务器**。 -``` -mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata & -``` +#### 还原 +```shell +rm -rf /var/mysql_bkdata/ && mkdir /var/mysql_bkdata/ -p +# 解压 +cat hins25487844_data_20240813052415_qp.xb | xbstream -x -v -C /var/mysql_bkdata/ ------------------------------------------------------------------------------------------------------------- +innobackupex --decompress --remove-original /var/mysql_bkdata/ -#### 重置密码 +# 应用日志 +innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/ +# 修改数据库文件属性 +chown -R mysql:mysql /var/mysql_bkdata ``` -/etc/init.d/mysqld stop -mysqld_safe --user=mysql --skip-grant-tables --skip-networking & -mysql -update mysql.user set authentication_string=PASSWORD("DsideaL147258369") where user='root' and host='localhost'; +#### 编辑数据库配置文件 + +```shell +vi /etc/my.cnf +``` + + **内容如下:** + +```shell +[mysqld] +user=mysql +basedir=/usr/local/mysql +#datadir=/data/mysql +datadir=/var/mysql_bkdata +server_id=1 +port=22066 +socket=/tmp/mysql.sock + +lower_case_table_names=1 +max_connections = 2048 +max_connect_errors = 30 +table_open_cache = 2048 +open_files_limit = 16384 +max_allowed_packet = 16M +read_buffer_size = 8M +read_rnd_buffer_size = 32M +sort_buffer_size = 2M +join_buffer_size = 2M +thread_cache_size = 16 +query_cache_size = 128M +query_cache_limit = 4M +slow_query_log = 1 +long_query_time = 2 +innodb_file_per_table = 1 +max_allowed_packet = 64M -flush privileges; +innodb_data_file_path = ibdata1:10M:autoextend +innodb_buffer_pool_size = 2G +innodb_write_io_threads = 8 +innodb_read_io_threads = 8 +innodb_flush_log_at_trx_commit = 2 +innodb_log_buffer_size = 16M +innodb_log_file_size = 170M +innodb_lock_wait_timeout = 60 -GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'DsideaL147258369' WITH GRANT OPTION; +#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION -flush privileges; -exit +sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION -/etc/init.d/mysqld restart -mysql -uroot -pDsideaL147258369 +[mysql] +socket=/tmp/mysql.sock ``` -> Mysql5.7修改用户密码,报错“Unknown trigger has an error in its body: ‘Unknown system variable ‘maintain_user” +#### 启动$Mysql$ -> https://www.cnblogs.com/perfectCats/p/17979389 +```shell +/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_bkdata/& +``` +#### 进入$Mysql$ +```shell +/etc/init.d/mysqld stop +mysqld_safe --user=mysql --skip-grant-tables --skip-networking & +mysql ``` + +**删除多余的触发器** + +```sql mysql> select trigger_schema,trigger_name from information_schema.triggers; +----------------+----------------------------+ -| trigger_schema | trigger_name | +| trigger_schema | trigger_name | +----------------+----------------------------+ -| sys | sys_config_insert_set_user | -| sys | sys_config_update_set_user | +| sys | sys_config_insert_set_user | +| sys | sys_config_update_set_user | +----------------+----------------------------+ -2 rows in set (0.03 sec) -mysql> drop trigger sys.sys_config_insert_set_user; -Query OK, 0 rows affected (0.06 sec) +2 rows in set (0.02 sec) -mysql> drop trigger sys.sys_config_update_set_user; -Query OK, 0 rows affected (0.02 sec) - -[root@RockyLinux local]# mv /var/mysql_newdata/mysql/user.TRG /var/mysql_newdata/mysql/user.TRG.back -[root@RockyLinux local]# mv /var/mysql_newdata/mysql/proxies_priv.TRG /var/mysql_newdata/mysql/proxies_priv.TRG.back -``` +有两个没有删除掉的触发器,会导致后面的修改密码失败, +找到自己数据恢复的目录,查找以“.trg”为结尾的触发器文件,这里数据恢复目录为/var/mysql_bkdata/,执行find查找口令: +find /var/mysql_bkdata/ -iname *.trg +rm -rf /var/mysql_bkdata/mysql/user.TRG +rm -rf /var/mysql_bkdata/mysql/proxies_priv.TRG +``` +#### 授权与创建用户 ->MySQL SQL报错-ERROR 1105 (HY000): Unknown error-存储过程/事件 + ```sql + 退出Mysql,重新登录进来,切换到mysql.user表,重新更新密码 + + update mysql.user set authentication_string=PASSWORD("DsideaL147258369") where user='root' and host='localhost'; + + flush privileges; + + GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'DsideaL147258369' WITH GRANT OPTION; + + flush privileges; + exit + + /etc/init.d/mysqld restart + mysql -uroot -pDsideaL147258369 + + # 添加上项目中的ycharge用户 + CREATE USER 'ycharge'@'localhost' IDENTIFIED BY 'ycharge'; + GRANT ALL PRIVILEGES ON *.* TO 'ycharge'@'%'IDENTIFIED BY 'ycharge' WITH GRANT OPTION; + flush privileges; + + + # 切换三张表的引擎为MyISAM,防止出现 1105 ER_UNKNOWN_ERROR + use mysql; + + ALTER TABLE `mysql`.`proc` ENGINE = MyISAM; + ALTER TABLE `mysql`.`event` ENGINE = MyISAM; + ALTER TABLE `mysql`.`func` ENGINE = MyISAM; + ``` -> https://www.modb.pro/db/518258 +#### 移动到$SSD$硬盘上 +```Shell +df -h ``` -# Mysql ERROR 1067: Invalid default value for 字段 -https://blog.csdn.net/qq_26245325/article/details/78916363 +``` +[root@RockyLinux local]# df -h +Filesystem Size Used Avail Use% Mounted on +devtmpfs 4.0M 0 4.0M 0% /dev +tmpfs 7.7G 112K 7.7G 1% /dev/shm +tmpfs 3.1G 8.8M 3.1G 1% /run +/dev/mapper/rl-root 491G 80G 412G 17% / +/dev/sda2 960M 220M 741M 23% /boot +/dev/sda1 599M 7.1M 592M 2% /boot/efi +tmpfs 1.6G 0 1.6G 0% /run/user/0 +/dev/sdb1 98G 28G 65G 31% /usr/local/db +``` -use mysql; +```shell +cd /usr/local/db +rm -rf mysql_newdata +cp -r /var/mysql_bkdata/ mysql_bkdata/ -ALTER TABLE `mysql`.`proc` ENGINE = MyISAM; -ALTER TABLE `mysql`.`event` ENGINE = MyISAM; -ALTER TABLE `mysql`.`func` ENGINE = MyISAM; -``` +service mysqld stop +修改一下 /etc/my.cnf +data_dir=/usr/local/db/mysql_bkdata +# 修改数据库文件属性 +chown -R mysql:mysql /usr/local/db/mysql_bkdata -#### MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案 +service mysqld start +``` -https://blog.csdn.net/weixin_43102784/article/details/136162801 diff --git a/操作文档/frp[10.10.14.71].zip b/操作文档/frp[10.10.14.71].zip new file mode 100644 index 0000000..6c6ba79 Binary files /dev/null and b/操作文档/frp[10.10.14.71].zip differ