【数据库】Mysq备份与恢复

MYSQL数据库日志 MySQL有不同类型的日志文件,用来存储不同类型的日志,分为 二进制日志 、 错误日志 、 通用查询日志和 慢查询日志 ,这也是常用的4种。MySQL 8又新增两种支持的日志: 中继日志 和 数据定义语句日志 。使用这些日志文件,可以查看MySQL内部发生的事情。 **这6类日志分别为: **除二进制日志外,其他日志都是 文本文件 。默认情况下,所有日志创建于 MySQL数据目录 中。日志功能会 降低MySQL数据库的性能 。 日志会 占用大量的磁盘空间 。通用查询日志用来 记录用户的所有操作 ,包括启动和 阅读详情


一、数据库备份的分类

1. 数据备份的重要性

  备份的主要目的是灾难恢复。在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果。

  造成数据丢失的原因有以下几点:程序错误、人为操作错误、运算错误、磁盘故障、灾难(如火灾、地震)和盗窃等等众多因素。

2. 数据库备份的分类

从物理与逻辑的角度,备份可分为物理备份和逻辑备份。

  • 物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。物理备份有三种备份方法,分别是冷备份、热备份、温备份。冷备份(脱机备份)是在关闭数据库的时候进行的;热备份(联机备份)数据库处于运行状态,依赖于数据库的日志文件;温备份就是数据库锁定表格(不可写入但可读)的状态下进行备份操作。
  • 逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份。

从数据库的备份策略角度,备份可分为完全备份、差异备份和增量备份。

  • 完全备份:每次对数据库进行完整的备份。
  • 差异备份:备份自从上次完全备份之后被修改过的文件。
  • 增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份。

3. 常见的备份方法

物理冷备

备份时数据库处于关闭状态,直接打包数据库文件。

备份速度快,恢复时也是最简单的。

专用备份工具mysqldump或mysqlhotcopy

mysqldump常用的逻辑备份工具

mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表

启用二进制日志进行增量备份

进行增量备份,需要刷新二进制日志

第三方工具备份

免费的MySQL热备份软件Percona、XtraBackup

二、Mysql 完全备份与恢复

1. Mysql 完全备份

  完全备份是对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库。完全是差异备份与增量备份的基础。

  完全备份的优点是备份与恢复操作简单方便;缺点是数据存在大量的重复、占用大量的备份空间、备份与恢复时间长。

2. 数据库完全备份分类

use CLASS;
create table if not exists info1 (
id int(4) not null auto_increment,
name varchar(10) not null,
sex char(10) not null,
hobby varchar(50),
primary key (id));

insert into info1 values(1,'user1','male','running');
insert into info1 values(2,'user2','female','singing');

在这里插入图片描述

2.1 物理冷备份及恢复

关闭MySQL数据库

使用tar命令直接打包数据库文件夹

直接替换现有MySQL目录即可

#关闭mysql,备份data目录
systemctl stop mysqld
yum -y install xz

在这里插入图片描述

#压缩备份data目录
tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data/

在这里插入图片描述

#解压恢复
mv /usr/local/mysql/data/ ~
tar Jxvf /opt/mysql_all_2020-11-22.tar.xz
mv /opt/usr/local/mysql/data/ /usr/local/mysql/

在这里插入图片描述

#验证备份数据
systemctl restart mysqld
mysql -u root -p 123456
show databases;
use class;
select * from info1;

在这里插入图片描述

2.2 mysqldump 备份数据库

MySQL自带的备份工具,可方便实现对MySQL的备份

可以将指定的库、表导出为SQL脚本

使用命令mysql导入备份的数据

完全备份一个或多个完整的库(包括其中所有的表)
#导出的就是数据库脚本文件
mysqldump  -u 用户名 -p [密码][选项][数据库名] > /备份路径/备份文件

例如
mysqldump -u root -p 123456 --databses class > /opt/class.sql
mysqldump -u root -p 123456 --databses class school > /opt/class-school.sql

在这里插入图片描述

完全备份 MySQL 服务器中所有的库
mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql

例如
mysqldump -uroot -p123456 --all-databases > /opt/all.sql             

在这里插入图片描述

完全备份指定库中的部分表
mysqldump -u root -p[密码] 库名 [表名1] [表名2] ... > /备份路径/备份文件名.sql

例如
mysqldump -uroot -p123456 [-d] info1 > /opt/class_info1.sql

使用-d选项,说明只保存数据库的表结构。不使用“-d”选项,说明表数据也进行备份。

在这里插入图片描述

查看备份文件
grep -v "^--" /opt/class_info1.sql | grep -v "^/" | grep -v "^$"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yf0AW1QI-1687245943066)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230619144529438.png)]

2.3 XtraBackup 备份数据库

xtrabackup备份还原速度极快,备份的是ibd文件。mysql的db文件30GB左右,30分钟以内完成备份还原。

备份还原过程,测试环境和正式环境xtrabackup版本、mysql版本需保持一致。

#全量备份主库数据
xtrabackup --backup --user=root --password=xxx --port=3306 --targetdir=/comProject/backup/db/full_20220831
#将full_20220831文件上传到从库服务器上
#关闭存库服务
service mysqld stop
#对数据进行“预备”(Prepare)操作,使数据文件完全一致
xtrabackup --prepare --target-dir=/comproject/backup/db/full/
#复制数据到从库
xtrabackup --copy-back --target-dir=/comproject/full_20220831/
#修改用户和用户组权限
chown -R mysql:mysql /comproject/db
#启动数据库
service mysqld start

3. 恢复数据库及表的操作

3.1 source命令恢复数据

登录到mysql数据库

执行source命令备份sql脚本路径

source /备份路径/备份文件名.sql

例如
source /opt/class.sql
show databases;
select * from class.info1;

在这里插入图片描述

3.2 msyql命令恢复数据

mysql -u root -p [密码] < 库备份脚本的路径

例如
mysql -u root -p -e 'drop database class;'
mysql -u root -p -e 'show databases;'

mysql -u root -p class < /opt/class.sql
mysql -u root -p -e 'show databases;'
mysql -u root -p -e 'select * from class.info1;'

在这里插入图片描述

三、Mysql 增量备份与恢复

1. Mysql 增量备份

  使用mysqldump进行完全备份会存在问题,分别是备份数据中有重复数据和备份时间与恢复时间过长。

  这个时候就需要使用msyql增量备份,而增量备份是自上一次备份后增加/变化的文件或者内容。其主特点有以下两点:

  • 没有重复数据,备份量不大,时间短。
  • 恢复需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。

2. Mysql 增量备份的方法

  Mysql没有提供直接的增量备份方法,可通过Mysql提供的二进制日志间接实现增量备份.

2.1 Mysql二进制日志对备份的意义

  二进制日志保存了所有更新或者可能更新数据库的操作。

  二进制日志在启动MySQL服务器后开始记录,并在文件达到 max_binlog_size 所设置的大小或者接收到flush logs命令后重新创建新的日志文件。

  只需定时执行 flush logs 方法重新创建新的日志,生成二进制文件序列,并及时把这些日志保存到安全的地方就完成了一个时间段的增量备份。

2.2 Mysql 日志管理

MySQL 的日志默认保存位置为 /usr/local/mysql/data

mysql -u root -p
show variables like 'general%';									#查看通用查询日志是否开启
show variables like 'log_bin%';									#查看二进制日志是否开启
show variables like '%slow%';									#查看慢查询日功能是否开启

在这里插入图片描述

vim /etc/my.cnf
[mysqld]
##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
log-error=/usr/local/mysql/data/mysql_error.log					#指定日志的保存位置和文件名

##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log

##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
log-bin=mysql-bin												#也可以 log_bin=mysql-bin

##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5												#设置超过5秒执行的语句被记录,缺省时为10秒

在这里插入图片描述

systemctl restart mysqld

mysql -u root -p
show variables like 'general%';									#查看通用查询日志是否开启

show variables like 'log_bin%';									#查看二进制日志是否开启

show variables like '%slow%';									#查看慢查询日功能是否开启
show variables like 'long_query_time';							#查看慢查询时间设置

set global slow_query_log=ON;									#在数据库中设置开启慢查询的方法

在这里插入图片描述

ls /usr/local/mysql/data/

在这里插入图片描述

2.3 二进制日志

#二进制日志(binlog)有3种不同的记录格式:STATEMENT(基于SQL语句)、ROW(基于行)、MIXED(混合模式),默认格式是STATEMENT

ls /usr/local/mysql/data/

在这里插入图片描述

#可每周对数据库或表进行完全备份
mysqldump -u root -p123456 class info1 > /opt/class_info1_$(date +%F).sql
mysqldump -u root -p123456 --databases class > /opt/class_$(date +%F).sql

