首頁  >  文章  >  資料庫  >  centos編譯安裝mysql

centos編譯安裝mysql

王林
王林原創
2023-05-23 10:18:37567瀏覽

CentOS編譯安裝MySQL

MySQL是一種流行的關聯式資料庫管理系統。在Linux伺服器上安裝和設定MySQL是進行Web開發和運行的必要步驟之一。雖然許多Linux發行版包含MySQL的預編譯版本,但本文將介紹如何使用原始碼編譯安裝MySQL。

本文將示範如何在CentOS 7上安裝MySQL 8.0.27的最新版本。在開始之前,請確保已經在CentOS伺服器上安裝了以下工具:

  • 一個CentOS 7伺服器
  • 一個sudo非root用戶
  • gcc編譯器和make指令
  • wget和tar指令
  1. 下載MySQL的原始碼

要下載MySQL的原始碼,請前往MySQL官方網站並從下載頁面取得最新版本的原始碼檔案。或者,您可以透過以下命令在CentOS伺服器上透過wget命令下載MySQL:

$ sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.27.tar.gz

這會將MySQL 8.0.27原始碼檔案下載到CentOS伺服器的目前目錄。

  1. 解壓縮MySQL原始碼

使用下列指令解壓縮剛剛下載的MySQL 8.0.27原始碼:

$ sudo tar xf mysql-8.0.27.tar.gz

此指令將MySQL原始碼檔案解壓縮到目前目錄。

  1. 安裝相依性

使用下列指令在CentOS伺服器上安裝一些必要的依賴項:

$ sudo yum install -y libaio-devel openssl-devel
  1. #編譯並安裝MySQL

以下是編譯和安裝MySQL的步驟:

$ cd mysql-8.0.27
$ sudo groupadd mysql
$ sudo useradd -r -g mysql -s /bin/false mysql
$ sudo cmake . -DMYSQL_DATADIR=/var/lib/mysql 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DDEFAULT_CHARSET=utf8mb4 
-DDEFAULT_COLLATION=utf8mb4_unicode_ci 
-DWITH_BOOST=/usr/local/boost 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PARTITION_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 
-DENABLED_LOCAL_INFILE=1 
-DENABLE_DOWNLOADS=1 
-DDOWNLOAD_BOOST=1 
-DWITH_SSL=system 
-DWITH_ZLIB=bundled 
-DENABLED_LOCAL_INFILE=1 
-DENABLE_DTRACE=0 
-DWITH_DEBUG=0
$ sudo make
$ sudo make install

這裡解釋一下這些參數的意義:

  • MYSQL_DATADIR=/var/lib/mysql:指定MySQL的資料目錄。
  • CMAKE_INSTALL_PREFIX=/usr/local/mysql:指定MySQL的安裝目錄。
  • DEFAULT_CHARSET=utf8mb4和DEFAULT_COLLATION=utf8mb4_unicode_ci:使用UTF-8編碼。
  • WITH_BOOST=/usr/local/boost:使用Boost函式庫。
  • WITH_INNOBASE_STORAGE_ENGINE=1、WITH_ARCHIVE_STORAGE_ENGINE=1、WITH_BLACKHOLE_STORAGE_ENGINE=1、WITH_PARTITION_STORAGE_ENGINE=1、WITH_FEDERATED_STORAGE_ENGINE=1:使用不同的儲存引擎。
  • ENABLE_DOWNLOADS=1和DOWNLOAD_BOOST=1:從MySQL官網下載Boost程式庫。
  • WITH_SSL=system和WITH_ZLIB=bundled:僅使用系統的OpenSSL和MySQL內建的Zlib函式庫。
  • ENABLED_LOCAL_INFILE=1:允許使用「LOAD DATA LOCAL INFILE」語句。
  • ENABLE_DTRACE=0:停用DTrace功能。
  • WITH_DEBUG=0:停用偵錯資訊。
  1. 設定MySQL

使用下列指令建立MySQL設定檔並啟用系統日誌:

$ sudo cp support-files/mysql.server /etc/init.d/mysql
$ sudo chmod +x /etc/init.d/mysql
$ sudo touch /var/log/mysql/mysqld.log
$ sudo chown -R mysql:mysql /usr/local/mysql
$ sudo chown -R mysql:mysql /var/log/mysql
$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

然後,編輯/etc/my. cnf檔案並新增以下內容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
  1. 初始化MySQL和設定管理員密碼

使用下列指令初始化MySQL並設定管理員密碼:

$ cd /usr/local/mysql/bin
$ sudo ./mysqld --initialize-insecure --user=mysql
$ sudo chown -R mysql:mysql /var/lib/mysql
$ sudo systemctl start mysql
$ sudo /usr/local/mysql/bin/mysql_secure_installation

--initialize-insecure:初始化MySQL並允許未加密的root密碼。

--user=mysql:以mysql使用者的身分啟動MySQL。

mysql_secure_installation:執行MySQL安全安裝精靈並為root使用者設定密碼。

  1. 測試MySQL

最後,使用以下指令測試MySQL是否成功安裝,並使用新設定的管理員密碼登入:

$ mysql -u root -p

如果一切正常,您應該能夠登入MySQL命令列提示符。

總結

在CentOS 7上編譯安裝MySQL可能需要一些時間和功夫,但它提供了細粒度控制和更好的效能。如果您使用MySQL進行生產工作負載,這是一個很好的選擇。透過按照本文中的步驟進行操作,您應該能夠成功地在CentOS伺服器上安裝和設定MySQL。

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

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