【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 创建、删除…...

【Zinx】Day5-Part4:Zinx 的连接属性设置
目录 Day5-Part4:Zinx 的连接属性设置给连接添加连接配置的接口连接属性方法的实现 测试 Zinx-v1.0总结 Day5-Part4:Zinx 的连接属性设置 在 Zinx 当中,我们使用 Server 来开启服务并监听指定的端口,当接收到来自客户端的连接请求…...

【英伟达AI论文】多模态大型语言模型的高效长视频理解
摘要:近年来,基于视频的多模态大型语言模型(Video-LLMs)通过将视频处理为图像帧序列,显著提升了视频理解能力。然而,许多现有方法在视觉主干网络中独立处理各帧,缺乏显式的时序建模,…...

小程序事件系统 —— 32 事件系统 - 事件分类以及阻止事件冒泡
在微信小程序中,事件分为 冒泡事件 和 非冒泡事件 : 冒泡事件:当一个组件的事件被触发后,该事件会向父节点传递;(如果父节点中也绑定了一个事件,父节点事件也会被触发,也就是说子组…...

全球首款 5G-A 人形机器人发布
全球首款 5G-A 人形机器人于世界移动通信大会(MWC2025)上由中国移动、华为、乐聚联合发布。以下是关于这款机器人的详细介绍: 名称与背景 名称9:这款人形机器人名为 “夸父”,是中国移动、华为与乐聚机器人在 GTI 平台…...

Tomcat 新手入门指南
Tomcat 新手入门指南 Apache Tomcat 是一个开源的 Java Servlet 容器和 Web 服务器,广泛用于部署和运行 Java Web 应用程序。以下是 Tomcat 的入门指南,帮助你快速上手。 1. 安装 Tomcat 步骤 1: 下载 Tomcat 访问 Apache Tomcat 官网。选择适合的版…...

Flink-DataStreamAPI-生成水印
下面我们将学习Flink提供的用于处理事件时间戳和水印的API,也会介绍有关事件时间、流转时长和摄取时间,下面就让我们跟着官网来学习吧 一、水印策略介绍 为了处理事件时间,Flink需要知道事件时间戳,这意味着流中的每个元素都需要…...

【单片机】ARM 处理器简介
ARM 公司简介 ARM(Advanced RISC Machine) 是英国 ARM 公司(原 Acorn RISC Machine) 开发的一种精简指令集(RISC) 处理器架构。ARM 处理器因其低功耗、高性能、广泛适用性,成为嵌入式系统、移动…...

Flutter——最详细原生交互(MethodChannel、EventChannel、BasicMessageChannel)使用教程
MethodChannel(方法通道) 用途:实现 双向通信,用于调用原生平台提供的 API 并获取返回结果。 场景:适合一次性操作,如调用相机、获取设备信息等。 使用步骤: Flutter 端:通过 Meth…...

Kafka常用指令(详细)
Kafka常用指令(详细) 启停命令 前台启动 前台启动命令 ./bin/kafka-server-start.sh config/server.properties 后台启动方式1 后台启动命令加上参数-daemon,窗口关闭之后kafka后台程序继续运行 ./bin/kafka-server-start.sh -daemon co…...

供应链工作效率如何提升
提升供应链工作效率可以从以下几个关键方面入手: 1. 优化供应链管理 数据驱动决策:利用AI和大数据分析,提高预测准确性,优化库存管理。供应链可视化:采用ERP(企业资源计划)和SCM(供…...

1-001:MySQL的存储引擎有哪些?它们之间有什么区别?
MySQL 存储引擎 ├── InnoDB(默认引擎) │ ├── 事务支持:支持 ACID 和事务(事务日志、回滚、崩溃恢复) │ ├── 锁机制:支持行级锁,提高并发性能 │ ├── 外键支持:支持外键…...

Java/Kotlin逆向基础与Smali语法精解
1. 法律警示与道德边界 1.1 司法判例深度剖析 案例一:2021年某游戏外挂团伙刑事案 犯罪手法:逆向《王者荣耀》通信协议,修改战斗数据包 技术细节:Hook libil2cpp.so的SendPacket函数 量刑依据:非法经营罪ÿ…...

用AI学编程4——swift学习1
一个swift文件, 整理出swift从入门到精通的所有知识点, 给出注释, 给出这样的swift文件 以下是一个整合了 Swift 从入门到精通的主要知识点的 Swift 文件,包含了基础语法、面向对象编程、异常处理、集合框架、多线程、Lambda 表达…...

数据集构建与训练前准备
训练数据集目录结构与格式 作者笨蛋学法,先将其公式化,后面逐步自己进行修改,读者觉得看不懂可以理解成,由结果去推过程,下面的这个yaml文件就是结果,我们去推需要的文件夹(名字可以不固定,但是…...

在大型语言模型的提示词设计中,system、user和assistant三个角色的区别与联系
在大型语言模型的提示词设计中,system、user和assistant三个角色承担不同的功能,其区别与联系如下: 1. 角色定义与功能 system(系统指令) 作用:设定模型的整体行为、角色定位和任务框架。例如,“你是一位专业的科技作家”或“仅回答与医疗相关的问题”。特点:在多轮对话…...

Zabbix监控进程报警(Zabbix Monitoring Process Alarm)
zabbix监控进程占cpu、内存、磁盘RAID情况 1、cpu达到90%时报警 名称: cpu user percent gt 90% 表达式:{Template OS Linux:system.cpu.util[,idle].avg(1m)}<10 2、内存达到80%时报警 配置—主机(选择监控主机)—监控项—创建监控项 1、创建监控项 名称&…...

p5.js:sound(音乐)可视化,动画显示音频高低变化
本文通过4个案例介绍了使用 p5.js 进行音乐可视化的实践,包括将音频振幅转化为图形、生成波形图。 承上一篇:vite:初学 p5.js demo 画圆圈 cd p5-demo copy .\node_modules\p5\lib\p5.min.js . copy .\node_modules\p5\lib\addons\p5.soun…...

HAL库常用函数
一、通用函数 系统初始化: HAL_Init(): 初始化HAL库和系统时钟(调用前需配置系统时钟源)。 HAL_Delay(uint32_t Delay): 毫秒级阻塞延时(基于SysTick定时器)。 HAL_GetTick(): 获取系统运行时间(毫秒计数…...

【Zinx】Day5-Part3:Zinx 的连接管理
目录 Day5-Part3:Zinx 的连接管理创建连接管理模块将连接管理模块集成到 Zinx 当中将 ConnManager 集成到 Server 当中在 Connection 的工厂函数中将连接添加到 ConnManagerServer 中连接数量的判断连接的删除 补充:连接的带缓冲发包方式补充:…...

C语言:6.20字符型数据练习题
编写程序,输人一行数字字符(用回车结束),每个数字字符 的前后都有空格。 把这一行中的数字转换成一个整数。 例如,若输入(<CR>代表 Enter键):2 4 8 3<CR>则输出 整数:2483。 #include <stdio.h>int main() {char ch;int number 0;printf("请输入一行…...

SpringBoot Test详解
目录 spring-boot-starter-test 1、概述2、常用注解 2.1、配置类型的注解2.2、Mock类型的注解2.3、自动配置类型的注解2.4、启动测试类型的注解2.5、相似注解的区别和联系 3、SpringBootTest和Junit的使用 3.1、单元测试3.2、集成测试 4、MockMvc 4.1、简单示例4.2、自动配置4…...

CDefView::_GetPIDL函数分析之ListView_GetItem函数的参数item的item.mask 为LVIF_PARAM
CDefView::_GetPIDL函数分析之ListView_GetItem函数的参数item的item.mask 为LVIF_PARAM 第一部分: 1: kd> t SHELL32!CDefView::_GetPIDL: 001b:77308013 55 push ebp 1: kd> dv this 0x00000015 i 0n21 …...

Android Retrofit 框架注解定义与解析模块深度剖析(一)
一、引言 在现代 Android 和 Java 开发中,网络请求是不可或缺的一部分。Retrofit 作为 Square 公司开源的一款强大的类型安全的 HTTP 客户端,凭借其简洁易用的 API 和高效的性能,在开发者社区中广受欢迎。Retrofit 的核心特性之一便是通过注…...

项目上传到Gitee过程
在gitee上新建一个仓库 点击“克隆/下载”获取仓库地址 电脑上要装好git 在电脑本地文件夹右键“Git Bash Here” 依次执行如下命令 git init git remote add origin https://gitee.com/qlexcel/stm32-simple.git git pull origin master git add . git commit -m ‘init’…...

DeepSeek R1在医学领域的应用与技术分析(Discuss V1版)
DeepSeek R1作为一款高性能、低成本的国产开源大模型,正在深刻重塑医学软件工程的开发逻辑与应用场景。其技术特性,如混合专家架构(MoE)和参数高效微调(PEFT),与医疗行业的实际需求紧密结合,推动医疗AI从“技术驱动”向“场景驱动”转型。以下从具体业务领域需求出发,…...

数学之快速幂-数的幂次
题目描述 给定三个正整数 N,M,P,求 输入描述 第 1 行为一个整数 T,表示测试数据数量。 接下来的 T 行每行包含三个正整数 N,M,P。 输出描述 输出共 T 行,每行包含一个整数,表示答案。 输入输出样例 示例 1 输入 3 2 3 7 4…...

git subtree管理的仓库怎么删除子仓库
要删除通过 git subtree 管理的子仓库,可以按照以下步骤操作: 1. 确认子仓库路径 首先确认要删除的子仓库的路径,假设子仓库路径为 <subtree-path>。 2. 从主仓库中移除子仓库目录 使用 git rm 命令删除子仓库的目录: …...

学习资料电子版 免费下载的网盘网站(非常全!)
我分享一个私人收藏的电子书免费下载的网盘网站(学习资料为主): link3.cc/sbook123 所有资料都保存在网盘了,直接转存即可,非常的便利! 包括了少儿,小学,初中,中职&am…...

SpringMVC-全局异常处理
文章目录 1. 全局异常处理2. 项目异常处理方案2.1 异常分类2.2 异常解决方案2.3 异常解决方案具体实现 1. 全局异常处理 问题:当我们在SpingMVC代码中没有对异常进行处理时,三层架构的默认处理异常方案是将异常抛给上级调用者。也就是说Mapper层报错会将…...