首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

MySQL编译安装-麒麟V10 x86

编程知识
2024年08月20日 11:59

环境信息

操作系统: Kylin Linux Advanced Server V10 (Sword)
架构:X86
MySQL版本:5.7.44

编译

  • 安装必要的依赖库和编译工具
sudo yum groupinstall 'Development Tools'
sudo yum install cmake ncurses-devel openssl-devel boost-devel
  • 下载 MySQL 源码

从 MySQL 官方网站或 GitHub 仓库下载 MySQL 的源码包。

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.tar.gz
tar -xzvf mysql-5.7.44.tar.gz
cd mysql-5.7.44
  • 配置 CMake 选项

使用 CMake 配置 MySQL 的构建选项。可以根据需要进行定制,例如指定安装目录、禁用不需要的功能等。

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=boost

-DCMAKE_INSTALL_PREFIX:指定 MySQL 的安装目录。
-DMYSQL_DATADIR:指定数据存储目录。
-DSYSCONFDIR:指定配置文件目录。
-DWITH_SSL 和 -DWITH_ZLIB:指定使用系统的 SSL 和 Zlib 库。
-DDEFAULT_CHARSET 和 -DDEFAULT_COLLATION:设置默认字符集和校对规则。
-DWITH_BOOST:指定 Boost 库的位置。

关于Boost 库报错导致编译失败问题

Boost 是 MySQL 编译的必需依赖库之一。为了继续编译,CMake 需要知道 Boost 库的位置。

解决方法
选择以下两种方法之一来解决这个问题:

方法 1: 自动下载并使用 Boost 库
可以让 CMake 自动下载并使用 Boost 库。这个方法较为简单,CMake 会自动为你下载并配置 Boost 库。

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
-DDOWNLOAD_BOOST=1:让 CMake 自动下载 Boost 库。
-DWITH_BOOST=/usr/local/boost:指定 Boost 库将被下载并存储的目录。可以根据需要选择不同的路径。

方法 2: 手动下载并指定 Boost 库路径
你也可以手动下载 Boost 库,并将其路径指定给 CMake。

下载 Boost 库:

wget https://boostorg.jfrog.io/artifactory/main/release/1.59.0/source/boost_1_59_0.tar.gz
tar -xzf boost_1_59_0.tar.gz

在配置 CMake 时指定 Boost 路径:

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=/path/to/boost_1_59_0

将 /path/to/boost_1_59_0 替换为你实际解压 Boost 的路径。

  • 编译和安装

在配置成功后,使用 make 和 make install 命令编译并安装 MySQL。

make
sudo make install
  • 初始化 MySQL 数据目录

安装完成后,需要初始化 MySQL 数据目录并设置 root 密码。

cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql

初始化完成后,记下生成的临时 root 密码,稍后将用于登录 MySQL。

  • 配置 MySQL

创建 MySQL 配置文件(如 /etc/my.cnf),并根据需要进行定制。

sudo cp support-files/my-default.cnf /etc/my.cnf
  • 启动 MySQL

设置 MySQL 为系统服务,并启动 MySQL。

sudo cp support-files/mysql.server /etc/init.d/mysql
sudo systemctl enable mysql
sudo systemctl start mysql
  • 设置 root 密码和安全配置

使用初始化时的临时密码登录 MySQL,并设置新的 root 密码。

sudo /usr/local/mysql/bin/mysql_secure_installation

根据提示完成安全配置,设置 root 密码,删除匿名用户,禁用远程 root 登录等。

  • 验证安装

通过登录 MySQL 来验证安装是否成功。

/usr/local/mysql/bin/mysql -u root -p

输入新设置的 root 密码后,进入 MySQL 命令行界面。如果成功进入,说明 MySQL 编译安装完成。

已编译完成的安装包地址:

