MySQL日志管理

别再手动量了!用Python+Open3D给BIM模型做‘CT扫描’,自动揪出施工误差(附完整代码) 本文介绍如何利用Python和Open3D技术实现BIM模型的毫米级施工误差自动检测。通过点云预处理、模型配准和偏差分析,系统能自动生成三维差异热力图和验收报告,显著提升施工质量检测效率。特别适合混凝土结构错位和钢结构安装偏差等常见问题的智能分析。 阅读详情

  • MySQL支持丰富的日志类型,包括:
事务日志transaction log 事务日志的写入类型为“追加”,因此其操作为“顺序IO”;通常也被称为:预写式日志 write ahead logging
事务日志文件: /var/lib/mysql/ib_logfile0, /var/lib/mysql/ib_logfile1
错误日志error log
通用日志general log
慢查询日志slow query log
二进制日志binary log
中继日志reley log,在主从复制架构中,从服务器用于保存从主服务器的二进制日志中读取的事件

一.事务日志

1.1 事务日志

  • 事务日志(transaction log)是事务型存储引擎(InnoDB)自行管理和使用的一种日志,默认在MySQL的数据库所在的文件夹;
    实际使用时建议和数据文件分开存放
  • 事务日志又分为redo log和undo log

1.2 InnoDB事务日志配置

  • InnoDB事务配置项
    SHOW VARIABLES LIKE '%innodb_log%';
innodb_log_file_size 50331648              # 定义每个日志文件大小
innodb_log_files_in_group 2                # 日志组成员个数
innodb_log_group_home_dir ./               # 事务文件路径,该相对路径是相对于mysql数据库所在目录
innodb_flush_log_at_trx_commit=0|1|2     # 决定innodb在多I/O操作的事务进行过程中ACID符合度和系统性能的参数默认为1

1.3 配置innodb处理事务日志的行为优化性能

  • innodb_flush_log_at_trx_commit 取不同值时InnoDB对数据的不同操作

在这里插入图片描述

innodb_flush_log_at_trx_commit
1: 默认情况下,日志缓冲区将写入日志文件,并在每次事务后执行刷新到磁盘。 完全遵守ACID特性
    innodb_flush_log_at_trx_commit设置为1,同时配合sync_binlog = 1表示最高级别的容错能力
    另一项参数:innodb_use_global_flush_log_at_trx_commit的值确定是否可以使用SET语句重置innodb_flush_log_at_trx_commit变量
0: 提交时没有写磁盘的操作; 而是每秒执行一次将日志缓冲区的提交的事务写入刷新到磁盘。 这样可提
供更好的性能,但服务器崩溃可能丢失最后一秒的事务
2: 每次提交后都会写入OS的缓冲区但是不立即3刷新到磁盘,每秒才会进行一次刷新到磁盘文件中。 性能
比值为0略差一些,但操作系统或停电可能导致最后一秒的交易丢失
3: 模拟MariaDB 5.5组提交(每组提交3个同步),此项MariaDB 10.0支持
  • 性能从高到低:0--->2--->1 但是是以最后一秒的数据可能丢失的代价换取的

二.错误日志

错误日志

  • 错误日志为mysqld启动和关闭过程中输出的事件信息、mysqld运行中产生的错误信息、event scheduler
    运行一个event时产生的日志信息及在主从复制架构中的从服务器上启动从服务器线程时产生的信息

  • 错误日志文件路径

SHOW GLOBAL VARIABLES LIKE 'log_error';

MariaDB [hellodb]> SHOW GLOBAL VARIABLES LIKE 'log_error';
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| log_error     | /var/log/mariadb/mariadb.log |
+---------------+------------------------------+
1 row in set (0.00 sec)

错误日志配合log_warnings系统变量,log_warnings表示是否将更多的包括警告的日志输出到/var/log/mariadb/mariadb.log
文件中,默认为启用,指定任何大于1的数表示将尝试连接失败等的信息一并记录到错误日志文件中。0表示不输出
错误日志。

