【MySQL_04】数据库基本操作(用户管理--配置文件--远程连接--数据库信息查看、创建、删除)
文章目录
- 一、MySQL 用户管理
- 1.1 用户管理
- 1.11 mysql.user表详解
- 1.12 添加用户
- 1.13 修改用户权限
- 1.14 删除用户
- 1.15 密码问题
- 二、MySQL 配置文件
- 2.1 配置文件位置
- 2.2 配置文件结构
- 2.3 常用配置参数
- 三、MySQL远程连接
- 四、数据库的查看、创建、删除
- 4.1 查看数据库
- 4.2 创建、删除数据库
本文远程连接Ubuntu主机上安装的MySQL Server,有些内容前面也讲过,可以看历史文章。
MySQL版本:8.4.4 LTS。
软件使用Navicat。
历史文章点击👉:SQL
🐈⬛github:https://github.com/mysql
💻官网: https://www.mysql.com
🌏维基百科:https://zh.wikipedia.org/wiki/MySQL
语法简述:SQL语句你看单次意思基本就能明白,语句不区分大小写,但运行时会字段转为大写,大小写看你公司规范。不过表名这种是有大小写的哦。你最好把相关语句的英语单词记住,去查查什么意思,怎么读。
一、MySQL 用户管理
1.1 用户管理
1.11 mysql.user表详解
MySQL的用户信息和权限配置存储在一个特殊的数据库中,这个数据库叫做 mysql 数据库。
mysql 数据库是MySQL系统的核心数据库之一,用于存储与MySQL服务器运行相关的系统信息,其中包括用户账户信息、权限设置、全局变量、插件信息等。
用户信息主要存储在mysql.user表中。