在这里插入图片描述

#可每天进行增量备份操作,生成新的二进制日志文件(例如 mysql-bin.000002)
mysqladmin -u root -p123456 flush-logs

在这里插入图片描述

#插入新数据,以模拟数据的增加或变更
use class;
insert into info1 values(3,'user3','male','game');
insert into info1 values(4,'user4','female','reading');

在这里插入图片描述

#再次生成新的二进制日志文件(例如 mysql-bin.000003)
mysqladmin -u root -p flush-logs
#之前的步骤4的数据库操作会保存到mysql-bin.000002文件中,之后数据库数据再发生变化则保存在mysql-bin.000003文件中

在这里插入图片描述

#查看二进制日志文件的内容
cp /usr/local/mysql/data/mysql-bin.000002 /opt/
mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000002
#--base64-output=decode-rows:使用64位编码机制去解码并按行读取
#-v:显示详细内容

在这里插入图片描述

3. Mysql增量恢复

3.1 一般恢复

模拟丢失更改的数据的恢复步骤
use class;
delete from t1 where id=3;
delete from t1 where id=4;

mysqlbinlog --no-defaults /opt/mysql-bin.000002 | mysql -u root -p123
模拟丢失所有数据的恢复步骤
use class;
drop table t1;

mysql -u root -p123 kb < /opt/kb_all_tables.sql
mysqlbinlog --no-defaults /opt/mysql-bin.000002 | mysql -u root -p

3.2 断点恢复

#查看
cat mysql-bin.000002 

在这里插入图片描述

基于位置恢复
mysqlbinlog --no-defaults --start-position=‘位置点’ 二进制日志文件 | mysql -u用户名 -p密码

在这里插入图片描述

基于时间点恢复
mysqlbinlog --no-defaults --start-datetime=‘时间点1’ 二进制日志文件 | mysql -u用户名 -p密码

在这里插入图片描述

四、备份加入计划任务

通常情况需要执行一次完全备份后,再定期执行增量备份。现需要实现今晚12:00做完全备份,之后每天执行增量备份。

1.编写完全备份脚本和增量备份脚本

#完全备份脚本
vim generalbak.sh
#!/bin/bash
mysqldump -uroot -p123123 --all-databases > /sqlbinlog/mysql_general_bak.sql
 
#增量备份脚本
vim addbak.sh
#!/bin/bash
mysqladmin -uroot -p123123 flush-logs
filename=$(tail -2 /usr/local/mysql/data/mysql-bin.index | head -1 |awk -F'/' '{print $2}')
mv /usr/local/mysql/data/$filename /sqlbinlog/mysql-bin-$(date +%Y%m%d)

2.加入计划任务

crontab -e
0 0 28 10 * /sqlbinlog/generalbak.sh
0 0 * * * /sqlbinlog/addbak.sh

在这里插入图片描述

总结

1. 一般是生产环境如何进行备份

设置一个周期性任务,每周二、三凌晨0点做数据库的完全备份,每天凌晨做增量备份。

2. mysql 免交互

mysql -uroot -pabc123 -e "show databases";
Mysql数据库----日志的备份与恢复 日志 概述 备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 而备份、恢复中,目志起到了很重要的作用 日志类型 mysgl日志文件 常用的自志文件(在/etc/my.cnf中[mysqld]客户端配置中修改)认在/usr/ local/ mysql/data/中 错误日志 用于记录Mysql 启动、停止、或运行时产生的错误信息,默认开启可通过以下字段进行修改 log-error=/usr/ local/mysal/data/mysql_erlor.log #指定日志的保存位 阅读详情

相关推荐

mysql的日志文件在哪?

mysql的日志文件在哪?

u013558123的博客 6318

18.MySQL日志文件

二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句慢查询日志记录了所有执行时间超过参数 long_query_time 设置值并且扫描记录数不小于min_examined_row_limit 的所有的SQL语句的日志,默认未开启。

u011488477的博客 2383

虚拟零售智能客服架构设计:如何用大模型实现多轮对话与精准推荐?

