[Linux] MySQL源码编译安装

article/2025/6/15 6:27:08

目录

环境包安装

 创建程序用户

解压源码包

配置cmake

​编辑编译

安装

配置修改属性

属主和属组替换成mysql用户管理

系统环境变量配置

初始化数据库

服务管理

启动


环境包安装

yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++

 

重点强调:采用cmake编译方式

 创建程序用户

useradd -s /sbin/nologin mysql

 创建的为无家目录,无法登录的用户

创建完后验证 :

id mysql

 

解压源码包

tar zxvf mysql-boost-5.7.20.tar.gz -C /opt/

注意要区分目录:

配置cmake

进入我们刚才解压的opt目录下,进入mysql-5.7.20目录,使用ls命令可以看到目录下有一个cmake文件

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1


编译

make -j 4

 -j 4代表用4核编译,这样编译速度会加快。当然也可以根据自己的CPU来调整。

编译过程:

安装

make install

配置修改属性

chown -R mysql:mysql /usr/local/mysql/

属主和属组替换成mysql用户管理

修改配置文件

vim /etc/my.cnf

输入下面内容: 

[client]port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql.mysql /etc/my.cnf

系统环境变量配置

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profileecho 'export PATH' >> /etc/profilesource /etc/profile

初始化数据库

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

服务管理

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

启动

systemctl start mysqld.service

THE END

如有遗漏,欢迎补充,感谢!


http://www.hkcw.cn/article/arVEtCSEIb.shtml

相关文章

RK3568-移植codesys-runtime

PC下载安装CODESYS Development System V3.5.17.0 https://store.codesys.com/en/codesys.html#product.attributes.wrapperPC下载安装 CODESYS Control for Linux ARM64 SL 4.1.0.0.package https://store.codesys.com/en/codesys-control-for-linux-arm-sl-1.html 注意&…

安装和配置 Nginx 和 Mysql —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录6

前言 昨天更新了四篇博客,我们顺利的 安装了 ubuntu server 服务器,并且配置好了 ssh 免密登录服务器,安装好了 服务器常用软件安装, 配置好了 zsh 和 vim 以及 通过 NVM 安装好Nodejs,还有PNPM包管理工具 。 作为服务器的运行…

nav2笔记-250603

合作背景: AMD与Open Navigation在过去几个月里进行了合作,旨在向ROS 2社区展示AMD强大的Ryzen AI、Embedded和Kria能力。 演示内容: 帖子提到,他们已经开始展示如何使用Ryzen AI为自主机器人产品提供动力,在各种现实世…

黑马Java面试笔记之 消息中间件篇(RabbitMQ)

一. 消息丢失问题 RabbitMQ如何保证消息不丢失? 使用场景有: 异步发送(验证码、短信、邮件... )MYSQL和Redis,ES之间的数据同步分布式事务削峰填谷...... 消息丢失原因会有三种情况,分别分析一下 1.1 生…

如何使用插件和子主题添加WordPress自定义CSS(附:常见错误)

您是否曾经想更改网站外观的某些方面,但不知道怎么做?有一个解决方案——您可以将自定义 CSS(层叠样式表)添加到您的WordPress网站! 在本文中,我们将讨论您需要了解的有关CSS的所有知识以及如何使用它来修…

NLP学习路线图(二十):FastText

在自然语言处理(NLP)领域,词向量(Word Embedding)是基石般的存在。它将离散的符号——词语——转化为连续的、富含语义信息的向量表示,使得计算机能够“理解”语言。而在众多词向量模型中,FastT…

小巧实用,Windows文件夹着色软件推荐

软件介绍 本文介绍一款能实现Windows系统文件夹颜色分类的软件。 软件特点 这款软件免费且开源,体积仅1.35MB,小巧轻便,适合喜欢小工具的用户。 软件安装 安装过程十分便捷,打开软件后点击“install”即可完成安装。 基本操作…

解决Vditor加载Markdown网页很慢的问题(Vite+JS+Vditor)

1. 引言 在上一篇文章《使用Vditor将Markdown文档渲染成网页(ViteJSVditor)》中,详细介绍了通过Vditor将Markdown格式文档渲染成Web网页的过程,并且实现了图片格式居中以及图片源更换的功能。不过,笔者发现在加载这个渲染Markdown网页的时候…

leetcode hot100刷题日记——36.最长连续序列

