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

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_PRIVDIRSQL导出目录
ENABLED_LOCAL_INFILE是否启用本地方式加载数据
MYSQL_TCP_PORTTCP/IP端口
SYSCONFDIR选项文件
MYSQL_UNIX_ADDRUnix套接字文件
WITH_SYSTEMD启用安装systemd支持文件
SYSTEMD_SERVICE_NAMEsystemd下MySQL服务的名称
SYSTEMD_PID_DIRsystemd下PID文件的目录
COMPILATION_COMMENT关于编译环境的描述
WITH_BOOSTBoost库源码的位置
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_CHARSETlatin1utf8mb4
DEFAULT_COLLATIONlatin2_swedish_ciutf8mb4_general_ci
INSTALL_SECURE_FILE_PRIVDIRplatform specific/mysql/product/mysql-files
ENABLED_LOCAL_INFILEOFFON
MYSQL_TCP_PORT3305
SYSCONFDIR/etc
MYSQL_UNIX_ADDR/tmp/mysql.sock
WITH_BOOST/boost_1_59_0
WITH_ARCHIVE_STORAGE_ENGINE1
WITH_BLACKHOLE_STORAGE1
WITH_PERFSCHEMA_STORAGE_ENGINE1
WITH_EXAMPLE_STORAGE_ENGINE1
WITH_FEDERATED_STORAGE_ENGINE1
WITH_PARTITION_STORAGE_ENGINE1

创建路径

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&#xff0…...

北京刘家窑中医院举行‘心梗救治日’宣传活动,郭自强主任呼吁提高群众防治意识

...

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版本上如何在不改动前端页面的基础上实现内核升级咧&#xff0c…...

同一台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发送信息后,我们可以将信息存储在文件或者…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

鸿蒙HarmonyOS 5军旗小游戏实现指南

1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...