log_error=/PATH/TO/ERR0R_LOG_FILE
log_warnings=1

三.通用日志

3.1 通用日志

  • 通用日志用于记录对数据库的通用操作,包括错误的SQL语句
  • 通用日志可以保存在文件或者数据库中:file(默认值)或table(mysql.general_log)

3.2 通用日志相关设置

  • 配置选项
general_log=ON|OFF
general_log_file=HOSTNAME.log
log_output=TABLE|FILE|NONE
  • 开启通用日志
MariaDB [hellodb]> SET GLOBAL log_output="table";
Query OK, 0 rows affected (0.00 sec)

MariaDB [hellodb]> SHOW VARIABLES LIKE 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 row in set (0.00 sec)

MariaDB [hellodb]> SET GLOBAL general_log=ON;
Query OK, 0 rows affected (0.00 sec)

MariaDB [hellodb]> SELECT * FROM mysql.general_log\G
*************************** 1. row ***************************
  event_time: 2019-11-27 12:44:42.881291
   user_host: root[root] @ localhost []
   thread_id: 37
   server_id: 1
command_type: Query
    argument: SELECT * FROM mysql.general_log
1 row in set (0.00 sec)

MariaDB [hellodb]> SELECT * FROM mysql.general_log;
+----------------------------+---------------------------+-----------+-----------+--------------+---------------------------------+
| event_time                 | user_host                 | thread_id | server_id | command_type | argument                        |
+----------------------------+---------------------------+-----------+-----------+--------------+---------------------------------+
| 2019-11-27 12:44:42.881291 | root[root] @ localhost [] |        37 |         1 | Query        | SELECT * FROM mysql.general_log |
| 2019-11-27 12:46:21.332561 | root[root] @ localhost [] |        37 |         1 | Query        | SELECT * FROM mysql.general_log |
+----------------------------+---------------------------+-----------+-----------+--------------+---------------------------------+
2 rows in set (0.00 sec)

四.慢查询日志

4.1 慢查询日志

  • 慢查询日志用来记录SQL语句执行时长超出指定时长的操作,这样有利于找到执行速度较慢的语句,以便针对性
    优化查询性能。

4.2 慢查询日志配置项

slow_query_log=ON|OFF #开启或关闭慢查询
long_query_time=N #慢查询的阀值,单位秒
slow_query_log_file=HOSTNAME-slow.log #慢查询日志文件
log_slow_filter = admin,filesort,filesort_on_disk,full_join,full_scan,
query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
#上述查询类型且查询时长超过long_query_time,则记录日志
log_queries_not_using_indexes=ON #不使用索引或使用全索引扫描,不论是否达到慢查询阀值的语
句是否记录日志,默认OFF,即不记录
log_slow_rate_limit = 1 #多少次查询才记录,mariadb特有
log_slow_verbosity= Query_plan,explain #记录内容
log_slow_queries = OFF 同slow_query_log #MariaDB 10.0/MySQL 5.6.1 版后已删除

五.profile工具

5.1 profile

  • profile 工具用来显示指明某SQL语句在当前session执行过程中所使用的资源情况的信息。可以使用下面的句
    子开启profile功能。其显示的SQL语句都是在最近发送给服务器执行的,显示SQL语句的多少由
    profiling_history_size会话及参数确定。默认为100,设置为0失能profile功能。
SHOW PROFILE [type [, type] ... ]
    [FOR QUERY n]
    [LIMIT row_count [OFFSET offset]]

type: {
    ALL
  | BLOCK IO
  | CONTEXT SWITCHES
  | CPU
  | IPC
  | MEMORY
  | PAGE FAULTS
  | SOURCE
  | SWAPS
}

SET profiling=ON;

  • 查看SQL语句的ID和总的执行时间等信息使用
    SHOW profile;SHOW profiles;

  • 具体查看某个SQL语句的详细执行过程和资源使用情况使用
    SHOW profile FOR QUERY ID # ID为SHOW profile;命令显示的第一列

  • 查看具体对某种资源的使用情况和时间用
    SHOW profile CPU[|IPC...] FOR QUERY n;

  • 例子

mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
|           0 |
+-------------+
1 row in set (0.00 sec)

mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE T1 (id INT);
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW PROFILES;
+----------+----------+--------------------------+
| Query_ID | Duration | Query                    |
+----------+----------+--------------------------+
|        0 | 0.000088 | SET PROFILING = 1        |
|        1 | 0.000136 | DROP TABLE IF EXISTS t1  |
|        2 | 0.011947 | CREATE TABLE t1 (id INT) |
+----------+----------+--------------------------+
3 rows in set (0.00 sec)

mysql> SHOW PROFILE;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| checking permissions | 0.000040 |
| creating table       | 0.000056 |
| After create         | 0.011363 |
| query end            | 0.000375 |
| freeing items        | 0.000089 |
| logging slow query   | 0.000019 |
| cleaning up          | 0.000005 |
+----------------------+----------+
7 rows in set (0.00 sec)

mysql> SHOW PROFILE FOR QUERY 1;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| query end          | 0.000107 |
| freeing items      | 0.000008 |
| logging slow query | 0.000015 |
| cleaning up        | 0.000006 |
+--------------------+----------+
4 rows in set (0.00 sec)

mysql> SHOW PROFILE CPU FOR QUERY 2;
+----------------------+----------+----------+------------+
| Status               | Duration | CPU_user | CPU_system |
+----------------------+----------+----------+------------+
| checking permissions | 0.000040 | 0.000038 |   0.000002 |
| creating table       | 0.000056 | 0.000028 |   0.000028 |
| After create         | 0.011363 | 0.000217 |   0.001571 |
| query end            | 0.000375 | 0.000013 |   0.000028 |
| freeing items        | 0.000089 | 0.000010 |   0.000014 |
| logging slow query   | 0.000019 | 0.000009 |   0.000010 |
| cleaning up          | 0.000005 | 0.000003 |   0.000002 |
+----------------------+----------+----------+------------+
7 rows in set (0.00 sec)

六.二进制日志

6.1 二进制日志

  • 二进制日志用来记录导致数据改变或潜在导致数据改变的SQL语句,也记录已提交的日志;其不依赖于存储引擎类型
  • 功能:通过“重放”日志文件中的事件来生成数据副本,是数据库恢复必不可少的日志文件
  • 由于二进制日志文件及其重要,建议将二进制日志和数据文件分开存放,最好放到不同磁盘;备份好的二进制文件
    放在远程服务器。

6.2 二进制日志记录可以配置三种格式

官方手册参考

STATEMENT基于"语句"记录:记录语句,默认模式(MariaDB 10.2.3 版本以下),日志量较少
ROW基于"行"记录:记录数据,日志量较大
MIXED混合模式:让系统自行判定该基于哪种方式进行,默认模式(MariaDB 10.2.4及版本以上)
  • STATEMENT-BASED:当使用基于STATEMENT(语句)的二进制日志时,从主到从的复制通过主服务器将SQL语句
    写入二进制log。从服务器将二进制记录的SQL语句在其数据运行来生成原来数据库,该行为对应于基于statement
    的二进制日志。

  • ROW-BASED:当使用基于ROW(行/记录)的二进制日志时,主服务器将事务写入二进制log,意味这可以精确的
    确定每个表的某个行是如何变更的。主到从的复制通过将反映每个表的行更改的事务复制到到从服务器并执行
    生成原来的表和数据库,该过程就对应于基于ROW(行/记录)的二进制日志。

  • MIXED:当指定为基于MIXED的二进制日志格式时,默认是使用基于STATEMENT的记录格式;二进制日志自动切换为ROW-
    BASED时取决于特定的SQL语句和特定的存储引擎。

  • MySQL 5.7.7 之前, 基于STATEMENT的二进制格式为默认格式;MySQL 5.7.7 及更新的版本使用ROW-BASED格式为
    默认。

  • 三种格式的指定方式

    • 启动服务加选项:--binlog-format=STATEMENT|ROW|MIXED
    • 配置文件:binlog_format=STATEMENT|ROW|MIXED
    • session中:
