当前位置: 首页 > article >正文

mysql的源码包安装

安装方式一:(编译好的直接安装)

1.添加一块10G的硬盘,给root逻辑卷扩容

(下面安装方式二有,一模一样的装就行,我就不写了,再写的话篇幅就太长了)

2.下载编译好的源码包mysql


下载方式1

通过网盘分享的文件:mysql-compile-finish-5.25.tar.gz
链接: https://pan.baidu.com/s/1D46ncApOlt1Unvf5zTzg1w?pwd=4pn6 提取码: 4pn6


下载方式2

我用夸克网盘分享了「mysql-compile-finish-5.25.tar.gz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/29a844ed63fb


3.解压

 [root@xxx ~]# tar -xvf /mysql-compile-finish-5.25.tar.gz -C /usr/local/

4.创建mysql用户与数据目录

[root@xxx /]# id mysql        #查看mysql用户,没有的创建一个
uid=27(mysql) gid=27(mysql) 组=27(mysql)

[root@xxx /]# useradd -u 27 -d /var/lib/mysql -s /bin/false mysql        #创建mysql用户

[root@xxx /]# mkdir /usr/local/mysql/data

5.修改权限

[root@xxx /]# chown -R mysql.mysql /usr/local/mysql/

6.创建和编写配置文件

[root@xxx /]# mv /etc/my.cnf /etc/my.cnf.bak        #不使用rpm产生的配置文件(如果之前安装过rpm包的mysql就会产生,这个会影响源码包mysql的启动)

[root@xxx /]# touch /etc/my.cnf        #创建一个配置文件
[root@xxx /]# vim /etc/my.cnf        #编写配置文件

[mysqld]
socket=/tmp/mysql.sock

[mysql]
socket=/tmp/mysql.sock

7.初始化

[root@xxx /]# cd /usr/local/mysql/        #切换到/usr/local/mysql/目录下

