MySQL5.7源码编译安装
查看是否安装过mysql软件包
rpm -qa|grep mysql
rpm -qa|grep mariadb
rpm -e --nodeps mysql的软件包名
建立mysql账号
useradd -s /sbin/nologin -M mysql
安装依赖包
yum install -y gcc
yum install -y gcc-c++
yum install -y ncurses
yum install -y bison
yum install -y git
yum install -y make
yum install -y cmake
yum install -y openssl
yum install -y openssl-devel
yum install -y ncurses-devel
yum install -y libtirpc libtirpc-devel
yum install -y libarchive
yum install -y rpcgen
yum install -y rpcgen-devel
解压源码包
tar -zxvf mysql-5.7.43.tar.gz
tar -zxvf mysql-boost-5.7.43.tar.gz
cd mysql-5.7.43
编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BOOST=/home/mysql-5.7.43/boost/boost_1_59_0
注:当带参数-DWITH_SYSTEMD=1时,编译后没有mysqld_safe守护进程
MySQL源码编译常用选项说明
| 源码配置选项 | 描述 |
|---|---|
| CMAKE_INSTALL_PREFIX | 软件安装目录 |
| INSTALL_LAYOUT | 选择预定义的安装布局 |
| MYSQL_DATADIR | 数据目录 |
| DEFAULT_CHARSET | 默认服务器 |
| DEFAULT_COLLATION | 默认服务器排序规则 |
| INSTALL_SECURE_FILE_PRIVDIR | SQL导出目录 |
| ENABLED_LOCAL_INFILE | 是否启用本地方式加载数据 |
| MYSQL_TCP_PORT | TCP/IP端口 |
| SYSCONFDIR | 选项文件 |
| MYSQL_UNIX_ADDR | Unix套接字文件 |
| WITH_SYSTEMD | 启用安装systemd支持文件 |
| SYSTEMD_SERVICE_NAME | systemd下MySQL服务的名称 |
| SYSTEMD_PID_DIR | systemd下PID文件的目录 |
| COMPILATION_COMMENT | 关于编译环境的描述 |
| WITH_BOOST | Boost库源码的位置 |
| WITH_ARCHIVE_STORAGE_ENGINE | 将存储引擎ARCHIVE静态编译至服务器 |
| WITH_BLACKHOLE_STORAGE_ENGINE | 将存储引擎BLACKHOLE静态编译至服务器 |
| WITH_PERFSCHEMA_STORAGE_ENGINE | 将存储引擎PERFSCHEMA静态编译至服务器 |
| WITH_EXAMPLE_STORAGE_ENGINE | 将存储引擎EXAMPLE静态编译至服务器 |
| WITH_FEDERATED_STORAGE_ENGINE | 将存储引擎FEDERATED静态编译至服务器 |
| WITH_PARTITION_STORAGE_ENGINE | 将存储引擎PARTITION静态编译至服务器 |
MySQL源码编译常用选项自定义设置
| 源码配置选项 | 默认值 | 定制值 |
|---|---|---|
| CMAKE_INSTALL_PREFIX | /usr/local/mysql | |
| MYSQL_DATADIR | /data | |
| DEFAULT_CHARSET | latin1 | utf8mb4 |
| DEFAULT_COLLATION | latin2_swedish_ci | utf8mb4_general_ci |
| INSTALL_SECURE_FILE_PRIVDIR | platform specific | /mysql/product/mysql-files |
| ENABLED_LOCAL_INFILE | OFF | ON |
| MYSQL_TCP_PORT | 3305 | |
| SYSCONFDIR | /etc | |
| MYSQL_UNIX_ADDR | /tmp/mysql.sock | |
| WITH_BOOST | /boost_1_59_0 | |
| WITH_ARCHIVE_STORAGE_ENGINE | 1 | |
| WITH_BLACKHOLE_STORAGE | 1 | |
| WITH_PERFSCHEMA_STORAGE_ENGINE | 1 | |
| WITH_EXAMPLE_STORAGE_ENGINE | 1 | |
| WITH_FEDERATED_STORAGE_ENGINE | 1 | |
| WITH_PARTITION_STORAGE_ENGINE | 1 |
创建路径
mkdir /data
mkdir /usr/local/mysql/data
安装
make -j 4 && make install
配置my.cnf
[mysqld]
# 设置端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库数据存放路径
datadir=/data
# 允许最大连接数
max_connections=200
# 服务端默认字符集
character-set-server=utf8mb4
# 默认排序规则
collation-server=utf8mb4_general_ci
# 默认存储引擎
default-storage-engine=INNODB# 开启二进制日志
log-bin=mysql-bin
# 服务器ID
server-id=1
# 跳过所有复制错误
slave-skip-errors=all
赋权
chown mysql:mysql -R /data
chown mysql:mysql -R /usr/local/mysql
初始化
cd /usr/local/mysql
./bin/mysqld --initialize --user-mysqlcp ./support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
重置密码
mysql> set PASSWORD=PASSWORD('密码');
mysql> flush privileges;
相关文章:
MySQL5.7源码编译安装
查看是否安装过mysql软件包 rpm -qa|grep mysql rpm -qa|grep mariadb rpm -e --nodeps mysql的软件包名建立mysql账号 useradd -s /sbin/nologin -M mysql安装依赖包 yum install -y gcc yum install -y gcc-c yum install -y ncurses yum install -y bison yum install -y…...
uniapp使用v-for页面不刷新解决办法
项目场景: 做一个项目,v-for循环数据库数据,使用uni-load-more,结果发现... DOM中的列表却没有更新 解决方案: 根据网上教程,加了一个触底函数onReachBottom,结果发现无论如何也更新不了DOM中…...
发布一款将APM日志转换为Excel的开源工具
这几年有不少朋友向我咨询如何将APM日志转换为Excel,我之前的答复是先将日志转换为MATLAB的格式,然后用MATLAB导出为Excel。但是实际上不是每个人都会用MATLAB,并且处理数据也不是非要用MATLAB,更不是说用MATLAB了就显得专业、显得…...
本地化小程序运营 同城小程序开发
时空的限制让本地化的线上平台成为一种追求,58及某团正式深挖人们城镇化、本地化的信息和商业需求而崛起的平台,将二者结合成本地化小程序,显然有着巨大的市场机会。本地化小程序运营可以结合本地化生活需求的一些信息,以及激发商…...
关于electron打包卡在winCodeSign下载问题
简单粗暴,直接上解决方案: 在你的项目根目录下创建一个.npmrc的文件,且在里面加上以下文本,不用在意这个镜像源是不是最新的,它会自己重定向到nodemirror这个域名里下载 ELECTRON_MIRRORhttps://npm.taobao.org/mirror…...
01_ddim_inversion_CN
DDIM反转 设置 # !pip install -q transformers diffusers accelerateimport torch import requests import torch.nn as nn import torch.nn.functional as F from PIL import Image from io import BytesIO from tqdm.auto import tqdm from matplotlib import pyplot as p…...
ElasticSearch的文档、字段、映射和高级查询
1. 文档(Document) 在ES中一个文档是一个可被索引的基础信息单元,也就是一条数据 比如:你可以拥有某一个客户的文档,某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以JSON&…...
vim相关命令讲解!
本文旨在讲解vim 以及其相关的操作! 希望读完本文,读者会有一定的收获!好的,干货马上就来! 初识vim 在讲解vim之前,我们首先要了解vim是什么,有什么作用?只有了解了vim才能更好的理…...
22.构造一个关于员工信息的结构体数组,存储十个员工的信息
结构体问题。构造一个关于员工信息的结构体数组,存储十个员工的信息,包括员工工号,员工工资,员工所得税,员工实发工资。要求工号和工资由键盘输入,并计算出员工所得税(所得税工资*0.2࿰…...
calico
calico:默认是ip-ip模式, ipip 开销小 vxlan模式:后期版本才支持 不会创建虚拟交换机 Calico 是一种用于构建和管理容器网络的开源软件定义网络(SDN)解决方案。它专门设计用于在容器和虚拟机之间提供高性能、高可扩展性和灵活的…...
web前端开发第3次Dreamweave课堂练习/html练习代码《网页设计语言基础练习案例》
目标图片: 文字素材: 网页设计语言基础练习案例 ——几个从语义上和文字相关的标签 * h标签(h1~h6):用来定义网页的标题,成对出现。 * p标签:用来设置网页的段落,成对出现。 * b…...
APP备案获取安卓app证书公钥获取方法和签名MD5值
前言 在开发和发布安卓应用程序时,了解应用程序证书的公钥和签名MD5值是很重要的。这些信息对于应用程序的安全性和合规性至关重要。现在又因为今年开始APP必须接入备案才能在国内各大应用市场上架,所以获取这两个值成了所有开发者的必经之路。本文将介…...
cefsharp 93.1.140 如何在js中暴露c#类
从cefsharp79版本开始,旧的RegisterJsObject方法被删除了。 也就是说想使用79以后的版本,就必须更新js暴露c#对象的方法了。由于79之前的注册方法是不需要在js中进行注册的,在93版本上如何在不改动前端页面的基础上实现内核升级咧,…...
同一台Linux同时安装MYSQL5.7和MYSQL8(第一篇)
在一台Linxu上面同时安装mysql5.7和mysql8.0的步骤,记录一下,方便后续回顾,后续文章之后会接着介绍搭建两台虚拟机一主一从的架构。 其中配置的文件名称、目录、端口号、IP地址要根据自己电脑的实际情况进行更改。 安装完成后效果 [rootzong…...
【CSS】解决上层盒子遮挡下层图片点击事件的三种方法
1. Pointer Events 属性 CSS 的 pointer-events 属性是一个强大的工具,可以控制元素是否接收用户的交互事件。通过将上层盒子的 pointer-events 设置为 none,我们可以确保它不会阻止下层图片的点击事件。 .upper-box {z-index: 999; /* 设置更高的 z-i…...
力扣每日一题 ---- 2906. 构造乘积矩阵
这题很简单(一下就能想到是前缀和的提米),但是在处理12345上面需要仔细一点,本来我最开始想到的时候全部累乘在除掉当前数,但是这样就没有把12345考虑进去,如果他本身是12345的话,那么除他以外的乘积并不一定是0&#…...
Tomcat学习
一、入门 在webapp里面必须先创建一个文件夹,文件夹里面放的内容,才会被访问到。 创建一个javaweb项目后 二、servlet 1.概述 2.servlet生命周期 3.servlet实例的创建时机 4.Servlet实例的初始化参数 5.HTTP状态码 6.servelet返回JSON数据 7.服务端设置…...
Linux系统上搭建高可用Kafka集群(使用自带的zookeeper)
本次在CentOS7.6上搭建Kafka集群 Apache Kafka 是一个高吞吐量的分布式消息系统,被广泛应用于大规模数据处理和实时数据管道中。本文将介绍在CentOS操作系统上搭建Kafka集群的过程,以便于构建可靠的消息处理平台。 文件分享(KafkaUI、kafka…...
WebSocket在node端和客户端的使用
摘要 如果想要实现一个聊天的功能,就会想到使用WebSocket来搭建。那如果没有WebSocet的时候,我们会以什么样的思路来实现聊天功能呢? 假如有一个A页面 和 B页面进行通信,当A发送信息后,我们可以将信息存储在文件或者…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