想象一下,当你在一个电商平台购物时,遇到了一个能像你的专属导购一样,不仅能听懂你模糊的需求(“我想买一件适合夏天去海边玩,又能兼顾日常通勤的裙子”),还能记得你之前提到的尺码偏好和预算,甚至在你犹豫时,主动推荐几款符合你风格且正好有促销活动的商品——这不再是科幻电影中的场景,而是基于大语言模型(LLM)技术的新一代虚拟零售智能客服能够提供的体验。这一层是我们架构设计的重点,会在后续章节详细展开。如基于CRF、RNN的模型,或基于规则的状态更新,通常需要大量标注的对话状态数据,且对新领域、新槽位的适应性差。

Java大师兄的博客 1589

Mysql - 日志

重做日志(redo log)是数据库系统中一种记录数据修改操作的日志,它记录了所有的事务提交操作,以便在数据库发生故障时,能够恢复数据库的一致性。当数据库崩溃或者发生意外关机等异常情况时,通过重做日志可以恢复数据库的数据。回滚日志(undo log)是一种记录数据修改操作的日志,它记录了事务执行中所有的变更操作,以便在事务回滚时能够撤销这些操作。当事务执行失败或者被回滚时,通过回滚日志可以将事务执行前的数据状态恢复。回滚日志也可以用于实现多版本并发控制(MVCC)等功能。

lpfstudy的博客 4091

Eigen 直线拟合/曲线拟合/圆拟合/椭圆拟合

使用Eigen库进行直线拟合是数据分析和科学计算中的常见任务,主要通过最小二乘法实现。该代码演示了二维空间中的直线拟合,输出斜率和截距。

深之JohnChen的专栏 1594

微信小游戏过审实战:JS混淆与马甲包规避技巧

本文详细解析了微信小游戏过审的实战技巧,重点介绍了JS代码混淆与马甲包规避策略。通过代码混淆、资源文件处理和分阶段提审等方法,有效应对微信机审系统的代码包侵权检测,提升过审成功率。文章还分享了常见问题的解决方案和实战经验,为开发者提供实用指导。

weixin_29234423的博客 279

Linux-MySQ数据库之备份与恢复

MySQL 的日志默认保存位置为 /usr/local/mysql/data ##复制段 log-error=/usr / local/mysql/data/mysql_error.log general_log=ON general_log_file=/usr/local/mysql/ data/mysql_general.log log-bin=mysql-bin slow_query_log=ON slow_query_log_file=/usr/local/mysql/data/mysql_slow

m0_56107775的博客 3042

ArXiv 2026 即插即用 | Transformer篇 | WeightFormer:告别二次复杂度!无注意力的线性时间 Transformer,泛化能力拉满

WeightFormer是一种创新的动态Transformer架构,其核心创新在于通过双动态算子(空间自适应动态卷积和双边激活动态线性)实现输入自适应的特征提取。该模块采用静态-动态权重融合机制和低秩预测技术,在仅增加5%参数量的情况下显著提升模型泛化能力。相比传统Transformer,WeightFormer在ImageNet-1K上提升2.3%精度,小样本任务提升12%,同时保持线性计算复杂度。模块可直接替换标准Transformer块,特别适合轻量级视觉任务,实现了精度与效率的平衡。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 128

【mysq 数据库04 数据备份与恢复】

数据库的备份与恢复原理

m0_66308391的博客 422

WPF中使用TreeView封装组合控件TreeView+DataGrid

wpf的功能非常强大,很多控件都是原生的,但是要使用TreeView+DataGrid的组合,就需要我们自己去封装实现。功能如上图所示, 目前基本上把常用的样式都实现了,购买源码后,可以自行修改样式。本文源码效果如下,(搞了好几天,的确有难度,所以源码也收费,便宜,赚点辛苦费)第一种:技术的选择是TreeView(也就是本文的演示)。这2个图都是第三方控件自带的,并且都是收费使用。首先说明一下,实现上面的效果,有3种方法。本文演示的是使用TreeView的实现。第二种:技术的选择是DataGrid。

故里2130 1650

STM32(HAL库)驱动HC-SR04测距模块

本文介绍通过STM32F103C8T6单片机对HC-SR04测距模块进行驱动,并且通过串口对数据进行打印。

weixin_44597885的博客 2203

MySQ之备份与恢复

随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源## 1.日志的类型与作用 ### 1.1 redo 重做日志 **达到事务一致性(每次重启会重做)** **确保日志的持久性,防止发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,达到事务一致性**

S314118142的博客 552

Android11原生设置屏幕亮由Gamma变化改为线性变化

从Android9 开始屏幕亮度调解变成非线性变化,这样的话就会出现 之前亮度变化很小,到后面时变化亮度很快; 修改为线性变化,只需要修改 ./frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache L