MariaDB [hellodb]> select @@binlog_format;
+-----------------+
| @@binlog_format |
+-----------------+
| STATEMENT       |
+-----------------+
1 row in set (0.00 sec)

MariaDB [hellodb]> set binlog_format=ROW;
Query OK, 0 rows affected (0.00 sec)

MariaDB [hellodb]> select @@binlog_format;
+-----------------+
| @@binlog_format |
+-----------------+
| ROW             |
+-----------------+
1 row in set (0.00 sec)

6.3 二进制日志文件构成

  • 二进制文件由两种文件构成,日志文件和索引文件:一个或多个二进制日志文件,一个索引文件;日志文件存放真正的
    二进制日志,索引文件存放目前的所有二进制文件的文件名列表。

  • 日志文件:mysql|mariadb-bin.000* # 二进制格式
    如:mariadb-bin.000001

  • 索引文件:mysql|mariadb-bin.index # 文本格式

6.4 二进制日志相关变量

变量含义
sql_log_bin=ON|OFF是否记录二进制日志,默认ON
log_bin=/PATH/TO/BIN_LOG_FILE指定文件位置;默认OFF,表示不启用二进制日志功能,上述两项都开启才可
binlog_format=STATEMENT|ROW|MIXED二进制日志记录的格式
max_binlog_size=1073741824单个二进制日志文件的最大体积,到达最大值会自动滚动,默认为1G;文件达到上限时的大小未必为指定的精确值
sync_binlog=1|0设定是否启动二进制日志即时同步磁盘功能,默认0,由操作系统负责同步日志到磁盘
expire_logs_days=N二进制日志可以自动删除的天数。 默认为0,即不自动删除

6.5 二进制日志配置

  • 查看mariadb自行管理使用中的二进制日志文件列表,及大小
    SHOW {BINARY | MASTER} LOGS;
MariaDB [hellodb]> SHOW BINARY LOGS;
+--------------------+-----------+
| Log_name           | File_size |
+--------------------+-----------+
| mariadb-bin.000001 |  29086832 |
| mariadb-bin.000002 |       502 |
| mariadb-bin.000003 |       264 |
| mariadb-bin.000004 |       290 |
| mariadb-bin.000005 |  67634113 |
| mariadb-bin.000006 |       924 |
| mariadb-bin.000007 |       668 |
| mariadb-bin.000008 |       290 |
| mariadb-bin.000009 |       290 |
| mariadb-bin.000010 |       245 |
+--------------------+-----------+
10 rows in set (0.00 sec)
  • 查看使用中的二进制日志文件
    SHOW MASTER STATUS
MariaDB [hellodb]> SHOW MASTER STATUS;
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000010 |      245 |              |                  |
+--------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
  • 查看二进制文件中的指定内容
    SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
MariaDB [hellodb]> SHOW BINLOG EVENTS IN 'mariadb-bin.000010';
+--------------------+-----+-------------+-----------+-------------+-------------------------------------------+
| Log_name           | Pos | Event_type  | Server_id | End_log_pos | Info                                      |
+--------------------+-----+-------------+-----------+-------------+-------------------------------------------+
| mariadb-bin.000010 |   4 | Format_desc |         1 |         245 | Server ver: 5.5.64-MariaDB, Binlog ver: 4 |
+--------------------+-----+-------------+-----------+-------------+-------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]> SHOW BINLOG EVENTS IN 'mariadb-bin.000005' FROM 2583366 LIMIT 4;
+--------------------+---------+------------+-----------+-------------+------------------------------------------------------------------------------------------------------------------+
| Log_name           | Pos     | Event_type | Server_id | End_log_pos | Info                                                                                                             |
+--------------------+---------+------------+-----------+-------------+------------------------------------------------------------------------------------------------------------------+
| mariadb-bin.000005 | 2583366 | Xid        |         1 |     2583393 | COMMIT /* xid=27253 */                                                                                           |
| mariadb-bin.000005 | 2583393 | Query      |         1 |     2583464 | BEGIN                                                                                                            |
| mariadb-bin.000005 | 2583464 | Intvar     |         1 |     2583492 | INSERT_ID=108946                                                                                                 |
| mariadb-bin.000005 | 2583492 | Query      |         1 |     2583655 | use `hellodb`; insert into testlog(name,age) values (concat('wang', NAME_CONST('i',8946)), NAME_CONST('i',8946)) |
+--------------------+---------+------------+-----------+-------------+------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
  • 清除指定二进制日志

PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr }

PURGE BINARY LOGS TO 'mariadb-bin.000003'; #删除mariadb-bin.000003之前的日志
PURGE BINARY LOGS BEFORE '2019-12-23';
PURGE BINARY LOGS BEFORE '2018-12-22 04:22:30';
  • 删除所有二进制日志,index文件重新记数
RESET MASTER [TO #]; #删除所有二进制日志文件,并重新生成日志文件,文件名从#开始记数,
默认从1开始,一般是master主机第一次启动时执行,MariaDB10.1.6开始支持TO #
  • 使用二进制日志的客户端命令工具:mysqlbinlog
    • 用法
mysqlbinlog [OPTIONS] log_file…
    --start-position=#  指定开始位置
    --stop-position=#
    --start-datetime=     #时间格式:YYYY-MM-DD hh:mm:ss
    --stop-datetime=
    --base64-output[=name]
    -v -vvv
  • 例:
mysqlbinlog --start-position=334 --stop-position=556 /var/lib/mysql/mariadb-bin.000003 -v
mysqlbinlog  --start-datetime="2019-09-18 20:33:10" --stop-datetime="2019-11-27 22:35:22" mariadb-bin.000003 -vvv
  • 二进制日志事件的格式
[root@old_centos7 /backup]#mysqlbinlog  /var/lib/mysql/mariadb-bin.000010 
...
# at 766
#191127 21:47:08 server id 1  end_log_pos 879   Query   thread_id=2     exec_time=0     error_code=0
SET TIMESTAMP=1574909228/*!*/;
DROP TABLE `teachers` /* generated by server */
/*!*/;
...
#############################################
事件发生的日期和时间:191127 21:47:08
事件发生的服务器标识:server id 1
事件的结束位置:end_log_pos 879
事件的类型:Query 
事件发生时所在服务器执行此事件的线程的ID:thread_id=2
语句的时间戳与将其写入二进制文件中的时间差:exec_time=0
错误代码:error_code=0
事件内容:DROP TABLE `teachers`
GTID:Global Transaction ID,mysql5.6以mariadb10以上版本专属属性:GTID
  • 切换日志文件
    FLUSH LOGS;
  • 切换日志后新生成一个二进制日志,重置日志大小,并记录到mariadb-bin.index文件中
电子结构设计(EMD)十年知识总结 客官,你的面相是做结构设计的奇才~1. 材料选择【一出手的0.1s就败了】2. 钣金件设计【折来折去有啥难】3. 塑胶件设计【看着好复杂】4. 型材件设计【凭啥不让我设计】5. 电子结构(PCBA)设计【静电肿么要我背锅】6. 包装设计【要的就是金玉其外,败絮其中】7. 外观(工业)设计【好不好看,谁说了算】8. 标签设计【】9. 标准件选择【一个螺丝难倒英雄汉/提起螺丝,英雄气短】10. 计算仿... 阅读详情

相关推荐

《无人驾驶车辆模型预测控制》(第二版)第四章详细学习——算法部分

根据代码进行的“MPC跟踪直线和圆算法”的详细推导学习记录。

Fengdf666的博客 4983

mysql日志管理_MySQL日志管理

MySQL日志管理错误日志配置方法:vim /etc/my.cnf[mysqld]log-error=/tmp/mysql.log查看配置方式:show variables like '%log%error%';作用:记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志。一般查询日志配置方法:vim /etc/my.cnf[mysqld]general_log=on...

weixin_32515445的博客 169

大模型时代的具身智能系列专题(二)

自由形式语言指令 L 指定了一个操作问题,例如“打开最顶部的抽屉”。然而,根据 L 生成机器人轨迹是很困难的,因为 L 可能具有任意长度,或者是不明确的(例如,需要上下文语义)。相反,我们专注于问题的各个阶段(子任务)l_i,它们明确地指定了一个操作任务 (例如,“抓住抽屉把手”,“打开抽屉”),其中被分解的子阶段(子任务)L→l1l2lnL→l1​l2​...ln​由高级规划器(例如,一个LLM或一个基于搜索的规划器)给出。

achao的专栏 2136

Mysql日志管理

日志管理(包括mysqlbinlog工具使用) 主从复制 ​ author->xiaokai 一、日志管理 mysql日志种类(都是在my.cnf中配置) 错误日志 二进制日志(BINLOG日志) 查询日志 慢查询日志 1.错误日志 记录mysqld启动、停止、故障以及任何严重错误的相关信息 log-error=[…] 指明错误日志打印路径和默认文件名 例: log-error=/var/log/mysqld.log 2.二进制日志(BINLOG日志) 以时间"事件".

weixin_41320292的博客 387

MySQL日志管理、备份

MySQL日志管理、备份

y1701的博客 3826

第七章 mysql日志管理

image.png 1 错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log #默认开启 2 通用查询日志:所有的查询都记下来。 #默认关闭,一般不开启 3 二进制日志(bin log):实现备份,增量备份。只记录改变数据,除了select都记。 4 中继日志(Relay log):读取主服务器的binlog,在slave机器本地回放。保持与主服务器数据一致。 5 slow log:慢查询日志,指导调优,定义某一个查询语句,执行时间过长,通过日志提供...

weixin_44990801的博客 233

MySQL 日志管理

默认情况下,所有日志创建于mysqld数据目录中。rpm安装的日志是在 /var/lib/mysql其他方式安装的为自定义路径。备份之前需要打开慢查询日志,指定慢查询路径,指定慢查询时间。打开二进制日志,同时指定id.打开之后会有记录数据 (每一种安装方式下的安装路径不一致,具体以查询为准。) 永久更改,须在配置中更改,如下:在配置文件中增加以下三行信息: 再重启服务:没有开时再配置文件中开启: 重启之后再次连接,显示已开启。多久之后慢查询呢? 更改慢查询时间: myusql5.6版本之上的版本一定要先配

m0_60379130的博客 497

MySQL日志管理

文章目录MySQL日志管理一、日志类型二、慢查询日志1、作用2、慢查询定义3、启动慢查询日志三、二进制日志1、作用2、启用二进制日志3、二进制日志格式4、查看二进制日志(1)、查看所有内容(2)、按时间查找二进制日志(3)、按位置查找二进制日志(4)、在MySQL中查看当前正在使用的二进制日志、最后一个事件的结束点(5)、查看所有的二进制日志、大小(6)、查看二进制日志文件中的事件(7)、二进制日志滚动 MySQL日志管理 一、日志类型 错误日志 /var/log/mysqld.log 慢查询日志

ljh451321的博客 726

mysql日志管理

MySQL日志简介 日志文件 选项 文件名/表名称 程序 错误 –log-error host_name.err N/A 常规 –general_log host_name.log general_log N/A 慢速查询 –slow_query_log --long_query_time host_name-slow.log slow_log mysqldumpslow 二进制 –log-bin --expire-logs-days host_name-bin.0000.

ococotwd的博客 259

第15章-MySQL日志管理

MySQL入门教程(保姆级)

Python大家一起学 1268
上一篇: MySQL并发控制
下一篇: MySQL备份和恢复
stevenux
博客等级 码龄9年 75粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值