Linux下MySQL的安装部署

news2024/11/24 11:42:32

MySQL数据库存在多种版本,不同的版本在不同的平台上(OS,也就是操作系统上)安装方式可能有所不同,因此安装时一定要参数官方文档进行安装。 MySQL :: MySQL Documentation

选择需要的MySQL官方提供的不同版本,点击后在选择MySQL对应版本的,就可以找到安装教程,如意MySQL5.7为例:https://dev.mysql.com/doc/refman/5.7/en/installing.html

可以选择平台对应的安装方式。

1.RPM安装

(1)离线安装

<1>下载RPM安装包

[root@node4 ~]# wget -c https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

[root@node4 ~]# ll mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

-rw-r--r--. 1 root root 570583040 Jun 22 21:31 mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

<2>解压

[root@node4 ~]# mkdir mysql

[root@node4 ~]# tar xvf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar -C mysql

[root@node4 ~]# cd mysql/

[root@node4 mysql]# ll

total 557208

-rw-r--r--. 1 7155 31415  32652444 Jun 22 21:27 mysql-community-client-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415    320780 Jun 22 21:27 mysql-community-common-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415   4969828 Jun 22 21:27 mysql-community-devel-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415  48586584 Jun 22 21:27 mysql-community-embedded-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415  23314208 Jun 22 21:27 mysql-community-embedded-compat-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415 134413980 Jun 22 21:27 mysql-community-embedded-devel-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415   3091092 Jun 22 21:27 mysql-community-libs-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415   1266220 Jun 22 21:27 mysql-community-libs-compat-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415 193030448 Jun 22 21:28 mysql-community-server-5.7.43-1.el7.x86_64.rpm

-rw-r--r--. 1 7155 31415 128921364 Jun 22 21:28 mysql-community-test-5.7.43-1.el7.x86_64.rpm

解释:

这些包是针对 CentOS 7 操作系统的 MySQL 社区版软件包。以下是每个软件包的简要解释:

mysql-community-client: MySQL 客户端,提供与 MySQL 服务器进行交互的工具和客户端库。

mysql-community-common: MySQL 服务器和客户端共享的一些通用文件。

mysql-community-devel: MySQL 开发库,包含用于开发 MySQL 应用程序所需的头文件和开发库文件。

mysql-community-embedded: 嵌入式 MySQL 服务器,可以将 MySQL 作为一个库嵌入到其他应用程序中。

mysql-community-embedded-compat: MySQL 之前版本的共享兼容库,用于与旧版 MySQL 兼容。

mysql-community-embedded-devel: 嵌入式 MySQL 的开发库,用于开发嵌入式 MySQL 应用程序。

mysql-community-libs: MySQL 的共享库,包含实现 MySQL 库的运行时库。

mysql-community-libs-compat: MySQL 之前版本的共享兼容库,用于与旧版 MySQL 兼容。

mysql-community-server: MySQL 服务器,用于托管和管理 MySQL 数据库。

mysql-community-test: MySQL 测试组件,包含用于测试 MySQL 功能和性能的工具和示例。

 

<3>Installing MySQL

[root@node4 mysql]# rpm -ivh mysql*

warning: mysql-community-client-5.7.43-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY

error: Failed dependencies:

        mariadb-libs is obsoleted by mysql-community-libs-5.7.43-1.el7.x86_64

        mariadb-libs is obsoleted by mysql-community-libs-compat-5.7.43-1.el7.x86_64

        perl(JSON) is needed by mysql-community-test-5.7.43-1.el7.x86_64

这里安装时和mariadb冲突了,需要把这些包卸载了

[root@node4 mysql]# yum install -y mysql*   #这里为了放便就用yum全安了

(2).在线安装

配置一个yum源

<1> Adding the MySQL Yum Repository

[root@node3 ~]# yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm -y

[root@node3 yum.repos.d]# ll | grep mysql-community

-rw-r--r--. 1 root root 1627 Apr  5  2017 mysql-community.repo

