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/操作文档/7、Mysql数据库下载与还原.md b/操作文档/7、Mysql数据库下载与还原.md index 48180d0..1ba8d55 100644 --- a/操作文档/7、Mysql数据库下载与还原.md +++ b/操作文档/7、Mysql数据库下载与还原.md @@ -1,167 +1,155 @@ -## 云数据库 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$ -``` -mkdir /var/mysql_newdata -p +在自建库所在服务器中安装`Percona XtraBackup`和`qpress`后,再执行以下解压命令。若不安装,后续执行如下命令将失败。 -vi /etc/my.cnf +> **[参考文档](https://www.jianshu.com/p/3af4c7cf70f7)** -# 修改 +```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中的取值相同,您可以使用下面的命令来查询。** +#### 上传备份文件到主机 ``` -cat /var/mysql_bkdata/backup-my.cnf | grep innodb_undo_tablespaces +cd /usr/local ``` - - -#### 添加 ->这个值不是乱写的,是根据上面的查询命令获取到的 +因为备份文件太大,无法使用$rz$ $-be$,所以选择$sftp$上传 ``` -[mysqld] -innodb_undo_tablespaces=0 -innodb_undo_directory= /var/mysql_newdata +hins25487844_data_20240813052415_qp.xb ``` -#### 恢复数据 +#### 前提条件 -``` -innobackupex --defaults-file=/etc/my.cnf --copy-back /var/mysql_bkdata/ -``` +要执行恢复备份,必须满足以下条件: -#### 修改 -``` -vi /etc/my.cnf -``` +- 备份集要完成**准备**。 -#### 增加 +- 数据目录**$datadir$必须为空**。 -``` -[mysqld] -lower_case_table_names=1 -``` - -#### 授权 -``` -chown -R mysql:mysql /var/mysql_newdata -``` +- 不能恢复到正在运行的$mysqld$实例的数据目录(除非导入部分备份),在执行恢复之前需要**关闭$MySQL$服务器**。 +#### 还原 +```shell +rm -rf /var/mysql_bkdata/ && mkdir /var/mysql_bkdata/ -p -#### 启动 - -``` -mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata & -``` - +# 解压 +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'; - -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 +```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 -> Mysql5.7修改用户密码,报错“Unknown trigger has an error in its body: ‘Unknown system variable ‘maintain_user” - -> https://www.cnblogs.com/perfectCats/p/17979389 - +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 + +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 + +#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION + +sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION + +[mysql] +socket=/tmp/mysql.sock +``` +#### 启动 +```shell +/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_bkdata/ & ``` -mysql> select trigger_schema,trigger_name from information_schema.triggers; -+----------------+----------------------------+ -| trigger_schema | trigger_name | -+----------------+----------------------------+ -| 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) - -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 -``` - +#### 登录数据库 +```shell +/usr/local/mysql/bin/mysql -uroot +``` ->MySQL SQL报错-ERROR 1105 (HY000): Unknown error-存储过程/事件 -> https://www.modb.pro/db/518258 -``` -# Mysql ERROR 1067: Invalid default value for 字段 -https://blog.csdn.net/qq_26245325/article/details/78916363 + -use mysql; + -ALTER TABLE `mysql`.`proc` ENGINE = MyISAM; -ALTER TABLE `mysql`.`event` ENGINE = MyISAM; -ALTER TABLE `mysql`.`func` ENGINE = MyISAM; -``` + +**上面基本完成数据的恢复。考虑到恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令** +**delete from mysql.db where user<>'root' and char_length(user)>0;** -#### MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案 +**delete from mysql.tables_priv where user<>'root' and char_length(user)>0;** -https://blog.csdn.net/weixin_43102784/article/details/136162801 +**flush privileges;**