MySQL編譯安裝教程

一、環境準備

在開始編譯安裝MySQL之前,需要先準備好一些依賴環境:

1、GCC編譯器和make命令(如果已經安裝則可以跳過這一步)

sudo apt-get update
sudo apt-get install build-essential

2、cmake工具

sudo apt-get install cmake

3、ncurses庫

sudo apt-get install libncurses5-dev libncursesw5-dev

二、下載MySQL源碼

從MySQL官網上下載所需版本的源碼,這裡以最新版本為例:

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.26.tar.gz

三、解壓源碼並進入目錄

tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26

四、開始編譯安裝

1. 創建一個新的用戶組和用戶

在編譯之前,我們需要創建一個新的MySQL用戶組和MySQL用戶,並將編譯後的MySQL安裝在該用戶下,這麼做可以增強安全性。

創建MySQL用戶組

sudo groupadd mysql

創建MySQL用戶

sudo useradd -r -g mysql -s /bin/false mysql

2. 配置編譯選項

進入MySQL源代碼目錄中的cmake配置目錄,並執行以下命令配置編譯選項:

cd cmake
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=/usr/local

這裡解釋下每個選項的含義:

-DCMAKE_INSTALL_PREFIX:指定MySQL安裝路徑

-DMYSQL_DATADIR:指定MySQL數據存放路徑

-DSYSCONFDIR:指定MySQL配置文件存放路徑

-DWITH_MYISAM_STORAGE_ENGINE:支持MyISAM存儲引擎

-DWITH_INNOBASE_STORAGE_ENGINE:支持InnoDB存儲引擎

-DWITH_MEMORY_STORAGE_ENGINE:支持Memory存儲引擎

-DWITH_READLINE:使用readline庫,提高命令行交互的效率

-DENABLED_LOCAL_INFILE:支持從本地讀取數據

-DDEFAULT_CHARSET:設置默認字符集

-DDEFAULT_COLLATION:設置默認校對規則

-DWITH_BOOST:指定boost庫路徑(如果需要支持InnoDB memcached接口,需要指定)

3. 編譯並安裝

在MySQL源碼目錄中執行以下命令進行編譯,這裡使用make命令:

make

編譯完成後,執行以下命令進行安裝:

sudo make install

五、啟動MySQL服務

1. 初始化數據

在安裝目錄下的bin目錄中執行以下命令來初始化數據:

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

初始化完成後,會輸出一個隨機生成的密碼,需要記錄下來,後面登錄MySQL需要使用該密碼。

2. 啟動服務

執行以下命令來啟動MySQL服務:

sudo systemctl start mysqld

如果需要系統重啟後自動啟動MySQL服務,可以執行以下命令:

sudo systemctl enable mysqld

3. 配置MySQL安全

安裝完成後,需要進行一些基本的安全配置,包括修改root用戶密碼、移除test數據庫等。

執行以下命令進入MySQL安全配置嚮導:

sudo /usr/local/mysql/bin/mysql_secure_installation

按照提示依次進行操作即可。

六、連接MySQL

1. 登錄MySQL

在終端中執行以下命令登錄到MySQL:

mysql -u root -p

回車後輸入剛才記錄下來的密碼即可登錄。

2. 修改root用戶密碼

執行以下SQL命令來修改root用戶密碼:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';

這裡的「新密碼」為自己設定的新密碼。

3. 創建新用戶

執行以下SQL命令來創建一個新用戶:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

這裡的「username」為新用戶名,「password」為新用戶密碼。

4. 授權

執行以下SQL命令來授權新用戶訪問某個數據庫:

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';

這裡的「dbname」為數據庫名,「username」為新用戶名。

5. 退出MySQL

執行以下命令退出MySQL:

exit;

七、總結

到這裡,MySQL的編譯安裝就完成了。

原創文章,作者:UYUAK,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/372501.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UYUAK的頭像UYUAK
上一篇 2025-04-24 06:40
下一篇 2025-04-24 06:40

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows服務器上的日誌,並將其發送到遠程服務器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29

發表回復

登錄後才能評論