用户yun是我自己添加的(我创建的是一个特权用户,用于所有权限)。
其他几个是默认的,解释如下:
| 用户名 | 用途描述 | 权限范围 |
|---|---|---|
| mysql.infoschema | 用于访问information_schema数据库,提供数据库元数据的只读视图。 | 仅限访问information_schema,权限较低,主要用于查询元数据。 |
| mysql.session | 供MySQL内部使用,用于插件和内部会话操作。 | 用于服务器内部任务,如管理连接和会话,权限由MySQL内部控制。 |
| mysql.sys | 用于sys数据库,提供性能监控和诊断工具。 | 仅限访问sys数据库,权限较低,用于性能监控和优化。 |
root | 默认的超级用户,拥有最高权限,用于数据库管理和配置。 | 拥有所有权限,可以执行任何数据库操作,包括创建、删除用户和数据库等。 |
user表共有51列,存储着每个用户的各种信息、权限等内容,本文分为6大类来解释:
(1)用户基本信息
| 字段名 | 含义 | 字段名 | 含义 |
|---|---|---|---|
Host | 用户允许连接的主机地址(如localhost或%表示任意主机)。 | User | 用户名,用于标识用户。 |
plugin | 认证插件类型(如caching_sha2_password)。 | authentication_string | 用户的认证凭据(密码哈希值)。 |
root用户最好只运行本机登录,即Host为localhost或者127.0.0.1这些。而特定的用户可以设置为允许登录的ip地址,或者允许任意主机连接。
authentication_string是用户密码哈希值,是由caching_sha2_password这种插件生成的,你无法查看真实密码,只能通过root用户修改密码。
(2)权限相关字段
这些是对用户的权限的比较精细的控制。这些权限默认基本全是拒绝的。
| 字段名 | 含义 | 字段名 | 含义 |
|---|---|---|---|
Select_priv | 是否允许执行SELECT查询。 | Insert_priv | 是否允许执行INSERT插入操作。 |
Update_priv | 是否允许执行UPDATE更新操作。 | Delete_priv | 是否允许执行DELETE删除操作。 |
Create_priv | 是否允许创建数据库或表。 | Drop_priv | 是否允许删除数据库或表。 |
Reload_priv | 是否允许执行FLUSH操作(重新加载权限表)。 | Shutdown_priv | 是否允许关闭MySQL服务器。 |
Process_priv | 是否允许查看其他用户的进程(如SHOW PROCESSLIST)。 | File_priv | 是否允许读写文件(如LOAD DATA INFILE)。 |
Grant_priv | 是否允许授予其他用户权限。 | References_priv | 是否允许创建外键约束(已弃用)。 |
Index_priv | 是否允许创建或删除索引。 | Alter_priv | 是否允许修改表结构(如ALTER TABLE)。 |
Show_db_priv | 是否允许查看所有数据库(如SHOW DATABASES)。 | Super_priv | 是否拥有超级权限(如执行管理命令)。 |
Create_tmp_table_priv | 是否允许创建临时表。 | Lock_tables_priv | 是否允许锁定表。 |
Execute_priv | 是否允许执行存储过程或函数。 | Repl_slave_priv | 是否允许作为复制从服务器。 |
Repl_client_priv | 是否允许查询主服务器或从服务器的状态。 | Create_view_priv | 是否允许创建视图。 |
Show_view_priv | 是否允许查看视图定义。 | Create_routine_priv | 是否允许创建存储过程或函数。 |
Alter_routine_priv | 是否允许修改或删除存储过程或函数。 | Create_user_priv | 是否允许创建用户。 |
Event_priv | 是否允许创建、修改或删除事件。 | Trigger_priv | 是否允许创建或删除触发器。 |
Create_tablespace_priv | 是否允许创建表空间。 | Create_role_priv | 是否允许创建角色。 |
Drop_role_priv | 是否允许删除角色。 |
(3)SSL/TLS相关字段
主要用于加密连接。
| 字段名 | 含义 | 字段名 | 含义 |
|---|---|---|---|
ssl_type | SSL连接类型(如ANY、X509、SPECIFIED)。 | ssl_cipher | 使用的SSL加密算法。 |
x509_issuer | X509证书的颁发者信息。 | x509_subject | X509证书的主题信息。 |
(4)资源限制相关字段
| 字段名 | 含义 | 字段名 | 含义 |
|---|---|---|---|
max_questions | 每小时允许的最大查询次数。 | max_updates | 每小时允许的最大更新次数。 |
max_connections | 每小时允许的最大连接次数。 | max_user_connections | 用户同时允许的最大连接数。 |
(5)密码管理相关字段
默认都是0,表示无限制。
| 字段名 | 含义 | 字段名 | 含义 |
|---|---|---|---|
password_expired | 密码是否已过期(Y或N)。 | password_last_changed | 密码最后一次修改的时间。 |
password_lifetime | 密码的有效期(天数)。 | Password_reuse_history | 密码重用前需要更改的次数。 |
Password_reuse_time | 密码重用前需要等待的天数。 | Password_require_current | 修改密码时是否需要提供当前密码(Y或N)。 |
(6)其他字段
| 字段名 | 含义 | 字段名 | 含义 |
|---|---|---|---|
account_locked | 账户是否被锁定(Y或N)。 | User_attributes | 用户的附加属性(以JSON格式存储)。 |
1.12 添加用户
执行添加、修改、删除用户等操作,你必须有相关权限才行,root用户有所有权限。权限是对mysql.user这张表的权限。有CREATE USER权限可以创建用户;有UPDATE和ALTER权限可以修改其它用户属性,以此类推。
使用 CREATE USER 语句创建新用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- username:用户名。
- host:允许连接的主机(如 localhost 或 % 表示所有主机)。
- password:你的用户密码。
创建无密码用户:危,不要这么做
CREATE USER 'newuser'@'localhost';
无密码用户,设置密码:
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';
1.13 修改用户权限
权限: 即前面讲的51个字段中的权限相关字段,不要_priv(privilege)后缀,不要下划线,全大写。
如:
- 列名
Select_priv对应的权限就是:SELECT; Create_view_priv就是CREATE VIEW。
🔹使用 GRANT 语句授予用户权限:
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
- 权限列表:可以是具体的权限(如 SELECT、INSERT、UPDATE 等,多个权限逗号分割),也可以是 ALL PRIVILEGES(表示所有权限)。
- 数据库名.表名:指定权限作用的范围。可以使用 . 表示所有数据库和表,
数据库名.*表示某个数据库的所有表。 - 用户名@主机名:指定用户和允许连接的主机(如 ‘test_user’@‘localhost’)。
例:
授予用户 test_user 对所有数据库的查询权限:
GRANT SELECT ON *.* TO 'test_user'@'localhost';
🔹使用 REVOKE 语句撤销权限:
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
🟢修改权限后需要刷新权限以生效:
FLUSH PRIVILEGES;
1.14 删除用户
使用 DROP USER 语句删除用户:
DROP USER 'username'@'host';
1.15 密码问题
注意1.12节说的权限问题。
🔹普通用户的密码:
修改密码:没密码就设置,有秘密就是修改
ALTER USER 'username'@'hostname' IDENTIFIED BY 'newpassword';
有密码的可以设置为空,即无密码:
ALTER USER 'username'@'hostname' IDENTIFIED BY '';
记得,修改密码后刷新权限(后面不再重复):
FLUSH PRIVILEGES;
🔹 root 用户的密码 :
(1)修改:跟前面一样
以root用户登录,然后修改即可
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
(2) 忘记密码: 这个才是常见情况
先停止mysql服务:
sudo systemctl stop mysql
使用 mysqladmin 工具修改密码:
mysqladmin -u root -p password '新密码'
刷新后启动mysql:
sudo systemctl start mysql
或者以跳过权限验证的方式启动mysql(先关闭):sudo mysqld_safe --skip-grant-tables &
登录root:mysql -u root
改密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_password’;
刷新:FLUSH PRIVILEGES;
退出:EXIT;
停止(停止的是以跳过权限检查方式启动的mysql)和重启:sudo systemctl stop mysql
sudo systemctl start mysql
二、MySQL 配置文件
2.1 配置文件位置
☘️ (1)Windows
配置文件通常位于以下位置之一:
%basedir%\my.ini
%datadir%\my.ini
C:\ProgramData\MySQL\MySQL Server X.Y\my.ini(X.Y 是 MySQL 版本号)
获取:basedir和datadir路径:
登录mysql:此处 大写 -P 3360是我设置的mysql端口,默认是3306,如果是默认只值就不用指定这个参数。
mysql -u root -p -P 3360
执行语句:
SHOW VARIABLES LIKE 'basedir';
SHOW VARIABLES LIKE 'datadir';

