1.MySQL数据库初体验
1.1数据库简介
1.1.1使用数据库的必要性
使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。
数据库特点:
a.可以结构化存储大量地数据信息,方便用户进行有效的检索
b.可以有效地保持数据信息的一致性、完整性,降低数据冗余
c.可以满足应用的共享和安全方面的要求
1.1.2数据库的基本概念
1.数据
描述事物的符号记录称为数据。数字、文字、图形、图像、声音、档案记录等都是数据
在数据库中,数据是以“记录”的形式按照统一的格式进行存储的,而不是杂乱无章的。相同格式和类型的数据统一存放在一起。
2.数据库和数据库表
不同的记录组织在一起,就形成了数据库(Database.DB)的“表”(Table)。也可以说,表是用来存储数据的。数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合。
例如,关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享,具有最小冗余度和较高的数据独立性,它是统一管理的相关数据的集合。通常,数据库并不是简单地存储这些数据,还要表示它们之间的关系
3.数据库管理系统和数据库系统
数据库管理系统(DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。主要功能如下:
数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的转储与恢复、数据库的重组与性能监视等功能
数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出
数据操纵功能:包括数据查询统计和数据更新两个方面
数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控制、数据库内部维护等功能
通信功能:DBMS与其他软件系统之间的通信,如Access能与其他Office组件进行数据交换
数据库系统(DBS)是一个人机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库
应用程序是利用DBMS为解决某个具体的管理或数据处理的任务而编制的一系列命令的有序集合。如果应用程序比较完善,能够提供有好的人机界面,并编译成可执行文件发行,使得普通用户不需要具备计算机的专业知识,在较短时间就学会使用,那么就成为数据库应用软件。
数据库管理员(DBA)负责数据库的更新和备份、数据库系统的维护、用户管理等工作,保证数据库系统的正常运行。DBA一般由业务水平较高、资历较深的人员担任
1.1.3主流数据库介绍
(1)关系数据库
1.SQL Server
2.Oracle
3.DB2
4.MySQL
(2)非关系数据库
也称为NoSQL,存储数据不以关系模型为依据,不需要固定的表格式。其优点如下:
a.数据库高并发读写的需求
b.对海量数据高效率存储与访问
c.数据库的高扩展性与高可用性的需求
1.1.4关系数据库的基本概念
1.关系数据库的基本结构
关系数据库使用的存储结构是多个二维表格,即反映事物及联系的数据描述是以平面表格形式体现的
在每个二维表格中,每一行称为一条记录,用来描述一个对象信息;每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据
关系数据库是由数据表之间的关联组成的。其中:
a.数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性。
b.数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的a
c.数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有属性。
2.主键与外键
(1)主键
数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主关键字,PrimaryKey)可以保证记录(实体)的唯一性。
键,即关键字,它是关系模型中一个非常重要的元素。
主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成,其值具有唯一性,不允许取空值(NULL)。一个表只能有一个主键。
如果一个属性集能唯一地标识表的一行而又不含有多余的属性,那么这个属性集称为候选键。表中可以有多个候选键,但是只能有一个候选键可以选作表的主键,所有其他候选键称为备用键。例如,在图1.7所示的“学生信息统计表”中,(编号)、{身份证号}或(姓名,专业编号}都可以说是候选键,可以将{编号}定义为主键。
(2)外键
一个关系数据库通常包含多个表,通过外键(ForeignKey)可以使这些表关
联起来。
外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就称为第二个表的外键。
3.数据完整性规则
(1)实体完整性规则
实体完整性规则要求关系中的元组在主键的属性上不能有空值。如果出现空
值,那么主键值就起不到唯一标识元组的作用。例如,在图1.9所示的“学生信息表”中,每个学生都有一个编号,用来唯一标识每个学生的信息记录,这个编号往往被设为该表的主键,以方便其他数据
库表的关联应用。依照实体完整性规则,“编号”字段不允许为空。
(2)域完整性规则
域完整性也称列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值
(3)引用完整性规则
如果两个表之间相互关联,那么引用完整性规则要求不允许引来不存在的元组
(4)用户定义的完整性规则
用户定义的完整性规则是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。系统提供定义和检验这类完整性的机制,以便用统一的系统方法进行处理,不再由应用程序承担这项工作
1.2MySQL服务基础
1.编译安装的准备工作
(1)如果OpenEulser已安装mariadb数据库,必须先将其卸载,然后再开始进行源码安装。并关闭SELinux 和防火墙
命令:rpm -q mariadb
dnf remove mariadb
dnf install -y gcc gcc-c++ make cmake autoconf libtool bison re2c openssl-devel libxml2-devel zlib-devel curl-devel libpng-devel libjpeg-turbo-devel freetype-devel libicu-devel oniguruma-devel sqlite-devel libxslt-devel libzip-devel pcre-devel apr-devel apr-util-devel ncurses-devel wget libtirpc-devel rpcgen
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld
(2)MySQL8.0源码安装需要cmake编译安装
命令:tar zxf cmake-3.16.2.tar.gz
cd cmake-3.16.2
./configure
gmake && gmake install
(3)Boost库下载
命令:tar -zxf boost_1_77_0.tar.gz
mv boost_1_77_0 /usr/local/boost
2.源码编译及安装
(1)创建运行用户
为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql用户。此用户不需要直接登录到系统,可以不创建宿主文件夹
命令:groupadd msyql
useradd -M -s /sbin/nologin mysql -g mysql
(2)解包
将下载的MySQL源码包解压,释放到/usr/src目录下,并切换到展开后的源码目录
命令:tar zxf mysql-8.0.36.tar.gz -C /usr/src
cd /usr/src/mysql-8.0.36
(3)配置
在内容丰富,结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据库系统也应该支持不同地字符集编码。配置过程中,可以将默认使用的字符集设置为utf8,并添加其他字符集支持
命令:mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/sur/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_SSL=system -DENABLED_LOCAL_INFILE=ON -DWITH_BOOST=/usr/local/boost -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
上述配置命令中,关键选项含义如下:
..:指定上层源码记录
-DCMAKE_INSTALL_PREFIX:指定将mysql程序安装到哪个目录下
-DSYSCONFDIR:设置mysql数据库配置文件存储位置
-DMYSQL_DATADIR:设置mysql数据库的数据文件存储位置
-DWITH_BOOST:指定boost库的位置,mysql8.0编译安装时必须添加这个参数
-DWITH_SSL:使用系统提供的SSL/TLS库来支持加密连接
-DENABLED_LOCAL_INFILE:允许从客户端本地文件加载数据
(4)编译安装
命令:make -j$(nproc) $(nproc)用于获取系统上可用的处理器核心数量,并行编译,提高速度
make install
3.安装后的其他调整
(1)建立配置文件
命令:vi /etc/my.cnf
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address = 0.0.0.0 (绑定监听地址0.0.0.0)
skip-name-resolve
port = 3306 (设置3306端口)
basedir=/usr/local/mysql (设置mysql的安装目录)
datadir=/usr/local/mysql/data (设置mysql数据库的数据存放目录)
max_connections=2048 (允许最大连接数)
character-set-server=utf8 (服务端使用的字符集默认为utf8)
default-storage-engine=INNODB (创建新表时使用的默认存储引擎)
max_allowed_packet=16M
(2)初始化数据库
执行初始化命令(无密码模式)
命令:/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
(3)设置环境变量
为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量
命令:echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile (立即生效)
4.添加系统服务
若希望添加mysqld系统服务,以便通过systemctl进行管理,可以直接使用源码包中提供的服务脚本。找到support-files 文件夹下的mysql.server脚本文件,将其复制到/etc/rc.d/init.d目录下,并改名为mysqld,然后再设置执行权限
将MySQL添加为systemd标准服务,之后方便使用“systemctl”命令管理
命令:vi /lib/systemd/system/mysqld.service
[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/ec.d/init.d/mysqld stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable mysqld
5.MySQL的二进制安装
MySQL的安装方式除了常规的源码编译安装之外,最常用的还包括YUM方式安装和二进制方式安装。二进制安装方式中,包括rpm版本以及glibc版本。rpm版本就是在特定Linux版本下编译的,如果你的Linux版本匹配,就可以安装。如下载Cent0s7系统所对应编译好的rpm包安装即可。另外一种二进制安装包是基于特定的glibc版本编译的,这里主要讲解基于glibc方式安装MySQL.
1.基础环境准备
如果采用openEuler minimal安装的系统,在使用前需要安装一些基础软件包工具
dnf -y install gcc vim wget net-tools lrzsz tar
安装MySQL依赖的软件包
dnf install -y libaio numactl openssl ncurses-compat-libs
创建运行MySQL程序的·用户
useradd -M -s /sbin/nologin mysql
关闭SELinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl 0
systemctl disable firewalld
systemctl stop firewalld
2.二进制安装
首先需要下载该软件包或者提前上传,然后再解压进行配置
tar xf msyql-8.0.36-linux-glibc2.28-x86_64.tar.xz
mv msyql-8.0.36-linux-glibc2.28-x86_64.tar.xz /usr/local/mysql
mkdir /usr/local/mysql/data
chown -R msyql:mysql /usr/local/mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
此次初始化没有采用无密码模式,因此会生成初始随机密码,需要保存,用以后续登录mysql数据库使用
3.设定配置文件
vi /etc/my.cnf
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address = 0.0.0.0 (绑定监听地址0.0.0.0)
skip-name-resolve
port = 3306 (设置3306端口)
basedir=/usr/local/mysql (设置mysql的安装目录)
datadir=/usr/local/mysql/data (设置mysql数据库的数据存放目录)
max_connections=2048 (允许最大连接数)
character-set-server=utf8 (服务端使用的字符集默认为utf8)
default-storage-engine=INNODB (创建新表时使用的默认存储引擎)
max_allowed_packet=16M
将MySQL的可执行文件写入环境变量中
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile
4.配置systemctl方式启动
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
vim /lib/systemd/system/mysqld.service
[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/ec.d/init.d/mysqld stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
6.访问数据库
安装后的初始化过程,mysql数据库的默认管理员用户名为“root”,密码为给定的随机密码。以root用户登录本机mysql数据库
命令:mysql -u root -p
msyql>alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd123';
(单引号内为新密码)
相关文章:
1.MySQL数据库初体验
1.1数据库简介 1.1.1使用数据库的必要性 使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。 数据库特点: a.可以结构化存储大量地数据信息,方便用户进行有效的检索 b.可以有效地保持数据信息的一致性、完整…...
量子密码的轻量级通信协议笔记
代码笔记 本文档提供了项目代码的详细说明,包括代码结构、关键算法实现和重要的代码片段。 代码结构 . ├── Makefile # 构建系统配置 ├── coap_client.c # CoAP客户端实现 ├── coap_server.c # CoAP服务端实现 ├─…...
探索 C++ 在行业应用与技术融合中的核心价值
引言 在科技飞速发展的今天,C 作为一门兼具高性能与灵活性的编程语言,正深度融入游戏开发、人工智能、区块链等多个关键领域。其高效的内存管理、底层控制能力以及对现代硬件架构的深度优化,使其成为复杂系统开发的首选语言。本文将深入探讨…...
雷赛伺服电机
ACM0经济 编码器17位: ACM1基本 编码器23位磁编, ACM2通用 编码器24位光电, 插头定义:...
word文档基本操作: 编辑页眉页脚和插入目录
文章目录 引言I 编辑页眉页脚II 插入目录III 知识扩展基于axure画架构图基于Knife4j导出接口文档基于PDManer导出数据库设计文档引言 背景: 信息安全认证需要准备相关文件用于审核 一般的开发设计包含总体设计、概要设计、详细设计、接口设计、数据库设计、部署结构设计、原型…...
数据结构(二)——线性表的链式表示和实现
一、单链表 1.单链表的定义 如图所示每个节点包含两个域:数据域和指针域。数据域存储数据元素,指针域存储下一个节点的地址,因此指针指向的类型也是节点类型。每个指针都指向下一个节点,都是朝一个方向的,这样的链表称为单向链表…...
HTML10:iframe内联框架
iframe内部框架 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>内联框架学习</title> </head> <body> <!--iframe内联框架 src:地址 width-height:高度宽度 --> <iframe…...
C++代码随想录刷题知识分享-----数组交集—LeetCode 349
1 题目描述 给定两个整型数组 nums1 和 nums2,请返回它们的交集。 交集中 每个元素必须是唯一的。输出结果的顺序可以任意。 示例输入输出说明1nums1 [1,2,2,1], nums2 [2,2][2]2 只出现一次2nums1 [4,9,5], nums2 [9,4,9,8,4][4,9] 或 [9,4]顺序不作要求…...
Wireshark基本使用
本文会对Wireshark做简单介绍,带大家熟悉一下Wireshark的界面,以及如何使用过滤器。 接着会带大家查看TCP五层模型下,带大家回顾各层首部的格式。 最后会演示 Wireshark 如何抓取三次握手和四次挥手包的过程。 目录 一.Wireshark简介 二…...
学习c语言的链表的概念、操作(另一篇链表的笔记在其他的栏目先看这个)
在学习Linux之间我们先插入一下链表的知识 学习链表(一种数据结构思想) 链表和数组的区别和实现: 链表(链表是个好东西) 链表概念(什么是链表)? 链表就是数据结构->数据的存储…...
快速上手Pytorch Lighting框架 | 深度学习入门
快速上手Pytorch Lighting框架 | 深度学习入门 前言参考官方文档 介绍快速上手基本流程常用接口LightningModule\_\_init\_\_ & setup()\*\_step()configure_callbacks()configure_optimizers()load_from_checkpoint Trainer常用参数 可选接口LoggersTensorBoard Logger Ca…...
ffmpeg多媒体(音视频)处理常用命令
概览 总结一些音视频常用的ffmpeg处理命令,会不断更新,涉及一些重要命令,各位读者也可在评论区不断更新,维护起来,希望可以帮助大家快速解决问题! 1、音频相关 1.1 音频信息查看 ffmpeg -i test.wav 该命…...
QT中的网络请求
一、主程序(main.cpp) #include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkReply> #include <QNetworkRequest> #include <QUrlQuery> #include <QJsonDocument> #include <QJso…...
Nacos源码—6.Nacos升级gRPC分析二
大纲 1.Nacos 2.x版本的一些变化 2.客户端升级gRPC发起服务注册 3.服务端进行服务注册时的处理 4.客户端服务发现和服务端处理服务订阅的源码分析 4.客户端服务发现和服务端处理服务订阅的源码分析 (1)Nacos客户端进行服务发现的源码 (2)Nacos服务端处理服务订阅请求的源…...
如何选择自己喜欢的cms
选择内容管理系统cms what is cms1.whatcms.org2.IsItWP.com4.Wappalyzer5.https://builtwith.com/6.https://w3techs.com/7. https://www.netcraft.com/8.onewebtool.com如何在不使用 CMS 检测器的情况下手动检测 CMS 结论 在开始构建自己的数字足迹之前,大多数人会…...
前端面经 作用域和作用域链
含义:JS中变量生效的区域 分类:全局作用域 或者 局部作用域 局部作用域:函数作用域 和 块级作用域ES6 全局作用域:在代码中任何地方都生效 函数中定义函数中生效,函数结束失效 块级作用域 使用let或const 声明 作用域链:JS查…...
开启智能Kubernetes管理新时代:kubectl-ai让操作更简单!
在如今的科技世界中,Kubernetes 已经成为容器编排领域的标杆,几乎所有现代应用的基础设施都离不开它。然而,面对复杂的集群管理和日常运维,许多开发者常常感到无所适从。今天,我们将为大家介绍一款结合了人工智能的强大工具——kubectl-ai。它不仅能帮助开发者更加顺畅地与…...
STM32 ADC
目录 ADC简介 逐次逼近型ADC STM32 ADC框图 输入通道 转换模式 •单次转换,非扫描模式 •连续转换,非扫描模式 •单次转换,扫描模式 •连续转换,扫描模式 触发控制 数据对齐 转换时间 校准 硬件电路 A…...
nextjs站点地图sitemap添加
app/sitemap.xml/route.ts (主站点地图索引) sitemap.xml 为文件夹名称 route.ts代码如下: import { NextResponse } from next/server; import { url } from /config/navigation; export async function GET() {// const entries generateMonthlyEntries();con…...
TCP/IP和OSI对比
TCP/IP模型的实际特性 网络层(IP层) 仅提供无连接的不可靠服务:TCP/IP模型的网络层核心协议是IP(Internet Protocol),其设计是无连接且不可靠的。IP数据包独立传输,不保证顺序、不确认交…...
【hadoop】Hbase java api 案例
代码实现: HBaseConnection.java package com.peizheng.bigdata;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client…...
深入理解Spring缓存注解:@Cacheable与@CacheEvict
在现代应用程序开发中,缓存是提升系统性能的重要手段。Spring框架提供了一套简洁而强大的缓存抽象,其中Cacheable和CacheEvict是两个最常用的注解。本文将深入探讨这两个注解的工作原理、使用场景以及最佳实践。 1. Cacheable注解 基本概念 Cacheable…...
[git]如何关联本地分支和远程分支
主题 本文总结如何关联git本地分支和远程分支的相关知识点。 详情 查看本地分支 git branch 查看远程分支 git branch -r 查看所有分支(本地远程) git branch -a 查看本地分支及其关联的远程分支(如有) git branch -vv 关联本地分支到远程分支: git branch …...
Linux58 ssh服务配置 jumpserver 测试双网卡 为何不能ping通ip地址
判断为NAT模式网卡 能ping 通外网 ens34为仅主机模式网卡 [rootlocalhost network-scripts]# ip route show default default via 10.1.1.254 dev ens33 proto static metric 100 10.0.0.0/8 dev ens33 proto kernel scope link src 10.1.1.37 metric 100 11.0.0.0/8 dev…...
chart.js 柱状图Y轴数据设置起始值
事情的起因, 我以为是: chart.js 柱状图Y轴数据显示不全, 因为数据是浮点数, 换了整数测试还不行, 多次更换数据, 数据显示不全仍然存在, 而且是不固定位置的不显示。 直到相同数据换了折…...
算法题(142):木材加工
审题: 本题需要我们找到可以将木头切割至少k段的单段长度最长值 思路: 方法一:暴力解法 首先我们知道单段长度的最长值就是数组中数据的最大值max,所以我们可以遍历1~max的数据,将他们确定为l,然后计算出当…...
嵌入式学习--江协51单片机day3
今天学的东西挺多的,包括:自己设计的小应用,矩阵键盘,矩阵键盘密码锁,控制按键led流水灯,定时器时钟 (那个视频真的煎熬,连续两个1小时的简直要命,那个时钟也是听的似懂…...
Linux命令行参数注入详解
本文主要聚焦 Linux 系统及其 ELF 二进制文件,深入探讨参数注入的原理与防范措施。 核心术语解析 在进入主题之前,我们先厘清几个关键术语,以确保理解的准确性: 参数解析器 当程序被调用时,操作系统会向程序的 main…...
【HCIP】----OSPF综合实验
实验题目 实验需求: 1,R5为ISP,其上只能配置IP地址;R4作为企业边界路由器, 出口公网地址需要通过PPP协议获取,并进行chap认证 2,整个OSPF环境IP基于172.16.0.0/16划分; 3࿰…...
C++模板笔记
Cpp模板笔记 文章目录 Cpp模板笔记1. 为什么要定义模板2. 模板的定义2.1 函数模板2.1.1 函数模板的重载2.1.2 头文件与实现文件形式(重要)2.1.3 模板的特化2.1.4 模板的参数类型2.1.5 成员函数模板2.1.6 使用模板的规则 2.2 类模板2.3 可变参数模板 模板…...
二极管的动态特性
主要内容 二极管的单向导电特性并不十分理想,这是因为二极管的本质是有P型半导体和N型半导体接触形成的PN结。 PN结除了除了构成单向到点的二极管外,还存在一个结电容,这个结电容会导致"双向"导电。 也就是说,这会让二…...
WSL(Windows Subsystem for Linux)入门
目录 1.简介2.安装与配置3.常用命令4.进阶使用4.1 文件系统交互4.2 网络互通4.3 配置代理4.4 运行 GUI 程序4.5 Docker 集成 1.简介 WSL 是 Windows 系统内置的 Linux 兼容层,允许直接在 Windows 中运行 Linux 命令行工具和应用程序,无需虚拟机或双系统…...
k8s术语之secret
在kubernetes中,还存在一种和ConfigMap非常类似的对象,称之为Secret对象。它主要用于存储敏感信息,例如密码、密钥、证书等等。 首先使用base64对数据进行编码 rootmaster pvs ]# echo -n admin | base64 YWRtaW4 实例:隐藏mysql密…...
Vue2 中 el-dialog 封装组件属性不生效的深度解析(附 $attrs、inheritAttrs 原理)
Vue2 中 el-dialog 封装组件属性不生效的深度解析(附 $attrs、inheritAttrs 原理) 在使用 Vue2 和 Element UI 进行组件封装时,我们常会遇到父组件传入的属性不生效的情况,比如在封装的 el-dialog 组件中传入 width"100%&qu…...
使用Compose编排工具搭建Ghost博客系统
序:需要提前自备一台部署好docker环境的虚拟机,了解并熟练compose编排工具 在Centos7中,在线/离线安装Docker:https://blog.csdn.net/2301_82085712/article/details/147140694 Docker编排工具---Compose的概述及使用࿱…...
车载网络TOP20核心概念科普
一、基础协议与总线技术 CAN总线 定义:控制器局域网,采用差分信号传输,速率最高1Mbps,适用于实时控制(如动力系统)。形象比喻:如同“神经系统”,负责传递关键控制信号。 LIN总线 定…...
机器学习第一讲:机器学习本质:让机器通过数据自动寻找规律
机器学习第一讲:机器学习本质:让机器通过数据自动寻找规律 资料取自《零基础学机器学习》。 查看总目录:学习大纲 一、从婴儿学说话说起 👶 想象你教1岁宝宝认「狗」: 第一阶段:指着不同形态的狗&#x…...
Android ImageView 加载 Base64编码图片
在 Android 中显示服务端返回的 Base64 编码的 GIF 图片(如 data:image/gif;base64,...),需要以下步骤: 首先从字符串中分离出纯 Base64 部分(去掉 data:image/gif;base64, 前缀)image/gif 表示图片是 gif…...
如何使用 QuickAPI 推动医院数据共享 —— 基于数据仓库场景的实践
目录 01 医疗行业面临的数据孤岛问题 02 QuickAPI:将 SQL 变为数据 API 的利器 03 快速落地的应用实践 ✅ 步骤一:统一 SQL 逻辑,模块化管理 ✅ 步骤二:配置权限与调用策略 ✅ 步骤三:上线并接入调用 04 核心收…...
【5G通信】bwp和redcap 随手记 2
好的,让我们重新解释Cell-Defined BWP (CD BWP) 和 Non-Cell-Defined BWP (NCD BWP),并结合RedCap终端和非RedCap终端的应用进行说明。 一、定义 Cell-Defined BWP (CD BWP) 定义:由网络(基站)通过RRC信令为终端配置的…...
AI时代企业应用系统架构的新思路与CIO变革指南
作为制造企业CIO,我们看问题需要有前瞻性,AI时代企业应用系统架构需要进行全面转型。 一、新思想与新技术 1. 核心新思想 可视化开发AI的融合模式:不再只依赖纯代码开发或传统低代码,而是两者结合,通过AI理解自然语…...
kotlin JvmName注解的作用和用途
1. JvmName 注解的作用 JvmName 是 Kotlin 提供的一个注解,用于在编译为 Java 字节码时自定义生成的类名或方法名。 作用对象: 文件级别(整个 .kt 文件)函数、属性、类等成员 主要用途: 控制 Kotlin 编译后生成的 JV…...
为什么强调 RESTful 的无状态性?-优雅草卓伊凡
为什么强调 RESTful 的无状态性?-优雅草卓伊凡 RESTful 架构的核心原则之一是 无状态性(Statelessness),它要求 每次客户端请求必须包含服务器处理该请求所需的所有信息,服务器不会存储客户端的状态(如会话…...
信息系统项目管理工程师备考计算类真题讲解十五
一、决策论问题 分析:首先要明白几个概念: 1)最大最大准则(Maxmax):也称乐观主义准则,其决策原则为“大中取大” 2)最大最小准则(Maxmin):也称悲观主义准则,…...
android-ndk开发(9): undefined reference to `__aarch64_ldadd4_acq_rel` 报错分析
1. 概要 基础库 libbase.a 基于 android ndk r18b 编译, 被算法库 libfoo.so 和算法库 libbar.a 依赖, 算法库则分别被 libapp1.so 和 libapp2.so 依赖。 libapp1.so 的开发者向 libfoo.so 的开发者反馈了链接报错: error: undefined symb…...
Java 对象克隆(Object Cloning)详解
Java 对象克隆(Object Cloning)详解 对象克隆是指创建一个对象的精确副本,Java 提供了两种克隆方式:浅克隆(Shallow Clone)和深克隆(Deep Clone)。下面从实现原理、使用场景到注意事项全面解析。 一、克隆的基本概念 1. 为什么要克隆? 需要对象副本时避免修改原始对…...
Asp.Net Core IIS发布后PUT、DELETE请求错误405
一、方案1 1、IIS管理器,处理程序映射。 2、找到aspNetCore,双击。点击请求限制...按钮,并在谓词选项卡上,添加两者DELETE和PUT. 二、方案2 打开web.config文件,添加<remove name"WebDAVModule" />&…...
AI搜索的未来:技术纵深发展与关键突破路径
一、模型架构的颠覆性重构 1、混合专家系统(MoE)的工程化突破 动态路径选择:Google Gemini 1.5 Pro采用MoE架构,其门控网络(Gating Network)通过实时计算输入token与128个专家模型的余弦相似度,动态分配计算资…...
从艾米・阿尔文看 CTO 的多面特质与成长路径
在《对话 CTO,驾驭高科技浪潮》的开篇,艾米・阿尔文的经历如同一扇窗,为我们展现出首席技术官丰富而立体的世界。通过深入探究这一章节,我们能洞察 CTO 在技术领域前行所需的特质、面临的挑战,以及成长发展的脉络。 一…...
记录阿里云服务器搭建FTP服务器的注意事项
在阿里云服务器上(centos)系统,使用vsftpd搭建了一台FTP服务器。 搭建过程中,也留意到了操作防火墙放行端口。但搭建成功后,仍无法访问。 问题是:还需要在阿里云控制台设置一下。 在此记录。 1、登陆账…...