Android 4926

MySQL备份与恢复

博文目录 一、MySQL完全备份与恢复 二、数据库备份类型 三、常见的备份方法 四、数据库完全备份操作 五、MySQL增量备份与恢复 一、MySQL完全备份与恢复 备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 1、数据备份的重要性 在企业中数据的价值至关重要,数据保障了企业业务的正常运行。因此,数据的安全性及数据的可靠性是运维的重中之重,任何数据...

:Struggle. 250

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Mysql数据库的备份与恢复

数据备份的重要性 在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果造成数据丢失的原因程序错误人为错误(常事)计算机失败磁盘失败灾难 数据库备份的分类 物理备份对数据库操作系统的物理文件(如数据文件,日志文件等)的本份物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)冷备份:实在关闭数据库的时候进行的热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文...

CYQ419的博客 211

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Mysql数据库备份与恢复

MySQL 数据库备份与恢复是保护数据和确保系统可用性的关键操作。以下是几种常见的备份和恢复方法及其步骤。

2401_87017622的博客 693

mysql数据库备份与恢复

mysql数据库的三种备份方式及增量备份

qq_45525995的博客 250

MySQL-日志、完全备份恢复和增量备份恢复

如果恢复某条SQL语句之前的所有数据,就stop在这个语句的位置节点或者时间点如果恢复某条SQ语句以及之后的所有数据,就从这个语句的位置节点或者时间点start。

weixin_64413763的博客 440

MySQL备份和恢复

本文主要讲解了在MySQL中如何进行备份和恢复。

Butayarou的博客 1115

MySQL学习之数据备份与恢复

一.数据备份 1.使用Mysqldump命令备份 如果你之前和我一样使用的是MySQL自带的命令行的话,因为这个数据备份需要在cmd上进行,所以我们需要将mysql/bin的目录设置到环境变量中: 然后打开cmd: 接下来按照下面的内容进行就可以了: 1).备份单个数据库 上面的命令要做的是将mysql中名为study的数据库备份,并且放在后面的文件目录中,这个命令会在mysql备份文件夹中生成一个名为study.sql的文件: 2)备份指定数据库中的数据表 3)同时备份多个数据库 上面的语句同时

c1776167012的博客 352

mysql java备份_如何用Java实现MySQL数据库的备份和恢复

展开全部MySQL的一些前台工具是有备份恢复功能的,可是如何在我们的应用程序中实现这62616964757a686964616fe58685e5aeb931333337613132一功能呢?本文提供了示例代码来说明如何使用Java代码实现MySQL数据库的备份恢复。本次实现是使用了MySQL数据库本身提供的备份命令mysqldump和恢复命令mysql,在java代码中通过从命令行调用这两条命令来...

weixin_36236774的博客 384

mysql数据库备份/恢复

备份数据库(进入Mysql bin目录下/C:\Program Files\MySQL\MySQL Server 5.6\bin)本地安装mysql数据库 备份表结构及数据 mysqldump -hlocalhost -uroot -proot db_dev>d:\db_dev.sql mysqldump -hip地址-ur用户名-p密码 数据库名>d:\导出文件名.sql ...

weixin_30492047的博客 59

数据库的备份与恢复

数据库的备份与恢复 方法一(使用命令行的方式): 基本原理: 使用命令行工具,通过控制台语句:mysqldump -uroot -p密码 newset(new为已经定义好的数据库名) > 硬盘名+文件名(后缀为sql),备份数据库newset,将newset中含有的所有数据存储到sql文件中。之后在数据库中重新定义一个新的数据库new(命名随意)。通过use new;打开该数据库,在某个数据库中用soure 恢复特定文件中的数据,如source d://newset.sql,能将newset.sql文

qq_45926237的博客 1万+

MySQL数据库的备份与恢复-超详细

备份数据的重要性:能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方;数据有多份冗余,但不等备份,只能防止机械故障带来的数据丢失,例如主从模式、数据库集群。1.2 MySQL备份类型直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制,但不能恢复到不同的MySQL版本。备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL),适用于中小型数据库,效率相对较低。

weixin_43612842的博客 4986
上一篇: 【数据库】Mysql索引、事务与存储引擎
下一篇: 【数据库】MySQL 高级(进阶) SQL 语句
我的宝贝大唐
博客等级 码龄7年 96粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的宝贝大唐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值