如,我的配置文件在datadir下面:使用notepad++、记事本、vscode等软件即可打开查看

☘️ (2)Linux
命令:
mysql --help | grep 'my.cnf'
有3个位置的配置文件:

-
/etc/my.cnf:系统级别的全局配置文件,优先级最低。
-
/etc/mysql/my.cnf:特定 MySQL 安装的配置文件,优先级中等。
-
~/.my.cnf:用户(Linux 用户)级别的配置文件,优先级最高。
🤭前面的第二个配置文件:在 Debian/Ubuntu 系统中,通常采用分片式配置,即将配置分散到多个文件中,方便管理和维护。主要包括:
/etc/mysql/my.cnf:主配置文件,通常会包含对其他配置文件的引用。/etc/mysql/mysql.conf.d/:包含 MySQL 服务器的配置片段。mysqld.cnf:MySQL 服务器的主要配置。
/etc/mysql/conf.d/:用户可以添加自定义配置片段。

上图最下面的: /etc/mysql/mysql.conf.d/mysqld.cnf 的作用
mysqld.cnf 文件专门用于配置 MySQL 服务器(mysqld)的行为。它通常包含以下内容:
- 数据目录(
datadir) - 绑定地址(
bind-address) - 端口(
port) - 日志文件路径(如
log_error) - 字符集(如
character-set-server) - 其他性能相关配置(如
innodb_buffer_pool_size)
2.2 配置文件结构
MySQL 配置文件是一个文本文件,采用 key = value 的格式。
配置文件分为多个部分,每个部分用 [section] 标识。
常见的部分包括:
- [mysqld]: MySQL 服务器的配置。
- [client]: 客户端工具的默认配置(如
mysql、mysqladmin)。 - [mysql]:
mysql命令行客户端的配置。 - [mysqldump]:
mysqldump工具的配置。 - [server]: 服务器相关的配置(较少使用)。
示例:
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
port = 3306
user = mysql
max_connections = 200
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4
2.3 常用配置参数
☘️ 服务器配置 ([mysqld])
-
datadir: 数据目录,存储数据库文件的位置。
datadir = /var/lib/mysql -
port: MySQL 服务器监听的端口号,默认是
3306,你修改了这个,连接数据库的时候就要 -P 参数指定端口;或者在[client]里面吧端口也设置为相同的(指的是你用来连接的电脑的配置文件里面的[client])。port = 3306 -
bind-address: 服务器绑定的 IP 地址。
0.0.0.0表示监听所有网络接口。如果只允许几个ip,用逗号隔开。bind-address = 0.0.0.0 -
max_connections: 最大连接数。
max_connections = 200 -
character-set-server: 服务器默认字符集。
character-set-server = utf8mb4 -
collation-server: 服务器默认排序规则。
collation-server = utf8mb4_unicode_ci -
innodb_buffer_pool_size: InnoDB 缓冲池大小,建议设置为系统内存的 50%-70%。
innodb_buffer_pool_size = 1G -
log_error: 错误日志文件路径。
log_error = /var/log/mysql/error.log -
slow_query_log: 是否启用慢查询日志。
slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2
☘️ 客户端配置 ([client])
-
port: 客户端连接时使用的默认端口。
port = 3306 -
socket: 客户端连接时使用的 Unix 套接字文件路径。
socket = /var/lib/mysql/mysql.sock -
default-character-set: 客户端默认字符集。
default-character-set = utf8mb4
☘️ 备份配置 ([mysqldump])
-
max_allowed_packet: 备份时允许的最大数据包大小。
max_allowed_packet = 64M
🟢修改配置文件后,需要重启 MySQL 服务以使更改生效:
sudo systemctl restart mysql
如果配置文件有语法错误,MySQL 可能无法启动。可以通过以下命令检查配置文件的正确性:
mysqld --validate-config
某些参数可以在 MySQL 运行时动态调整,无需重启服务,仅限此次运行期间有效例如:
SET GLOBAL max_connections = 300;
三、MySQL远程连接
现在其实没啥好讲的了。
- 用户的Host要允许远程,如 %,而不是localhost;
- 配置文件里面的
:bind-address = 0.0.0.0 - 服务器放行mysql使用的端口。
本系列的第二篇文章也有讲解。
四、数据库的查看、创建、删除
4.1 查看数据库
MySQL数据库连接成功之后,就可以使用SQL语句来查看当前所有存在的数据库,显示的一些默认的数据库是在 MySQL安装完成之后,在其目录 data 自动创建的几个必要的数据库,输入SQL语句如下:
SHOW DATABASES;
输出:

