RHEL7.9、RHEL9.3——源码安装MySQL

目录

一、环境部署

 1. 克隆rhel7.9虚拟机

二、源码安装MySQL

 1. 准备工作

 2. 源码部署mysql8.0.40

  1)安装编译mysql所需软件包

  2)编译安装mysql8.0.40

  3)生成启动脚本


一、环境部署

 1. 克隆rhel7.9虚拟机

  • 改名为 “RHEL79_mysql_master” 并修改IP

  • 远程登陆连接
  • 修改主机名
[root@rhel79 ~]# hostnamectl set-hostname mysql-master
[root@rhel79 ~]# reboot

 2. 克隆9.3虚拟机

  • 改名为 “RHEL93_mysql_server” 并修改IP

  • 远程登陆连接
  • 修改主机名
[root@rhel93 ~]# hostnamectl set-hostname mysql-server
[root@rhel93 ~]# reboot

二、源码安装MySQL

 1. 准备工作,二者同步骤

  • 下载安装包8.0.40
    • 链接:https://downloads.mysql.com/archives/community/
  • 上传下载后的安装包
[root@mysql-master ~]# cd /opt/     # 将压缩包上传至该路径下
[root@mysql-master opt]# ll    # 查看压缩包名称
总用量 479008
-rw-r--r-- 1 root root 490502884 9月   2 14:29 mysql-boost-8.0.40.tar.gz
  • 解压缩
[root@mysql-master opt]# tar xf mysql-boost-8.0.40.tar.gz    # 解压[root@mysql-master opt]# ll
总用量 479012
drwxr-xr-x 32 7161 31415      4096 9月  18 2024 mysql-8.0.40
-rw-r--r--  1 root root  490502884 9月 2 14:29 mysql-boost-8.0.40.tar.gz[root@mysql-master opt]# cd mysql-8.0.40/
[root@mysql-master mysql-8.0.40]# ls     # 查看
boost             doxygen_resources    mysql-test         sql
client            extra                MYSQL_VERSION      sql-common
cmake             include              mysys              storage
CMakeLists.txt    INSTALL              packaging          strings
components        libbinlogevents      plugin             support-files
config.h.cmake    libbinlogstandalone  README             testclients
configure.cmake   libchangestreams     router             unittest
CONTRIBUTING.md   libmysql             run_doxygen.cmake  utilities
Docs              libservices          scripts            vio
Doxyfile-ignored  LICENSE              SECURITY.md
Doxyfile.in       man                  share

 2. 源码部署mysql8.0.40

  1)RHEL7.9

  • 安装编译mysql所需软件包
# 安装mysql8的依赖软件----------------------------------------------------------
[root@mysql-master ~]# yum install -y git bison openssl-devel ncurses-devel -y# 安装cmake3-------------------------------------------------------------------
[root@mysql-master ~]# yum list cmake   # 查看可安装的版本
可安装的软件包
cmake.x86_64                  2.8.12.2-2.el7             baseos[root@mysql-master ~]# vim /etc/yum.repos.d/epel.repo
添加如下内容:
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0[root@mysql-master ~]# yum install  cmake3 -y    # 安装# 安装gcc-11,找到相关的rpm包上传至linux后解压并安装----------------------------
[root@mysql-master ~]# cd /opt/     # 将gcc-11的安装包上传到该路径下
[root@mysql-master opt]#ll
总用量 534764
-rw-r--r--  1 root root   57087061 9月 2 14:44 gcc-11.zip
drwxr-xr-x 32 7161 31415      4096 9月 18 2024 mysql-8.0.40
-rw-r--r--  1 root root  490502884 9月 2 14:29 mysql-boost-8.0.40.tar.gz[root@mysql-master opt]# yum install unzip -y   # 安装unzip
[root@mysql-master opt]# unzip gcc-11.zip   # 解压缩[root@mysql-master opt]# cd gcc-11/
[root@mysql-master gcc-11]# ls[root@mysql-master gcc-11]# yum install ./*.rpm -y   # 安装
[root@mysql-master gcc-11]# source  /opt/rh/devtoolset-11/enable # 生效
[root@mysql-master gcc-11]# cat /opt/rh/devtoolset-11/enable >> ~/.bash_profile   # 读入[root@mysql-master gcc-11]# gcc -v   # 查看版本
gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC) 
  •  编译安装mysql8.0.40