[root@xxx mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data        #初始化

(报错就一行一行的复制)

初始化时 数据目录data必须为空目录,记得把密码给复制下来。

8.启动登录mysql

[root@xxx /]# /usr/local/mysql/bin/mysqld_safe --user=mysql &        #启动mysql

[root@xxx mysql]# netstat -anplt | grep :3306        #检查端口

[root@xxx mysql]# ps -aux | grep mysql        #检查进程

可以查看到mysql的端口与进程,成功启动源码包的mysql服务端!

[root@xxx ~]#  /usr/local/mysql/bin/mysql -uroot -p"6eVVkWjt/kkL"        #登录mysql

登录成功!

9.修改密码

mysql> set password=password('123');

修改成功

10.修改源码mysql服务端的启动方式

原因

由于每次启动都要输入/usr/local/mysql/bin/mysqld_safe --user=mysql & 这么长的命令很不方便,所以我们要修改一下启动方式,使之和rpm包安装的mysql的启动方式相同。

修改

[root@xxx mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldd

#复制启动脚本到/etc/init.d/下并重命名为mysqldd

#/etc/init.d/目录通常用于存放系统服务的启动脚本

[root@xxx mysql]# chkconfig --add mysqldd

#将指定的服务mysqldd添加到系统服务列表

# chkconfig是用于管理系统服务启动和停止的工具

[root@xxx mysql]# service mysqldd restart

#重启源码包的mysql服务检验是否添加成功

创建成功!

注意事项和说明

(注意:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldd和chkconfig --add mysqldd的顺序不能反,只有先将源码包mysql的启动脚本复制到/etc/init.d/目录下,chkconfig工具才能找到并识别mysqldd服务,进而将其添加到系统服务列表中。)

(说明:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldd这里的mysqldd就是启动脚本的脚本名,改成啥都行,别跟系统自带的脚本冲突了就行,都能启动,这里改成mysqldd是因为我这里以前安装过rpm包的mysq,里面已经有一个叫mysql的脚本了,必须区分开,不过你后面的chkconfig --add mysqldd的名字要对应上,就是说你前面写的脚本名叫abc,这里chkconfig --add abc也要改成abc)

11.修改源码客户端的登录方式

原因

由于每次启动都要输入/usr/local/mysql/bin/mysqld_safe --user=mysql & 这么长的命令很不方便,所以我们要修改一下启动方式,使之和rpm包安装的mysql的启动方式相同。

修改

[root@xxx ~]# $PATH        #查看对应的可执行文件所在的目录
-bash: /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:

(随便一个)

[root@xxx ~]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysqldd        #创建软链接

/usr/local/mysql/bin/mysql        #源文件路径

/usr/local/bin/mysqldd        #要创建的符号链接的路径和名称

创建成功!

12.设置开启自启动

[root@xxx /]# chkconfig --add mysqldd

[root@xxx /]# chkconfig mysqldd on

也可以

[root@xxx /]# systemctl restart mysqldd


报错解决:


报错1

解决方法:

一行一行的复制,这个报错是因为命令行中存在不可见的特殊字符,像空格、制表符等,他这个博客文本复制粘贴有问题,粘过来不能调节,一行一行复制就行了。


报错2

解决方法一(跳过授权表修改密码来登录):

[root@xxx ~]# vim /etc/my.cnf        #(添加skip-grant-tables,在启动时跳过权限验证系统)

[mysqld]
socket=/tmp/mysql.sock
skip-grant-tables       
[mysql]
socket=/tmp/mysql.sock

[root@xxx ~]# systemctl restart mysqldd        #重启mysql使配置生效(没有就去配置软链接,就在上面)

MySQL [(none)]> update mysql.user set authentication_string=null where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

#清空 之前root 用户 MySQL 密码信息

MySQL [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

#刷新权限表

MySQL [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '456';
Query OK, 0 rows affected (0.00 sec)

#修改密码

MySQL [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

#再次刷新权限表

MySQL [(none)]> exit
Bye

#退出

[root@xxx ~]# vim /etc/my.cnf        #(删除skip-grant-tables)

[mysqld]
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

[root@xxx ~]# systemctl restart mysqldd        #重启使配置生效

[root@xxx ~]# mysql -uroot -p456        #登录

登录成功!

解决方法二(删库重新初始化登录,一次不行就多试几次):

[root@xxx ~]# killall mysqld        #停止mysql进程(一次杀不死多杀几次,这个mysql的进程挺难杀的,直到显示没有这个进程)

[root@xxx ~]# rm -rf /usr/local/mysql/data/*        #删库

[root@xxx /]# cd /usr/local/mysql/        #切换到/usr/local/mysql/目录下
[root@xxx mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data        #初始化

(报错就一行一行的复制)

初始化时 数据目录data必须为空目录,记得把密码给复制下来。

然后后面再登录就行了


报错3

CMake Error at cmake/boost.cmake:81 (MESSAGE):

You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=

This CMake script will look for boost in . If it is not there,

it will download and unpack it (in that directory) for you.

If you are inside a firewall, you may need to use an http proxy:

export http_proxy=Example Domain

解决方法:

删除缓存文件

[root@localhost mysql-5.7.18]# rm -rf CMakeCache.txt

boost 版本过低

1.在/usr/local下创建一个名为boost的文件夹

mkdir -p /usr/local/boost

2.进入这个新创建的文件夹然后下载boost

wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

3.解压

tar -xvzf boost_1_59_0.tar.gz

4.继续cmake,添加上红色部分

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost


报错4

CMake Error at cmake/readline.cmake:64 (MESSAGE):

Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

cmake/readline.cmake:107 (FIND_CURSES)

cmake/readline.cmake:197 (MYSQL_USE_BUNDLED_EDITLINE)

CMakeLists.txt:488 (MYSQL_CHECK_EDITLINE)

-- Configuring incomplete, errors occurred!

解决方法:

yum install ncurses-devel

[root@localhost [root@localhost mysql-5.7.18]# rm -rf CMakeCache.txt

[root@localhost mysql-5.7.18]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost


报错5

解决方法:

yum install gcc gcc-c++


报错6

Cannot find appropriate system libraries for WITH_SSL=system.

Make sure you have specified a supported SSL version.

Valid options are :

system (use the OS openssl library),

yes (synonym for system),

解决方法:

yum install openssl-devel


报错7

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

情况1: socket文件没有在 /var/lib/mysql/mysql.sock

情况2: mysqld服务未启动

解决:

1.查看mysld服务端口 netstat -anplt | grep :3306

a.没端口服务未启动

b.有端口,文件位置不正确

cat /etc/my.cnf

socket=/var/lib/mysql/mysql.sock

mysql配置文件

[root@mail ~]# vim /etc/my.cnf

[mysqld]

socket=/var/lib/mysql/mysql.sock

[mysql]

socket=/var/lib/mysql/mysql.sock

user=root

password=123


安装方式二:(自己编译安装)

1.添加一块10G的硬盘,给root逻辑卷扩容

硬盘添加

扩容

(如果感觉自己的硬盘空间充足可以不用扩容)

[root@xxx ~]# pvcreate /dev/sdj        #创建物理卷

[root@xxx ~]# vgextend centos /dev/sdj        #扩容卷组

[root@xxx ~]# lvextend -l +100%FREE /dev/centos/root        #扩容逻辑卷

[root@xxx ~]# xfs_growfs /        #扩容文件系统

2.下载mysql


下载方式1

阿里镜像/官网下载:

(官网太慢了,我这里用的阿里的镜像站)

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

mysql-MySQL-5.7安装包下载_开源镜像站-阿里云

[root@xxx /]# wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.38.tar.gz

下载成功!


下载方式2

网盘:

通过网盘分享的文件:mysql-5.7.38.tar.gz
链接: https://pan.baidu.com/s/1MvdMR0GHTQufvD_NjkZL_w?pwd=ity7 提取码: ity7


下载方式3

夸克:

我用夸克网盘分享了「mysql-5.7.38.tar.gz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/4235e8494137


3.下载boost C++ 开源库集合


下载方式1

网盘:

通过网盘分享的文件:boost_1_59_0.tar.gz
链接: https://pan.baidu.com/s/1VivJhxdPuGLmD3ah770S3w?pwd=yg7u 提取码: yg7u


下载方式2

夸克:

我用夸克网盘分享了「boost_1_59_0.tar.gz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。链接:https://pan.quark.cn/s/108b3f664e3b


4.创建mysql用户

[root@xxx /]# id mysql        #查看mysql用户,没有的创建一个
uid=27(mysql) gid=27(mysql) 组=27(mysql)

[root@xxx /]# useradd -u 27 -d /var/lib/mysql -s /bin/false mysql        #创建mysql用户

5.编译安装

安装前要有这两个

[root@xxx /]# tar -xvf /mysql-5.7.38.tar.gz -C /usr/local/src/        #解压到/usr/local/src/目录下

[root@xxx /]# tar -xvf /boost_1_59_0.tar.gz -C /usr/local/        #解压到/usr/local/目录下

[root@xxx /]# mv /usr/local/boost_1_59_0/ /usr/local/boost/        #重命名

[root@xxx ~]# yum install cmake        #安装编译工具

[root@xxx ~]# yum install gcc gcc-c++        #安装gcc与gcc-c++编译器

[root@xxx ~]# yum install openssl-devel        #安装openssl-devel

[root@xxx ~]# yum install ncurses-devel         #安装ncurses-devel包

[root@xxx ~]# cd /usr/local/src/mysql-5.7.38/        #切换到mysql-5.7.38目录下

[root@xxx mysql-5.7.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost       

#配置编译参数(他这个博客的文本复制过来调节不了了,一行一行的复制哈,兄弟们,这个一整个全复制,可能会有问题,可能是带上空格了,但一行一行的复制绝对没问题)

参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 安装路径

-DMYSQL_DATADIR=/usr/local/mysql/data 数据目录

-DSYSCONFDIR=/etc -DWITH_READLINE=1 支持readline

-DMYSQL_TCP_PORT=3306 端口

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock socket文件位置

-DENABLED_LOCAL_INFILE=1 local_infile服务器变量指示能否使用load data local infile命令

-DEXTRA_CHARSETS=all 支持所有字符集

-DDEFAULT_CHARSET=utf8 支持utf-8

-DDEFAULT_COLLATION=utf8_general_ci 支持utf-8通用字符集

-DDOWNLOAD_BOOST=1 启动文件

-DWITH_BOOST=/usr/local/boost 启动文件位置

[root@xxx mysql-5.7.38]# make        #编译(编译时间较长,需要耐心等待)

[root@xxx mysql-5.7.38]# make install        #安装

6.创建数据目录

[root@xxx /]# mkdir /usr/local/mysql/data        #创建数据目录

7.修改权限

[root@xxx mysql]# chown -R mysql.mysql /usr/local/mysql/        #修改权限
[root@xxx mysql]# ls -l /usr/local/mysql/

8.创建与编写配置文件

[root@xxx /]# mv /etc/my.cnf /etc/my.cnf.bak        #不使用rpm产生的配置文件(如果之前安装过rpm包的mysql就会产生,这个会影响源码包mysql的启动)

[root@xxx /]# touch /etc/my.cnf        #创建一个配置文件
[root@xxx /]# vim /etc/my.cnf        #编写配置文件

[mysqld]
socket=/tmp/mysql.sock

[mysql]
socket=/tmp/mysql.sock

 9.初始化

[root@xxx /]# cd /usr/local/mysql/        #切换到/usr/local/mysql/目录下
[root@xxx mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data        #初始化

(报错就一行一行的复制)

初始化时 数据目录data必须为空目录,记得把密码给复制下来。

10.启动登录mysql

[root@xxx /]# /usr/local/mysql/bin/mysqld_safe --user=mysql &        #启动mysql

[root@xxx mysql]# netstat -anplt | grep :3306        #检查端口

[root@xxx mysql]# ps -aux | grep mysql        #检查进程

可以查看到mysql的端口与进程,成功启动源码包的mysql服务端!

[root@xxx mysql]# /usr/local/mysql/bin/mysql -uroot -p"BfyZaGad=5hZ"        #登录

启动成功!

11.修改密码

mysql> set password=password('123');

修改成功!

12.修改源码mysql服务端的启动方式

原因

由于每次启动都要输入/usr/local/mysql/bin/mysqld_safe --user=mysql & 这么长的命令很不方便,所以我们要修改一下启动方式,使之和rpm包安装的mysql的启动方式相同。

修改

[root@xxx mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldd

#复制启动脚本到/etc/init.d/下并重命名为mysqldd

#/etc/init.d/目录通常用于存放系统服务的启动脚本

[root@xxx mysql]# chkconfig --add mysqldd

#将指定的服务mysqldd添加到系统服务列表

# chkconfig是用于管理系统服务启动和停止的工具

[root@xxx mysql]# service mysqldd restart

#重启源码包的mysql服务检验是否添加成功

创建成功!


注意事项和说明

(注意:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldd和chkconfig --add mysqldd的顺序不能反,只有先将源码包mysql的启动脚本复制到/etc/init.d/目录下,chkconfig工具才能找到并识别mysqldd服务,进而将其添加到系统服务列表中。)

(说明:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldd这里的mysqldd就是启动脚本的脚本名,改成啥都行,别跟系统自带的脚本冲突了就行,都能启动,这里改成mysqldd是因为我这里以前安装过rpm包的mysq,里面已经有一个叫mysql的脚本了,必须区分开,不过你后面的chkconfig --add mysqldd的名字要对应上,就是说你前面写的脚本名叫abc,这里chkconfig --add abc也要改成abc)


13.修改源码客户端的登录方式

原因

由于每次启动都要输入/usr/local/mysql/bin/mysqld_safe --user=mysql & 这么长的命令很不方便,所以我们要修改一下启动方式,使之和rpm包安装的mysql的启动方式相同。

修改

[root@xxx ~]# $PATH        #查看对应的可执行文件所在的目录
-bash: /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:

(随便一个)

[root@xxx ~]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysqldd        #创建软链接

/usr/local/mysql/bin/mysql        #源文件路径

/usr/local/bin/mysqldd        #要创建的符号链接的路径和名称

创建成功!

14.设置开机自启动

[root@xxx /]# chkconfig --add mysqldd

[root@xxx /]# chkconfig mysqldd on

也可以

[root@xxx /]# systemctl restart mysqldd


报错解决


报错1

一行一行的复制,这个报错是因为命令行中存在不可见的特殊字符,像空格、制表符等,他这个博客文本复制粘贴有问题,粘过来不能调节,一行一行复制就行了。


报错2

方法一(跳过授权表修改密码来登录):

[root@xxx ~]# vim /etc/my.cnf        #(添加skip-grant-tables,在启动时跳过权限验证系统)

[mysqld]
socket=/tmp/mysql.sock
skip-grant-tables       
[mysql]
socket=/tmp/mysql.sock

[root@xxx ~]# systemctl restart mysqldd        #重启mysql使配置生效(没有就去配置软链接,就在上面)

MySQL [(none)]> update mysql.user set authentication_string=null where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

#清空 之前root 用户 MySQL 密码信息

MySQL [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

#刷新权限表

MySQL [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '456';
Query OK, 0 rows affected (0.00 sec)

#修改密码

MySQL [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

#再次刷新权限表

MySQL [(none)]> exit
Bye

#退出

[root@xxx ~]# vim /etc/my.cnf        #(删除skip-grant-tables)

[mysqld]
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

[root@xxx ~]# systemctl restart mysqldd        #重启使配置生效

[root@xxx ~]# mysql -uroot -p456        #登录

登录成功!

方法二(删库重新初始化登录,一次不行就多试几次):

[root@xxx ~]# killall mysqld        #停止mysql进程(一次杀不死多杀几次,这个mysql的进程挺难杀的,直到显示没有这个进程)

[root@xxx ~]# rm -rf /usr/local/mysql/data/*        #删库

[root@xxx /]# cd /usr/local/mysql/        #切换到/usr/local/mysql/目录下
[root@xxx mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data        #初始化

(报错就一行一行的复制)

初始化时 数据目录data必须为空目录,记得把密码给复制下来。

然后后面再登录就行了


感谢支持!

相关文章:

mysql的源码包安装

安装方式一:(编译好的直接安装) 1.添加一块10G的硬盘,给root逻辑卷扩容 (下面安装方式二有,一模一样的装就行,我就不写了,再写的话篇幅就太长了) 2.下载编译好的源码包…...

《论面向对象的建模及应用》审题技巧 - 系统架构设计师

论面向对象的建模及应用写作框架 一、考点概述 本论题“论面向对象的建模及应用”主要考察软件测试工程师对面向对象建模技术的理解和应用能力。具体涵盖以下几个方面: 面向对象建模的基本概念 :这包括理解面向对象编程(OOP)的基…...

#渗透测试#批量漏洞挖掘#畅捷通T+远程命令执行漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、漏洞概况 二、攻击特征 三、应急处置…...

Sky Hackathon 清水湾的水 AI美食助手

这里写自定义目录标题 视频 视频 video...

【2024 CSDN博客之星】大学四年,我如何在CSDN实现学业与事业的“双逆袭”?

前言: Hello大家好,我是Dream。不知不觉2024年已经过去,自己也马上迈入23岁,感慨时间飞快,从19岁刚入大学加入CSDN,到现在大学毕业已经整整四年了。CSDN陪伴我走过了最青涩的四年大学时光,在这里…...

《AI赋能星际探索:机器人如何开启宇宙新征程!》

在人类对宇宙无尽的探索中,空间探索任务始终充满挑战。从遥远星球的探测,到空间站的维护,每一项任务都需要高精度、高可靠性的操作。人工智能(AI)的迅猛发展,为空间探索机器人带来了革命性的变革&#xff0…...

06排序 + 查找(D1_排序(D1_基础学习))

目录 学习预热:基础知识 一、什么是排序 二、为什么要排序 三、排序的稳定性 四、排序稳定性的意义 五、排序分类方式 方式一:内外分类 方式二:比较分类 六、排序算法性能评估 1. 算法的时间复杂度 2. 算法的空间复杂度 七、知识小…...

【数据挖掘】深度挖掘

【数据挖掘】深度挖掘 目录:1. 减少样本集的数量知识点示例 2. 对噪声比集剪枝知识点示例建立局部树代码示例(使用 Python 和 scikit - learn 库构建局部决策树)代码解释注意事项 最大超平面定义原理求解方法代码示例(使用 Python…...

【Linux】基于UDP/TCP套接字编程与守护进程

目录 一、网路套接字编程 (一)基础概念 1、源IP地址与目的IP地址 2、端口号 3、TCP与UDP 4、网络字节序 (二)套接字编程接口 1、socket 常见API 2、sockaddr结构 (三)UDP套接字 1、UDP服务器创建…...

C++跳表实现,封装成Skiplist类

跳表 (Skip List) 是由 William Pugh 发明的一种查找数据结构,支持对数据的快速查找,插入和删除。 跳表的期望空间复杂度为O(n) ,跳表的查询,插入和删除操作的期望时间复杂度都为O(logn)。 算法讲解149【扩展】有序表专题2-跳表_哔…...

探索与Cursor协作创建一个完整的前后端分离的项目的最佳实践

探索与Cursor协作创建一个完整的前后端分离的项目的最佳实践 Cursor简介 Cursor在目前代表了AI编程技术的顶峰。在一定程度上可以说是当今AI时代的最强生产力代表。为此,不惜重金开了年费会员来紧跟时代步伐。当然cline、roo code、trae等开源或者免费产品也在紧追不舍。 C…...

【uni-app】对齐胶囊容器组件

代码碎片 <template><div><view :style"{ height: ${statusBarHeight}px }"></view><viewclass"":style"{height: ${menuButtonHeight menuButtonPadding * 2}px,width: ${menuButtonInfo.left}px,}"><slot …...

podman加速器配置,harbor镜像仓库部署

Docker加速器 registries加速器 [rootlocalhost ~]# cat /etc/redhat-release CentOS Stream release 8 [rootlocalhost ~]# cd /etc/containers/ [rootlocalhost containers]# ls certs.d policy.json registries.conf.d storage.conf oci registries.conf re…...

计算机毕业设计SpringBoot+Vue.jst0甘肃非物质文化网站(源码+LW文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

使用Python脚本转换YOLOv5配置文件到https://github.com/ultralytics/ultralytics:一个详细的指南

在深度学习领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;系列模型因其高效和准确性而广受欢迎。然而&#xff0c;随着项目需求的变化&#xff0c;有时我们需要对预训练模型的配置文件进行调整。本文将详细介绍如何使用Python脚本自动转换YOLOv5的配置文件到…...

简识Kafka集群与RocketMQ集群的核心区别

前记&#xff1a;各位潘安、各位子健/各位彦祖、于晏&#xff0c;文字较多&#xff0c;优先看目录。 Kafka集群与RocketMQ集群的核心区别及架构图例说明 一、核心区别对比 特性Kafka 集群RocketMQ 集群设计目标高吞吐量实时日志流系统&#xff08;如日志收集、大数据流水线&a…...

制造行业CRM选哪家?中大型企业CRM选型方案

在当今竞争激烈的制造行业中&#xff0c;企业对于客户关系管理&#xff08;CRM&#xff09;系统的需求日益增强&#xff0c;高效、智能的CRM系统已成为推动企业业务增长、优化客户体验的关键。在制造业 CRM 市场中&#xff0c;纷享销客和销售易都备受关注&#xff0c;且各自有着…...

R 语言科研绘图 --- 散点图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

从零开始的网站搭建(以照片/文本/视频信息通信网站为例)

本文面向已经有一些编程基础&#xff08;会至少一门编程语言&#xff0c;比如python&#xff09;&#xff0c;但是没有搭建过web应用的人群&#xff0c;会写得尽量细致。重点介绍流程和部署云端的步骤&#xff0c;具体javascript代码怎么写之类的&#xff0c;这里不会涉及。 搭…...

收到线上服务器出现cpu告警一般怎么排查?

当线上服务器出现CPU告警时&#xff0c;可以按照以下步骤进行系统性排查&#xff0c;逐步定位问题根源&#xff1a; 1. 快速确认CPU使用情况 命令工具&#xff1a;top # 实时查看CPU占用&#xff08;按P排序进程&#xff09; htop …...

Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持

作者&#xff1a;Hemant Malik 及 Joan Fontanals Martnez 探索如何使用 Elasticsearch Open Inference API 访问 Jina AI 模型。 我们在 Jina AI 的朋友们将 Jina AI 的嵌入模型和重新排名产品的原生集成添加到 Elasticsearch 开放推理 API 中。这包括对行业领先的多语言文本嵌…...

Docker下的Elastic search

一、安装 &#xff08;一&#xff09;Elastic search 1.创建配置文件 &#xff1a;我是在win系统中&#xff0c;创建文件【G:\dockermount\es\elasticsearch.yml】 添加【http.host: 0.0.0.0】 2. 拉取镜像&#xff1a;docker pull elasticsearch 3. 创建容器(注意我挂载的…...

Unity学习part4

1、ui界面的基础使用 ui可以在2d和矩形工具界面下操作&#xff0c;更方便&#xff0c;画布与游戏窗口的比例一般默认相同 如图所示&#xff0c;图片在画布上显示的位置和在游戏窗口上显示的位置是相同的 渲染模式&#xff1a;屏幕空间--覆盖&#xff0c;指画布覆盖在游戏物体渲…...

Java笔记18

2-10-3Cookie&Session 1.会话跟踪技术概述 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次…...

进程概念、PCB及进程查看

文章目录 一.进程的概念进程控制块&#xff08;PCB&#xff09; 二.进程查看通过指令查看进程通过proc目录查看进程的cwd和exe获取进程pid和ppid通过fork()创建子进程 一.进程的概念 进程是一个运行起来的程序&#xff0c;而程序是存放在磁盘的&#xff0c;cpu要想执行程序的指…...

php session数据存储位置选择

PHP session 数据的存储位置可以通过配置文件或者代码来进行设置。默认情况下&#xff0c;session 数据是存储在服务器的文件系统中的。你可以将 session 数据存储在其他地方&#xff0c;例如数据库、缓存等。 基础概念 PHP session默认情况下将数据存储在服务器端的临时文件中…...

计算机网络————(一)HTTP讲解

基础内容分类 从TCP/IP协议栈为依托&#xff0c;由上至下、从应用层到基础设施介绍协议。 1.应用层&#xff1a; HTTP/1.1 Websocket HTTP/2.0 2.应用层的安全基础设施 LTS/SSL 3.传输层 TCP 4.网络层及数据链路层 IP层和以太网 HTTP协议 网络页面形成基本 流程&#xff1a…...

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…...

数据结构之二叉树的定义及实现

1. 树的概念 主要的定义&#xff1a; 节点的度&#xff1a;一个节点含有的子树的个数称为该节点的度&#xff1b;如上图&#xff1a;A的为6 叶节点或终端节点&#xff1a;度为0的节点称为叶节点&#xff1b;如上图&#xff1a;B&#xff0c;C&#xff0c;H&#xff0c;I等节点…...

Rust语言基础知识详解【一】

1.在windows上安装Rust Windows 上安装 Rust 需要有 C 环境&#xff0c;以下为安装的两种方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推荐&#xff09; 先安装 Microsoft C Build Tools&#xff0c;勾选安装 C 环境即可。安装时可自行修改缓存路径与安装路…...