这个命令起到一些小作用,可以帮助你查看创建的数据库是否创建成功,选择你创建的数据库等操作。
当然使用Navicat等软件直接就看到数据库了。

这些数据库我在第二篇讲过了:

切换到目标数据库:
USE 数据库名;
查看当前数据库的表:
SHOW TABLES;
🟢使用 SHOW TABLE STATUS 查看数据库中所有表的摘要信息:
SHOW TABLE STATUS FROM 数据库名;

4.2 创建、删除数据库
创建:
CREATE DATABASE test;
删除:
DROP DATABASE test;
创建或删除前可以先判断是否存在:
CREATE DATABASE if not exists test;
DROP DATABASE IF EXISTS test;
相关文章:
【MySQL_04】数据库基本操作(用户管理--配置文件--远程连接--数据库信息查看、创建、删除)
文章目录 一、MySQL 用户管理1.1 用户管理1.11 mysql.user表详解1.12 添加用户1.13 修改用户权限1.14 删除用户1.15 密码问题 二、MySQL 配置文件2.1 配置文件位置2.2 配置文件结构2.3 常用配置参数 三、MySQL远程连接四、数据库的查看、创建、删除4.1 查看数据库4.2 创建、删除…...
牛客网刷题(5)(HTML之元素<input>、表格<table>与描述列表<dl>、元素<label>)
目录 一、哪种输入类型定义滑块控件?元素(input) (1)官方解析。 (2)总结。 (3)牛客大佬总结。 (4)HTML5——元素(input)的…...
语音视频App协议安全实战:防御伪造/窃听/Deepfake攻击
一、SDP协议安全加固 1. SDP字段校验(防止参数篡改) 安全SDP生成示例(Node.js): const crypto require(crypto); function signSDP(sdp) { const hmac crypto.createHmac(sha256, SECRET_KEY); hmac.update(sd…...
Git系列之git checkout
git checkout 是 Git 中最常用的命令之一,主要用于切换分支、恢复文件或检出特定提交。以下是关于 git checkout 的所有指令、详细解释及实际应用场景的全面说明。 1. 切换分支 1.1 切换到现有分支 git checkout <branch-name>• 作用:切换到指定…...
IDEA(十一)调整新版本的工具栏显示Git操作(pull、commit、push、revert等)
目录 一、背景二、操作步骤2.1 开启新 UI 样式2.2 设置 Tool Window 工具栏 一、背景 好久没有更新 IDEA 了,更新之后发现 IDEA 的工具栏消失了。一番操作之后,终于把 IDEA 的工具栏的设置调整好了,在此进行记录调整步骤,供大家学…...
C++编程:进阶阶段—4.2对象
目录 4.2 对象特征 4.2.1 构造函数和析构函数 4.2.2 构造函数的分类 4.2.3 拷贝函数调用时机 4.2.4 构造函数调用规则 4.2.5 深拷贝与浅拷贝 4.2.6 初始化列表 4.2.7 类对象作为类成员 4.2.8 静态成员 4.2.9 成员变量和成员函数的存储 4.2.10 this指针 4.2.11 空指针…...
决策树的核心思想
一、决策树的核心思想 本质:通过特征判断对数据集递归划分,形成树形结构。目标:生成一组“若-则”规则,使数据划分到叶子节点时尽可能纯净。关键流程: 特征选择:选择最佳分裂特征(如信息增益最…...
TensorFlow.js 全面解析:在浏览器中构建机器学习应用
TensorFlow.js 全面解析:在浏览器中构建机器学习应用 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 TensorFlow.js 全面解析&#x…...
CI/CD—Jenkins配置Poll SCM触发自动构建
Poll SCM简介 在 Jenkins 等持续集成工具中,“Poll SCM” 是一种用于轮询软件配置管理(SCM)系统以检查代码变更的机制,以下是对它的详细介绍: 作用 “Poll SCM” 允许 Jenkins 定期检查指定的 SCM 系统(如 …...
《云原生技术:DeepSeek分布式推理的效能倍增器》
在当今人工智能飞速发展的时代,大语言模型的推理能力成为了衡量其性能的关键指标。DeepSeek作为人工智能领域的重要参与者,致力于提升模型的推理效率和准确性。而云原生技术的出现,为DeepSeek实现更高效的分布式推理提供了强大的支持。 云原…...
AI与SEO关键词智能解析
内容概要 人工智能技术正重塑搜索引擎优化的底层逻辑,其核心突破体现在关键词解析维度的结构性升级。通过机器学习算法对海量搜索数据的动态学习,AI不仅能够识别传统TF-IDF模型中的高频词汇,更能捕捉语义网络中隐含的关联特征。下表展示了传…...
OpenHarmony子系统开发 -- 构建系统编码规范与最佳实践
OpenHarmony子系统开发 -- 构建系统编码规范与最佳实践 概述 gn是generate ninja的缩写,它是一个元编译系统(meta-build system),是ninja的前端,gn和ninja结合起来,完成OpenHarmony操作系统的编译任务。 gn简介 目…...
1-002:MySQL InnoDB引擎中的聚簇索引和非聚簇索引有什么区别?
在 MySQL InnoDB 存储引擎 中,索引主要分为 聚簇索引(Clustered Index) 和 非聚簇索引(Secondary Index)。它们的主要区别如下: 1. 聚簇索引(Clustered Index) 定义 聚簇索引是表数…...
STM32之BKP
VBAT备用电源。接的时候和主电源共地,正极接在一起,中间连接一个100nf的电容。BKP是RAM存储器。 四组VDD都要接到3.3V的电源上,要使用备用电池,就把电池正极接到VBAT,负极跟主电源共地。 TEMPER引脚先加一个默认的上拉…...
c++的基础排序算法
一、快速排序 1. 选择基准值(Pivot) 作用 :从数组中选择一个元素作为基准(Pivot),用于划分数组。常见选择方式 : 固定选择最后一个元素(如示例代码)。随机选择…...
基于Spring3的抽奖系统
注:项目git仓库地址:demo.lottery 小五Z/Spring items - 码云 - 开源中国 目录 注:项目git仓库地址:demo.lottery 小五Z/Spring items - 码云 - 开源中国 项目具体代码可参考仓库源码,本文只讲解重点代码逻辑 一…...
基于qiime2的16S数据分析全流程:从导入数据到下游分析一条龙
目录 创建metadata 把数据导入qiime2 去除引物序列 双端合并 (dada2不需要) 质控 (dada2不需要) 使用deblur获得特征序列 使用dada2生成代表序列与特征表 物种鉴定 可视化物种鉴定结果 构建进化树(ITS一般不构建进化树…...
【Linux系统编程】基本IO函数
目录 1、open 函数2、create 函数3、write 函数4、read 函数5、lseek 函数6、access 函数7、unlink 函数8、remove 函数9、fcntl 函数写锁互斥锁示例读锁共享锁示例 1、open 函数 头文件 #include<sys/types.h> #include<sys/stat.h>#include<fcntl.h>…...
Deepseek应用技巧-chatbox搭建前端问答
目标:书接上回,由于本地私有化部署了deepseek的大模型,那怎么能够投入生产呢,那就必须有一个前端的应用界面,好在已经有很多的前人已经帮我们把前段应用给搭建好了,我们使用就可以啦,今天我们就…...
OpenAI API模型ChatGPT各模型功能对比,o1、o1Pro、GPT-4o、GPT-4.5调用次数限制附ChatGPT订阅教程
本文包含OpenAI API模型对比页面以及ChatGPT各模型功能对比表 - 截至2025最新整理数据:包含模型分类及描述;调用次数限制; 包含模型的类型有: Chat 模型(如 GPT-4o、GPT-4.5、GPT-4)专注于对话,…...
Fast DDS Security--秘钥交换
Fast DDS Security模块中默认使用Diffie-Hellman算法进行秘钥交换。Diffie-Hellman 算法(简称 DH 算法)是一个非常重要的加密协议,用于在不安全的通信通道中安全地交换密钥。该算法通过利用数学中的离散对数问题来生成共享密钥,使…...
从0开始的操作系统手搓教程33:挂载我们的文件系统
目录 代码实现 添加到初始化上 上电看现象 挂载分区可能是一些朋友不理解的——实际上挂载就是将我们的文件系统封装好了的设备(硬盘啊,SD卡啊,U盘啊等等),挂到我们的默认分区路径下。这样我们就能访问到了ÿ…...
基于muduo+mysql+jsoncpp的简易HTTPWebServer
一、项目介绍 本项目基于C语言、陈硕老师的muduo网络库、mysql数据库以及jsoncpp,服务器监听两个端口,一个端口用于处理http请求,另一个端口用于处理发送来的json数据。 此项目在实现时,识别出车牌后打包为json数据发送给后端服务…...
【Go学习实战】03-2-博客查询及登录
【Go学习实战】03-2-博客查询及登录 读取数据库数据初始化数据库首页真实数据分类查询分类查询测试 文章查询文章查询测试 分类文章列表测试 登录功能登录页面登录接口获取json参数登录失败测试 md5加密jwt工具 登录成功测试 文章详情测试 读取数据库数据 因为我们之前的数据都…...
《Python实战进阶》No20: 网络爬虫开发:Scrapy框架详解
No20: 网络爬虫开发:Scrapy框架详解 摘要 本文深入解析Scrapy核心架构,通过中间件链式处理、布隆过滤器增量爬取、Splash动态渲染、分布式指纹策略四大核心技术,结合政府数据爬取与动态API逆向工程实战案例,构建企业级爬虫系统。…...
2021 年 9 月青少年软编等考 C 语言六级真题解析
目录 T1. 合法出栈序列思路分析T2. 奇怪的括号思路分析T3. 区间合并思路分析T4. 双端队列思路分析T1. 合法出栈序列 题目链接:SOJ D1110 给定一个由不同小写字母构成的长度不超过 8 8 8 的字符串 x x x,现在要将该字符串的字符依次压入栈中,然后再全部弹出。要求左边的字…...
Linux:多线程(单例模式,其他常见的锁,读者写者问题)
目录 单例模式 什么是设计模式 单例模式介绍 饿汉实现方式和懒汉实现方式 其他常见的各种锁 自旋锁 读者写者问题 逻辑过程 接口介绍 单例模式 什么是设计模式 设计模式就是一些大佬在编写代码的过程中,针对一些经典常见场景,给定对应解决方案&…...
shell 脚本的编写学习
学习编写 Shell 脚本是 Linux/Unix 系统管理和自动化的一个非常有用的技能。Shell 脚本是一些 Shell 命令的集合,用户可以用它来自动执行任务、简化工作流程、管理系统等。下面是一个 Shell 脚本学习的入门指南: 1. Shell 脚本基础 Shell 脚本通常是以…...
【氮化镓】高输入功率应力诱导的GaN 在下的退化LNA退化
2019年,中国工程物理研究院电子工程研究所的Tong等人基于实验与第一性原理计算方法,研究了Ka波段GaN低噪声放大器(LNA)在高输入功率应力下的退化机制。实验结果表明,在27 GHz下施加1 W连续波(CW)输入功率应力后,LNA的增益下降约1 dB,噪声系数(NF)增加约0.7 dB。进一…...
根据开始和结束日期,获取每一天和每个月的开始和结束日期的list
获取开始日期与结束日期之间每天的list /*** 根据传入的开始时间和结束时间,筛选出所有的天的list;** param startTime* param endTime*/public Map<String, List<String>> fetchDayListBetweenStartAndEnd(String startTime, String endTime) {// 创建mapMap<…...