[root@mysql-master ~]# cd /opt/
[root@mysql-master opt]# cd mysql-8.0.40/[root@mysql-master mysql-8.0.40]# mkdir bld   # 新建目录
[root@mysql-master mysql-8.0.40]# cd bld下列为一串代码,提示语删掉哦
[root@mysql-master bld]# cmake3 .. \   
-DWITH_BOOST=../boost/boost_1_77_0/ \ # 指定MySQL源码编译所依赖的Boost库路径
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		# 指定安装路径
-DMYSQL_DATADIR=/data/mysql \					# 指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \		# 指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \	# 指定启用INNODB存储引擎,默认用myisam
-DWITH_EXTRA_CHARSETS=all \						# 扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \						# 指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \		# 指定默认校验字符集
-DWITH_SSL=system					# 指定MySQL使用系统已安装的 SSL 库# 该过程很久,请耐心等待,利用多核 CPU 资源同时运行 2 个编译进程
[root@mysql-master bld]# make  -j 2 [root@mysql-master bld]# make install     # 安装
  • 生成启动脚本
# 生成启动脚本
[root@mysql-master ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld# 修改环境变量
[root@mysql-master ~]# vim ~/.bash_profile
添加如下内容:
export PATH=$PATH:/usr/local/mysql/bin[root@mysql-master ~]# source ~/.bash_profile    # 生效# 建立数据库程序运行用户
[root@mysql-master ~]# useradd -M -s /sbin/nologin mysql# 建立数据库数据目录
[root@mysql-master ~]# mkdir -p /data/mysql/
[root@mysql-master ~]# chown -R mysql:mysql /data/mysql/# 创建配置文件
[root@mysql-master ~]# vim /etc/my.cnf
全部删出,然后添加如下内容:提示语删掉
[mysqld]
datadir=/data/mysql     # 指定数据目录
socket=/data/mysql/mysql.sock     # 指定套接字
server_id=136     # 写该主机的主机号即可
log-bin=binlog# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/master.err
pid-file=/data/mysql/mysql.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d----------------------------------------------------------------------
# 数据库初始化建立mysql基本数据,注意在输出中查看临时密码
[root@mysql-master ~]# mysqld --initialize --user=mysql
IjhUEt+J>2n.#启动数据库
[root@mysql-master ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/master.err'.
临时密码:. SUCCESS!#修改数据库密码,新密码为123
[root@mysql-master ~]# mysqladmin -uroot -p password  '123'
Enter password: IjhUEt+J>2n.    # 临时密码
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.#使用新密码登录数据库
[root@mysql-master ~]# mysql -uroot -p123
mysql>

 注意:数据库初始化建立mysql基本数据,注意在输出中查看临时密码

  2)RHEL9.3

  • 安装编译mysql所需软件包
# 安装mysql8的依赖软件--------------------------------------------------
[root@mysql-server ~]# yum install -y git bison openssl-devel ncurses-devel -y# 安装cmake3-----------------------------------------------------------
[root@mysql-server ~]# yum list cmake   # 查看版本,是3以上即可
cmake.x86_64                 3.20.2-8.el9               App
若安装,同7.9
# 安装gcc,找到相关的rpm包上传至linux后解压并安装-------------------------
[root@mysql-server ~]# yum list gcc     # 查看版本,是11即可
gcc.x86_64               11.4.1-2.1.el9             App [root@mysql-server ~]# yum install ncurses ncurses-devel make cmake gcc-c++ openssl-devel bison -y[root@mysql-server opt]# yum install ./*.rpm -y   # 安装所需的依赖
  • 编译安装mysql8.0.40
[root@mysql-server ~]# cd /opt/
[root@mysql-server opt]# cd mysql-8.0.40/[root@mysql-server mysql-8.0.40]# mkdir bld   # 新建目录
[root@mysql-server mysql-8.0.40]# cd bld下列为一串代码,提示语删掉哦
[root@mysql-server bld]# cmake .. \   
-DWITH_BOOST=../boost/boost_1_77_0/ \ # 指定MySQL源码编译所依赖的Boost库路径
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		# 指定安装路径
-DMYSQL_DATADIR=/data/mysql \					# 指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \		# 指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \	# 指定启用INNODB存储引擎,默认用myisam
-DWITH_EXTRA_CHARSETS=all \						# 扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \						# 指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \		# 指定默认校验字符集
-DWITH_SSL=system					# 指定MySQL使用系统已安装的 SSL 库# 该过程很久,请耐心等待,利用多核 CPU 资源同时运行 2 个编译进程
[root@mysql-server bld]# make  -j 2[root@mysql-server bld]# make install     # 安装
  • 生成启动脚本
# 生成启动脚本
[root@mysql-server ~]# mkdir -p /etc/init.d/
[root@mysql-server ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld# 修改环境变量
[root@mysql-server ~]# vim ~/.bash_profile
添加如下内容:
export PATH=$PATH:/usr/local/mysql/bin[root@mysql-server ~]# source ~/.bash_profile    # 生效# 建立数据库程序运行用户
[root@mysql-server ~]# useradd -M -s /sbin/nologin mysql# 建立数据库数据目录
[root@mysql-server ~]# mkdir -p /data/mysql/
[root@mysql-server ~]# chown -R mysql:mysql /data/mysql/# 创建配置文件
[root@mysql-server ~]# vim /etc/my.cnf
全部删除,然后添加如下内容:
[mysqld]
datadir=/data/mysql   
socket=/data/mysql/mysql.sock    
server_id=134
log-bin=binlog# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/master.err
pid-file=/data/mysql/mysql.pid#
# include all files from the config directory
#
# !includedir /etc/my.cnf.d----------------------------------------------------------------------
# 数据库初始化建立mysql基本数据,注意在输出中查看临时密码
[root@mysql-server ~]# mysqld --initialize --user=mysql
临时密码:slbS3b7HbO/N#启动数据库
[root@mysql-server ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/master.err'.SUCCESS!#修改数据库密码,新密码为123
[root@mysql-server ~]# mysqladmin -uroot -p password  '123'
Enter password: slbS3b7HbO/N    # 临时密码
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.#使用新密码登录数据库
[root@mysql-server ~]# mysql -uroot -p123
mysql>
  • 数据库初始化建立mysql基本数据,注意在输出中查看临时密码

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

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

相关文章

解决Win11 安全中心删掉存在隐患的工具

打开设置, 找到Windows安全中心,找到病毒和威胁防护,选择排除项,点 添加或删除排除项添加文件,文件夹,工具按照自己需求选择。或,删除文件注意:隐患的工具或者文件安装或者用完&…

通过URI Scheme实现从Web网页上打开本地C++应用程序(以腾讯会议为例,附完整实现源码)

目录 1、需求描述 2、选择URI Scheme实现 3、何为URI Scheme? 4、将自定义的URL Scheme信息写入注册表的C源码实现 5、如何实现最开始的3种需求 6、后续需要考虑的细节问题 之前陆续收到一些从Web页面上启动我们C客户端软件的需求,希望我们能提供一…

机器学习02——模型评估与选择(过拟合与欠拟合、K折交叉验证、均方误差、混淆矩阵)

上一章:机器学习01——机器学习概述 下一章:机器学习03——线性模型 机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备 文章目录一、经验误差与过拟合(一&a…

基于 Django 与 Bootstrap 构建的现代化设备管理平台

整体步骤概览 创建项目和应用设计模型(Model) - 定义设备的数据结构配置用户认证(Auth) - 使用 Django 自带的强大用户系统创建视图(View) - 处理业务逻辑:登录、列表、增删改查编写模板&#x…

微软依旧稳定发挥,Windows 最新更新性能「开倒车」

微软在前不久为Release Preview测试用户推送了最新Windows11 25H2版本。按照惯例,正式版将于9月或者10月与咱们见面。虽然看起来是个跨版本的大更新,但是更新方式将服务堆栈更新(SSU)与最新累积更新(LCU)。…

一手实测,文心x1.1的升级很惊喜啊

一手实测,文心x1.1的升级很惊喜啊 前言 月9日,在 WAVE SUMMIT深度学习开发者大会上 百度发布了一个新的思考模型文心x1.1: X1 Turbo 升级为 X1.1 了。 文心4.5 Turbo 和 X1 Turbo 是2025年4月25日发布的,距今已经半年过去了&…

Flask 核心基础:从 路由装饰器 到 __name__ 变量 的底层逻辑解析

Flask 核心基础:从路由装饰器到 name 变量的底层逻辑解析 在使用 Flask 开发 Web 应用时,我们总会从 app Flask(__name__) 和 app.route("/") 这两行代码开始。看似简单的语法背后,藏着 Python 装饰器机制与 Flask 框架设计的核心…

中国AI云市场报告:阿里云份额达35.8%,高于2至4名总和

9月9日,国际权威市场调研机构英富曼(Omdia)发布《中国AI云市场,1H25》报告,报告显示,2025年上半年,中国AI云市场规模达223亿元,阿里云占比35.8%位列第一,市场份额高于2到…

鸿蒙Next开发指南:UIContext接口解析与全屏拉起元服务实战

前言在鸿蒙应用开发过程中,我们经常会遇到需要获取UI上下文实例或者在非UI上下文中调用UI相关方法的场景。随着HarmonyOS NEXT的不断发展,UIContext API为我们提供了更加优雅的解决方案。本文将详细介绍如何使用UIContext中对应的接口获取与实例绑定的对…

leaflet读取mvt格式

如图所示,是全国的数据,截图是部分数据先安装:npm install leaflet npm install leaflet.vectorgrid如果是其余的框架直接用就行:import * as L from leaflet; import leaflet.vectorgrid;我用的是angular,所以是ts中声明&#xf…

OSG中交互(鼠标、键盘)处理

OpenSceneGraph (OSG) 中的交互处理,包括鼠标和键盘事件。 一、OSG 事件处理体系 OSG 使用一个基于访问者模式的事件处理体系,核心类包括: osgGA::GUIEventHandler: 所有事件处理器的基类 osgViewer::Viewer: 查看器,管理事件队列和分发 osgGA::EventQueue: 事件队列…

微硕双N-MOS管WST3392在汽车智能氛围灯系统中的应用

汽车智能氛围灯系统是现代车辆提升驾乘体验的重要配置,其多通道LED的精密调光与控制需选用高性能、小体积的功率开关器件。微硕WINSOK的WST3392是一款双N沟道MOS管,具有30V耐压、3.7A连续电流和46mΩ的低导通电阻,特别适用于氛围灯系统中的多…

深入 Kubernetes:从零到生产的工程实践与原理洞察

🌟 Hello,我是蒋星熠Jaxonic! 🌈 在浩瀚无垠的技术宇宙中,我是一名执着的星际旅人,用代码绘制探索的轨迹。 🚀 每一个算法都是我点燃的推进器,每一行代码都是我航行的星图。 &#x…

为何三折叠手机只有华为可以?看华为Mate XTs非凡大师就知道

9月4日,华为在深圳举行华为Mate XTs非凡大师及全场景新品发布会,不同于过往手机发布会对芯片配置只字不提,此次发布会公开展示了华为Mate XTs非凡大师内部芯片配置——麒麟9020芯片,时隔四年,终于在发布会上看到芯片公…

TensorFlow 2.x 核心 API 与模型构建

TensorFlow 2.x 核心 API 与模型构建TensorFlow 是一个强大的开源机器学习库,尤其在深度学习领域应用广泛。TensorFlow 2.x 在易用性和效率方面做了大量改进,引入了Keras作为其高级API,使得模型构建和训练更加直观和便捷。本文将介绍 TensorF…

TENGJUN防水TYPE-C连接器:工业级防护,认证级可靠,赋能严苛场景连接

在工业控制、户外电子、水下设备等对连接稳定性与防护性要求极致的场景中,TENGJUN防水TYPE-C连接器以“硬核性能全面认证”的双重优势,成为关键连接环节的信赖之选。从结构设计到认证标准,每一处细节都为应对复杂环境而生,重新定义…

【小呆的随机振动力学笔记】概率论基础

文章目录0. 概率论基础0.1 概率的初步认知0.2 随机变量的分布0.3 随机变量的数字特征0.3.1 随机变量的期望算子0.3.2 随机变量的矩0.4 随机变量的特征函数0.5 高数基础附录A 典型分布0. 概率论基础 \quad\quad在生活中或自然中,处处都存在随机现象,比如每…

使用海康机器人相机SDK实现基本参数配置(C语言示例)

在机器视觉项目开发中,相机的初始化、参数读取与设置是最基础也是最关键的环节。本文基于海康机器人(Hikrobot)提供的MVS SDK,使用C语言实现了一个简洁的控制程序,完成设备枚举、连接以及常用参数的获取与设置。 &…

【IoTDB】时序数据库选型指南:为何IoTDB成为工业大数据场景的首选?

【作者主页】Francek Chen 【专栏介绍】⌈⌈⌈大数据与数据库应用⌋⌋⌋ 大数据是规模庞大、类型多样且增长迅速的数据集合,需特殊技术处理分析以挖掘价值。数据库作为数据管理的关键工具,具备高效存储、精准查询与安全维护能力。二者紧密结合&#xff0…

用计算思维“破解”复杂Excel考勤表的自动化之旅

在我们日常工作中,经常会遇到一些看似简单却极其繁琐的任务。手动处理一份结构复杂的Excel考勤表,就是典型的例子。它充满了合并单元格、不规则的布局和隐藏的格式陷阱。面对这样的挑战,我们是选择“卷起袖子,日复一日地手动复制粘…