首頁  >  文章  >  資料庫  >  centos原始碼安裝mysql

centos原始碼安裝mysql

WBOY
WBOY原創
2023-05-14 09:33:37923瀏覽

在使用CentOS系統進行開發或部署時,安裝MySQL是一項基礎工作。雖然可以使用系統預設的套件管理器yum進行MySQL的安裝,但在某些情況下(如需要自訂編譯選項等),使用原始碼安裝MySQL是更靈活的選擇。本文將介紹CentOS系統上如何從原始碼安裝MySQL,包括相依性安裝、編譯與安裝MySQL等步驟。

一、安裝相依性

在進行MySQL原始碼安裝前,我們需要安裝一些相依性。在CentOS系統中,可以透過以下指令進行安裝:

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

其中,各依賴項的作用如下:

  • gcc、gcc-c :C、C 編譯器
  • make:編譯工具
  • ncurses-devel:提供ncurses函式庫,包含處理終端輸入輸出的API
  • cmake:編譯工具,用於產生Makefile檔案
  • #bison:語法分析器產生器,用於MySQL原始碼的編譯

二、下載和壓縮MySQL原始碼

#從MySQL官方網站(https://dev.mysql. com/downloads/mysql/)下載最新版本的MySQL原始碼包(tar.gz格式),並選擇適合的平台版本。本文以5.7.32版本為例進行示範。下載完成後,使用以下指令來解壓縮原始碼套件:

tar -xzf mysql-5.7.32.tar.gz
cd mysql-5.7.32

三、編輯編譯選項

MySQL預設編譯選項不一定滿足我們的需求,因此我們需要編輯編譯選項。在上一個步驟中進入MySQL原始碼目錄後,使用以下命令開啟CMakeLists.txt檔案:

vim CMakeLists.txt

在檔案中找到以下幾行:

# Settings for a "typical" MySQL build, using all of the default components.
SET(VARIANTS a b c)
SET(BUILD_CONFIG "community")

其中,第二行中的VARIANTS變量定義了MySQL的編譯選項,我們可以使用以下命令將其覆寫成我們所需的編譯選項:

SET(VARIANTS server)

這樣,MySQL將只編譯伺服器端程序,不包含客戶端程式及其他元件。除此之外,我們還需要修改以下兩行:

SET(DEFAULT_CHARSET "utf8")
SET(DEFAULT_COLLATION "utf8_general_ci")

將其分別修改為:

SET(DEFAULT_CHARSET "utf8mb4")
SET(DEFAULT_COLLATION "utf8mb4_general_ci")

這樣,MySQL將預設使用utf8mb4字元集,支援儲存4位元組的unicode字元。

四、編譯MySQL原始碼

編輯完編譯選項後,使用下列指令產生Makefile檔:

cmake .

之後,使用make指令進行MySQL的編譯:

make

編譯時間較長,請耐心等待。如果編譯過程中遇到錯誤,請根據錯誤訊息進行修復。

五、安裝MySQL

編譯成功後,使用下列指令進行MySQL安裝:

make install

安裝成功之後,MySQL預設安裝在/usr/local/mysql目錄下。我們還需要進行一些設定操作:

cd /usr/local/mysql
chown -R mysql:mysql .
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
chown -R root .
chown -R mysql:mysql data
bin/mysqld_safe --user=mysql &

上述指令的意義如下:

  • #使用chown指令將MySQL目錄的擁有權歸屬為mysql使用者和mysql群組;
  • #使用mysqld指令進行MySQL初始化操作,產生root使用者的暫存密碼;
  • 再次使用chown指令將MySQL資料目錄的擁有權歸屬為mysql使用者和mysql群組;
  • ##使用mysqld_safe指令啟動MySQL服務。
至此,我們已經成功安裝並啟動了MySQL服務。

六、設定MySQL root使用者密碼

在剛才的第五步驟中,MySQL初始化時產生了root使用者的臨時密碼。我們需要使用該密碼登入MySQL並修改root使用者的密碼:

bin/mysql -uroot -p

此時,系統會提示輸入密碼。我們輸入剛才產生的臨時密碼,登入成功後,使用下列SQL進行root使用者密碼的修改:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

其中,your_new_password是你所設定的新密碼。

至此,我們已經成功完成了在CentOS系統中從原始碼安裝MySQL的整個過程。

以上是centos原始碼安裝mysql的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn