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
英文地址,請注明出處:http://en.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考勤表,就是典型的例子。它充滿了合并單元格、不規則的布局和隱藏的格式陷阱。面對這樣的挑戰,我們是選擇“卷起袖子,日復一日地手動復制粘…