-rw-r--r--. 1 root root 1663 Apr  5  2017 mysql-community-source.repo

[root@node3 yum.repos.d]# yum repolist enabled | grep "mysql.*-community.*"  #开启的安装包

mysql-connectors-community/x86_64 MySQL Connectors Community                 234

mysql-tools-community/x86_64      MySQL Tools Community                      102

mysql57-community/x86_64          MySQL 5.7 Community Server                 696

 

配置的5.7版本的源也有其他版本的,实际用的还是5.7,其他的要启用

<2>Installing MySQL

[root@node3 ~]# yum install mysql-community-server.x86_64 

2.docker容器安装--临时或测试

CentOS 7的docker版本太低,这里再阿里镜像里下载

docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站 (aliyun.com)

 

CentOS 7(使用 yum 进行安装)

1.step 1: 安装必要的一些系统工具

[root@node3 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

2. Step 2: 添加软件源信息

[root@node3 ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. Step 3

[root@node3 ~]# sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

4. Step 4: 更新并安装Docker-CE

[root@node3 ~]# yum makecache fast

[root@node3 ~]# yum -y install docker-ce

5. Step 5: 开启Docker服务

[root@node3 ~]# service docker start

配置镜像加速器

https://lfhqfxbn.mirror.aliyuncs.com

配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

[root@node3 ~]# mkdir -p /etc/docker

[root@node3 ~]# sudo tee /etc/docker/daemon.json <<-'EOF'

> {

>   "registry-mirrors": ["https://lfhqfxbn.mirror.aliyuncs.com"]

> }

> EOF

{

  "registry-mirrors": ["https://lfhqfxbn.mirror.aliyuncs.com"]

}

[root@node3 ~]# systemctl daemon-reload

[root@node3 ~]# systemctl restart docker

安装MySQL

[root@node3 ~]# docker pull mysql:5.7   #拉取mysql5.7的镜像

[root@node3 ~]# docker run --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

3a4c209590f41ae4d061e7c2829face670ceb0a29985c1f2c9bd9278cdf209cf

建了一个名为 mysqltest 的 MySQL 容器,并在容器中运行 MySQL 5.7 版本的镜像。-e 参数用于设置 MySQL root 用户的密码为 123456。

-d 参数表示以后台方式运行容器。命令返回的输出 3a4c209590f41ae4d061e7c2829face670ceb0a29985c1f2c9bd9278cdf209cf 是容器的唯一标识符,也就是容器 ID。

[root@node3 ~]# docker ps   #列出当前正在运行的 Docker 容器

CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                 NAMES

3a4c209590f4   mysql:5.7   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp   mysqltest

[root@node3 ~]# docker images   #列出本地已安装的 Docker 镜像

REPOSITORY   TAG       IMAGE ID       CREATED         SIZE

mysql        5.7       c20987f18b13   24 months ago   448MB

[root@node3 ~]# docker exec -it mysqltest bash   #这个命令将进入名为 mysqltest 的容器的交互式终端。

root@3a4c209590f4:/# mysql -uroot -p123456

mysql>

3.源码安装

参考官方文档

MySQL :: Download MySQL Community Server (Archived Versions)

[root@node3 ~]# yum install -y gcc gcc-c++ ncurses ncurses-devel openssl-devel make cmake   #安装相关依赖

[root@node3 ~]# wget -c https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.43.tar.gz

[root@node3 ~]# tar -xvf mysql-boost-5.7.43.tar.gz -C /usr/local/src/

[root@node3 ~]# mkdir -p /data/mysql

[root@node3 mysql-5.7.43]# mkdir builer  #新建目录,存放编译产生的中间文件。因为不允许在源码目录下进行编译

[root@node3 mysql-5.7.43]# cd builer/

[root@node3 builer]# cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost

[root@node3 builer]# make && make install

 

cmake命令所使用的参数说明:

  • -DCMAKE_INSTALL_PREFIX=/usr/local/mysql:MySQL安装的根目录
  • -DMYSQL_DATADIR=/data/mysql:数据文件所存放的目录
  • -DSYSCONFDIR=/etc :MySQL配置文件所在目录
  • -DMYSQL_USER=mysql:MySQL服务的用户名
  • -DWITH_MYISAM_STORAGE_ENGINE=1:安装MyISAM引擎
  • -DWITH_INNOBASE_STORAGE_ENGINE=1:安装InnoDB引擎
  • -DWITH_ARCHIVE_STORAGE_ENGINE=1:安装Archive引擎
  • -DWITH_MEMORY_STORAGE_ENGINE=1:安装Memory引擎
  • -DWITH_FEDERATED_STORAGE_ENGINE=1:安装Federated引擎
  • -DWITH_PARTITION_STORAGE_ENGINE=1:安装Partition引擎
  • -DWITH_READLINE=1:MySQL的readline library
  • -DMYSQL_UNIX_ADDR=/tmp/mysql.sock:sock文件的路径
  • -DMYSQL_TCP_PORT=3306 :MySQL的监听端口
  • -DENABLED_LOCAL_INFILE=1:启用加载本地数据
  • -DENABLE_DOWNLOADS=1:编译时允许自主下载相关文件
  • -DEXTRA_CHARSETS=all :使MySQL支持所有的扩展字符
  • -DDEFAULT_CHARSET=utf8mb4:设置默认字符集为utf8mb4
    -DDEFAULT_COLLATION=utf8mb4_general_ci:设置默认字符校对
  • -DWITH_DEBUG=0:禁用调试模式
  • -DMYSQL_MAINTAINER_MODE=0:是否启用mysql维护器特定的开发环境
  • -DDOWNLOAD_BOOST=1:允许在线更新boost库
  • -DWITH_BOOST=…/boost:指定boost安装路径

 

编译安装完成后,创建mysql用户及更改相应目录的属主

[root@node3 mysql-5.7.43]# groupadd mysql

[root@node3 mysql-5.7.43]# useradd -M -g mysql -s /sbin/nologin mysql

[root@node3 builer]# chown -R mysql:mysql /usr/local/mysql/  #将 /usr/local/mysql/ 目录下的所有文件和文件夹的所有者改为 mysql 用户,所属组也改为 mysql 组。

[root@node3 builer]# chown -R mysql:mysql /data/mysql/  #将 /data/mysql/ 目录下的所有文件和文件夹的所有者改为 mysql 用户,所属组也改为 mysql 组。

 

编辑配置文件

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

[mysqld]

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/tmp/mysql.sock

 

[mysqld_safe]

log-error=/var/log/mysqld/mysqld.log

pid-file=/var/run/mysqld/mysql.pid

 

创建日志文件存放的目录和pid文件存放的目录,并赋权给mysql用户

[root@node3 builer]# mkdir -p /var/log/mysqld /var/run/mysqld

[root@node3 builer]# chown -R mysql:mysql /var/log/mysqld

[root@node3 builer]# chown -R mysql:mysql /var/run/mysqld

 

配置环境变量,方便使用MySQL的命令

[root@node3 builer]# vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

[root@node3 builer]# source /etc/profile

[root@node3 builer]# mysql --version   #查看版本,检验是否安装成功

mysql  Ver 14.14 Distrib 5.7.43, for Linux (x86_64) using  EditLine wrapper

 

初始化数据库

[root@node3 builer]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql

初始化成功后会生成root账户的默认密码。

将该密码复制并保存,因为后面需要使用该密码登录到MySQL中修改密码。

 

MySQL生成的启动文件复制到/usr/lib/systemd/system/目录下

[root@node3 builer]# cp /usr/local/src/mysql-5.7.43/builer/scripts/mysqld.service /usr/lib/systemd/system/

[root@node3 builer]# chown 775 /usr/lib/systemd/system/mysqld.service

 

4.密码恢复

[root@node3 builer]# vim /etc/my.cnf

skip-grant-tables

加上这一行(跳过授权表)  最后修改完了之后再删掉

[root@node3 builer]# systemctl start mysqld.service

[root@node3 builer]# mysql -uroot -p  #可以无密码登录

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456K=x=y';  #修改密码

 

5.安装完成后的部署

不管怎么安装的最后都要启动

[root@node4 mysql]# systemctl start mysqld.service     #启动

[root@node4 mysql]# systemctl enable mysqld.service --now   #开机自启

查看默认密码

node4为例子其他都一样无论怎么安装的。 注意:docker和源码安装可以设置简单密码

[root@node4 mysql]# awk '/temporary password/ {print $NF}' /var/log/mysqld.log

<rQlL*V?T5yO

[root@node4 mysql]# mysql -uroot -p'<rQlL*V?T5yO'   #使用默认密码登录

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.   #这里必须修改密码才可以使用mysql

mysql> alter user root@localhost identified by '123456';   #密码要符合复杂性要求

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> alter user root@localhost identified by '123456K=x=y'; #有数字大小写和符号

Query OK, 0 rows affected (0.00 sec)

平时练习可以更改密码策略,

mysql> show variables like 'validate_password%';   #查看密码策略

+--------------------------------------+--------+

| Variable_name                        | Value  |

+--------------------------------------+--------+

| validate_password_check_user_name    | OFF    |

| validate_password_dictionary_file    |        |

| validate_password_length             | 8      |

| validate_password_mixed_case_count   | 1      |

| validate_password_number_count       | 1      |

| validate_password_policy             | MEDIUM |

| validate_password_special_char_count | 1      |

+--------------------------------------+--------+

7 rows in set (0.00 sec)

mysql> set global validate_password_policy=LOW;

Query OK, 0 rows affected (0.00 sec)

当前密码长度为8,如果不介意的话就不用修改了,按照最低要求的来讲,设置为 4 位的密码,设置 validate_password_length 的全局参数为 4 即可

mysql> set global validate_password_length=4;

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'validate_password%';

+--------------------------------------+-------+

| Variable_name                        | Value |

+--------------------------------------+-------+

| validate_password_check_user_name    | OFF   |

| validate_password_dictionary_file    |       |

| validate_password_length             | 4     |

| validate_password_mixed_case_count   | 1     |

| validate_password_number_count       | 1     |

| validate_password_policy             | LOW   |

| validate_password_special_char_count | 1     |

+--------------------------------------+-------+

7 rows in set (0.00 sec)

mysql> alter user root@localhost identified by 'mysql';  #再次修改密码

Query OK, 0 rows affected (0.00 sec)

mysql> \q   #退出,或者是exit

Bye

[root@node4 mysql]# mysql -uroot -pmysql   #登录即可

6.求助

再二进制安装时,没有my-default.cnf服务器的模板配置文件

只做到了这些

MySQL :: Download MySQL Community Server

1、下载glibc版本的Mysql

mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

这里下载出了问题所以就用SFTP传过来了

2、新建用户以安全方式运行进程

[root@node3 ~]# groupadd -r mysql

[root@node3 ~]# useradd mysql -r -g mysql -c "MYSQL Server" -s /bin/false

3、安装并初始化mysql

[root@node3 ~]# tar xf mysql-5.7.44-linux-glibc2.12-x86_64.tar -C /usr/local/

[root@node3 ~]# tar xf /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

[root@node3 ~]# ll /usr/local/mysql*

-rw-r--r--. 1 7161 31415 694785800 Oct 11 20:11 /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

-rw-r--r--. 1 7161 31415  35456236 Oct 11 20:09 /usr/local/mysql-test-5.7.44-linux-glibc2.12-x86_64.tar.gz

[root@node3 local]# ln -sv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql   #创建软连接,方便以后升级

‘mysql’ -> ‘mysql-5.7.44-linux-glibc2.12-x86_64/’

[root@node3 ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

2023-12-16T16:29:35.621700Z 1 [Note] A temporary password is generated for root@localhost: lm2fSl=GZ.sG   #初始化会生成临时密码

就是这里没有my-default.cnf,不知道什么原因,求助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1316818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【谭浩强C语言】导言-C知识点汇总

一、初衷 C语言基本是各大院校工科必修课&#xff0c;C语言也是单片机、嵌入式系统的基础开发语言&#xff0c;很多老师们都各显神通的把C语言精讲地很到位&#xff0c;咱们CSDN的技能树也提供了很棒的学习平台。那么&#xff0c;为什么还是打算开个专栏再整理整理呢&#xff…

Kubernetes实战(十四)-k8s高可用集群扩容master节点

1 单master集群和多master节点集群方案 1.1 单Master集群 k8s 集群是由一组运行 k8s 的节点组成的&#xff0c;节点可以是物理机、虚拟机或者云服务器。k8s 集群中的节点分为两种角色&#xff1a;master 和 node。 master 节点&#xff1a;master 节点负责控制和管理整个集群…

对自己的博客网站进行DOS攻击

对自己的博客网站进行DOS攻击 先说明一点,别对别人的网站进行ddos/dos攻击(dos攻击一般短时间攻击不下来),这是违法的,很多都有自动报警机制,本篇博客仅用于学习,请勿用于非法用途 安装kaili Linux 进入KALI官网,下载iso镜像文件 vmware新建虚拟机,选择自定义 点击下一步 …

LeetCode2961双模幂运算(相关话题:快速幂)

题目描述 给你一个下标从 0 开始的二维数组 variables &#xff0c;其中 variables[i] [ai, bi, ci, mi]&#xff0c;以及一个整数 target 。 如果满足以下公式&#xff0c;则下标 i 是 好下标&#xff1a; 返回一个由 好下标 组成的数组&#xff0c;顺序不限 。 示例 &…

《面向机器学习的数据标注规程》摘录

说明&#xff1a;本文使用的标准是2019年的团体标准&#xff0c;最新的国家标准已在2023年发布。 3 术语和定义 3.2 标签 label 标识数据的特征、类别和属性等。 3.4 数据标注员 data labeler 对待标注数据进行整理、纠错、标记和批注等操作的工作人员。 【批注】按照定义…

加权准确率WA,未加权平均召回率UAR和未加权UF1

加权准确率WA&#xff0c;未加权平均召回率UAR和未加权UF1 1.加权准确率WA&#xff0c;未加权平均召回率UAR和未加权UF12.参考链接 1.加权准确率WA&#xff0c;未加权平均召回率UAR和未加权UF1 from sklearn.metrics import classification_report from sklearn.metrics impor…

响应者链概述

响应者链 iOS事件的3大类型 Touch Events(触摸事件)Motion Events(运动事件&#xff0c;比如重力感应和摇一摇等)Remote Events(远程事件&#xff0c;比如用耳机上得按键来控制手机) 触摸事件 处理触摸事件的两个步骤 寻找事件的最佳响应者事件的响应在响应链中的传递 寻…

MAC上配置esp32的开发环境

1、安装Thonny. 2、你需要一块ESP32开发板。MicroPython支持ESP32芯片本身&#xff0c;从而可运行于任何一块搭载ESP32 芯片的开发板上。改板子的主要特征在于GPIO针脚是连接外界的&#xff0c;并且它包含了一个内置的 USB串口转换器&#xff0c;该转换器可以使你的电脑通过UAR…

springboot——定时任务、异步任务

springboot——定时任务、异步任务 一、定时任务1、创建一个定时任务、时间配置文件2、springboot主程序开启定时任务 EnableScheduling3、使用 Scheduled 注解 二、定时任务、异步执行。1、springboot主程序开启异步任务 EnableAsync2、方法上增加 Async 注解&#xff0c;标识…

谷歌浏览器标签页显示内存使用率

Chrome 桌面浏览器的新更新现在可让您查看每个标签页占用了多少内存&#xff0c;这可以帮助您确定哪些标签页占用了多少内存&#xff0c;网站正在减慢您笔记本电脑的速度。 今年早些时候在 Google Chrome 中引入内存节省程序之后&#xff0c;Google 又发布了一项功能&#xff…

深入理解CI/CD与Docker集成:自动化构建和部署的完整指南

在当今软件开发的快节奏环境中&#xff0c;自动化构建和部署是实现敏捷开发和DevOps实践的关键。Docker容器技术为这一过程引入了更高的灵活性和一致性。本文将深入研究如何将持续集成/持续部署&#xff08;CI/CD&#xff09;与Docker集成&#xff0c;提供更详细、实用的示例代…

直接插入排序_希尔排序

文章目录 直接插入排序原理步骤视频演示代码实现特性 希尔排序原理步骤图像演示代码实现希尔排序的分析特性 直接插入排序和希尔排序的比较 直接插入排序 直接插入排序&#xff08;Straight InsertionSort&#xff09;是一种最简单的排序方法&#xff0c;其基本操作是将一条记录…

智能优化算法应用:基于动物迁徙算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于动物迁徙算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于动物迁徙算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.动物迁徙算法4.实验参数设定5.算法结果6.…

MinGW编译Python至pyd踩坑整理

title: MinGW编译Python至pyd踩坑整理 tags: [Python,CC] categories: [开发记录,Python] date: 2023-12-12 13:48:20 description: sidebar: [‘toc’, ‘related’,‘recent’] 注意需要魔法 用scoop自动安装配置MinGw 需要魔法&#xff0c;不需要手动配置mingw scoop in…

FreeRDP WebConnect Url 任意文件读取漏洞复现

0x01 产品简介 FreeRDP-WebConnect 是一个开源HTML5代理&#xff0c;它提供对使用RDP的任何Windows服务器和工作站的Web访问。 0x02 漏洞概述 FreeRDP WebConnect Url 接口处存在任意文件读取漏洞&#xff0c;攻击者可通过该漏洞读取系统重要文件&#xff08;如数据库配置文…

自动驾驶学习笔记(十九)——Planning模块

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 Planning作用 Planning内容 Plannin…

【深度强化学习】DQN, Double DQN, Dueling DQN

DQN 更新方程 Q θ ( s t , a t ) ← Q θ ( s t , a t ) α ( r t γ max ⁡ a ′ Q θ ( s t 1 , a ′ ) − Q θ ( s t , a t ) ) Q_\theta(s_t,a_t) \leftarrow Q_\theta(s_t,a_t) \alpha \left( r_t \gamma \red{\max_{a} Q_\theta(s_{t1},a)} - Q_{\theta}(s_t,a_t…

Cmake基础(4)

这篇文章在上一篇的基础之上应用多文件&#xff0c;即一个项目中添加多个文件 文章目录 GLOBsource_group排除文件 上一篇文章的cmake基本不变&#xff0c;这篇文章的重点在于add_executable(${EXECUTABLE_NAME} main.cpp) GLOB file(GLOB cpp_list ${CMAKE_CURRENT_SOURCE_…

继电器模块的使用(超详细)

继电器模块的工作原理 继电器&#xff08;Relay&#xff09;是一种电控开关&#xff0c;其工作原理基于电磁感应。继电器通常包括一个电磁线圈和一组触点。 以下是继电器模块的基本工作原理&#xff1a; 电磁线圈&#xff1a; 继电器内部包含一个电磁线圈&#xff0c;通常由绕制…

深度学习:混合精度训练

深度学习&#xff1a;混合精度训练 前言混合精度训练核心技术权重备份损失缩放梯度裁剪动态调整学习率 优势与弊端代码示例 参考文献 前言 浮点数据类型主要分为双精度Double&#xff08;FP64&#xff09;、单精度Float&#xff08;FP32&#xff09;和半精度Half&#xff08;F…