From:https://www.cnblogs.com/wiseo/p/18369269/mysql_build_x86
本文地址: http://www.shuzixingkong.net/article/1264
0评论
提交 加载更多评论
其他文章 ArgoWorkflow教程(二)---快速构建流水线:Workflow & Template 概念
上一篇我们部署了 ArgoWorkflow,并创建了一个简单的流水线做了个 Demo。本篇主要分析 ArgoWorkflow 中流水线相关的概念,了解概念后才能更好使用 ArgoWorkflow。 本文主要分析以下问题: 1)如何创建流水线? Workflow 中各参数含义 2)WorkflowTe
ArgoWorkflow教程(二)---快速构建流水线:Workflow & Template 概念 ArgoWorkflow教程(二)---快速构建流水线:Workflow & Template 概念 ArgoWorkflow教程(二)---快速构建流水线:Workflow & Template 概念
网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿)
大家好,我是程序员鱼皮,8 月 19 日下午,网易云音乐突发严重故障,并登顶微博热搜,跟黑神话悟空抢了热度。 根据用户的反馈,故障的具体表现为:用户无法登录、歌单加载失败、播放信息获取失败、无法搜索歌曲等等,几乎是无法使用了,妥妥的 P0 级事故! 根据官方发布的说明,本次故障的主要原因是基础设施,
网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿) 网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿) 网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿)
寻访中国100家.NET中大企业 —— 第二站:苏州行
一:事情起因 在.NET圈里混了十多年,相信有不少人知道我专注于玩 .NET高级调试,如今技术上的硬实力还是能够解决市面上的一些疑难杂症,但软实力却在另一个极端,如(人际交往,人情事故),所以就萌生了刻意训练的念头,便自我发起了这个活动 "寻访中国100家.NET中大企业"。 二
寻访中国100家.NET中大企业 —— 第二站:苏州行 寻访中国100家.NET中大企业 —— 第二站:苏州行 寻访中国100家.NET中大企业 —— 第二站:苏州行
.NET 9 优化,抢先体验 C# 13 新特性
前言 微软即将在 2024年11月12日发布 .NET 9 的最终版本,而08月09日发布的.NET 9 Preview 7 是最终发布前的最后一个预览版。这个版本将与.NET Conf 2024一同亮相,并已与 Visual Studio 2022 17.12 预览版1一同发布,可以直接通过Vis
.NET 9 优化,抢先体验 C# 13 新特性 .NET 9 优化,抢先体验 C# 13 新特性
小小的引用计数,大大的性能考究
本文基于 Netty 4.1.56.Final 版本进行讨论 在上篇文章《聊一聊 Netty 数据搬运工 ByteBuf 体系的设计与实现》 中,笔者详细地为大家介绍了 ByteBuf 整个体系的设计,其中笔者觉得 Netty 对于引用计数的设计非常精彩,因此将这部分设计内容专门独立出来。 Nett
小小的引用计数,大大的性能考究 小小的引用计数,大大的性能考究 小小的引用计数,大大的性能考究
wifi基础(一):无线电波与WIFI信号干扰、衰减
liwen01 2024.08.18 前言 无论是在产品开发还是在日常生活中,在使用无线网络的时候,都会经常遇到一些信号不好的问题,也会产生不少疑问: 为什么我们在高速移动的高铁上网络会变慢? 为什么 5G WiFi 的穿墙能力没有 2.4G 的好? 为什么在对 WiFi 进行 iperf 拉距测试
wifi基础(一):无线电波与WIFI信号干扰、衰减 wifi基础(一):无线电波与WIFI信号干扰、衰减 wifi基础(一):无线电波与WIFI信号干扰、衰减
PHP中的Malformed UTF-8 characters错误解决
在PHP开发中,开发者经常会遇到Malformed UTF-8 characters错误。这个错误通常是由于代码中存在无效的UTF-8字符而引起的。本篇博客将为您介绍如何解决这个问题。 什么是UTF-8字符? UTF-8是一种用于表示Unicode字符的编码方式。它可以表示任意Unicode字符,包
设计模式之cglib动态代理
什么是动态代理呢?动态代理就是在java进程运行时,通过字节码技术,动态的生成某个类的代理类。在这个代理类中,我们可以做一些额外的操作,一方面仍然保持原有的方法的能力,另外一方面还增强了这些能力。听着是不是AOP有点像,没错,动态代理就是AOP的技术基石。在这之前我曾经写过两篇相关的文章:https
设计模式之cglib动态代理