解答&#xff1a; 实际上在哈希表中存储不重复的数字。 然后遍历哈希表&#xff0c;找间隔&#xff0c;更新最大间隔。 class Solution { public:int longestConsecutive(vector<int>& nums) {unordered_set<int>hash;for(int num:nums){hash.insert(num);}in…

Unity Mac 笔记本操作入门

在 macOS 笔记本电脑上使用 Unity Editor 的场景视图 (Scene View) 旋转视角&#xff0c;主要依赖于触摸板手势和键盘修饰键的组合。由于没有物理中键&#xff0c;操作方式会与 Windows 鼠标略有不同。 以下是具体的旋转视角操作&#xff1a; 1. 基本旋转视角 (Orbit) 这是最…

【笔记】使用Media Creation Tool给新主机装win10魔改iso

前提&#xff1a; win10的iso是魔改的 已经下载好在旧电脑 在这里随便挑一个符合你要求的Win10系统下载_Win10专业版_windows10正式版下载 - 系统之家 下载好win10版本的媒体创建工具https://www.microsoft.com/zh-cn/software-download/windows10 制作装机U盘 插入U盘 管理…

深圳南柯电子|储能EMC整改:如何节省70%整改费用的实战方法

在新能源产业蓬勃发展的当下&#xff0c;储能系统作为电网调峰、可再生能源消纳的核心载体&#xff0c;其电磁兼容性&#xff08;EMC&#xff09;问题日益成为制约行业发展的技术瓶颈。EMC&#xff08;Electromagnetic Compatibility&#xff09;即电磁兼容性&#xff0c;指设备…

R1-Searcher++新突破!强化学习如何赋能大模型动态知识获取?

R1-Searcher新突破&#xff01;强化学习如何赋能大模型动态知识获取&#xff1f; 大语言模型&#xff08;LLM&#xff09;虽强大却易因静态知识产生幻觉&#xff0c;检索增强生成&#xff08;RAG&#xff09;技术成破局关键。本文将解读R1-Searcher框架&#xff0c;看其如何通…

用 Vue 做一个轻量离线的“待办清单 + 情绪打卡”小工具

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

6-2 MySQL 数据结构选择的合理性

6-2 MySQL 数据结构选择的合理性 文章目录 6-2 MySQL 数据结构选择的合理性1. 全表查询2. Hash 查询3. 二叉搜索树4. AVL 树5. B-Tree6.B Tree7. R树8. 小结附录&#xff1a;算法的时间复杂度9. 最后&#xff1a; 这篇文章是我蹲在《尚硅谷》-康师傅博主家的 WiFi 上(不是)&am…

红黑树与红黑树的插入——用C++实现

一、红黑树简介 红黑树是二叉搜索树的一种&#xff0c;区别于二叉平衡树&#xff0c;红黑树的平衡并不以平衡因子为依据进行平衡的调整而是以五条规则对红黑树进行定义&#xff0c;从而达成树的最长路径最多是树的最短路径的两倍长。以下是红黑树的五条规则&#xff1a; 节点非…

线程相关面试题

提示&#xff1a;线程相关面试题&#xff0c;持续更新中 文章目录 一、Java线程池1、Java线程池有哪些核心参数&#xff0c;分别有什么的作用&#xff1f;2、线程池有哪些拒绝策略&#xff1f;3、说一说线程池的执行流程?4、线程池核心线程数怎么设置呢&#xff1f;4、Java线程…

Axure设计案例:滑动拼图解锁

设计以直观易懂的操作方式为核心&#xff0c;只需通过简单的滑动动作&#xff0c;将拼图块精准移动至指定位置&#xff0c;即可完成解锁。这种操作模式既符合用户的日常操作习惯&#xff0c;在视觉呈现上&#xff0c;我们精心设计拼图图案&#xff0c;融入生动有趣的元素&#…

报表/报告组件(二)-实例与实现解释

上篇《报表/报告组件(一)-指标/属性组件设计》介绍了组件核心指标/属性设计&#xff0c;本文以实例介绍各个特性的实现和效果&#xff0c;实例是多个报告融合&#xff0c;显示所有的特性。 设计 指标/属性组件是报告/报表关键部分&#xff0c;上篇已介绍过&#xff0c;本节回顾…

django入门-orm数据库操作

一&#xff1a;下载数据库依赖项mysqlclient pip install mysqlclient 二&#xff1a;django配置文件配置数据库链接 路径&#xff1a;mysite2\mysite2\settings.py DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: data, # 数据库名称USER: root, …