首頁 >資料庫 >mysql教程 >mysql原始碼安裝 linux

mysql原始碼安裝 linux

王林
王林原創
2023-05-12 09:34:36675瀏覽

MySQL是一款開源的資料庫管理系統,廣泛應用於Web應用程式。在Linux系統中,MySQL的安裝方式有很多種,其中使用原始碼編譯的方式是最靈活、可自訂性最高的。以下將介紹使用原始碼編譯安裝MySQL的詳細步驟。

  1. 下載MySQL原始碼包

首先,需要在MySQL官網路上下載原始碼包,位址為:https://dev.mysql.com/downloads/mysql/ 。根據系統類型和版本選擇對應的源碼包,下載後解壓縮到指定的目錄。

  1. 安裝必要的依賴

在編譯MySQL之前,需要先安裝一些必要的依賴套件。在Ubuntu和Debian系統中,可以使用下列指令安裝:

sudo apt-get update
sudo apt-get install build-essential libncurses5-dev libssl-dev libaio-dev

在CentOS和RedHat系統中,可以使用下列指令安裝:

sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install ncurses-devel openssl-devel libaio-devel
  1. 設定MySQL編譯參數

在進行MySQL原始碼編譯之前,需要先設定編譯參數。可使用以下命令進行設定:

./configure --prefix=/usr/local/mysql 
            --with-charset=utf8mb4 
            --enable-thread-safe-client 
            --with-ssl 
            --with-plugins=innodb 
            --with-innodb-storage-engine 
            --with-embedded-server 
            --with-extra-charsets=all 
            --enable-local-infile 
            --enable-assembler 
            --with-unix-socket-path=/var/run/mysql/mysql.sock

其中,選項的意義如下:

  • prefix:指定安裝目錄。
  • with-charset:指定預設字元集。
  • enable-thread-safe-client:啟用執行緒安全的客戶端程式庫。
  • with-ssl:啟用SSL加密功能。
  • with-plugins:選定需要安裝的插件,這裡選擇InnoDB。
  • with-innodb-storage-engine:啟用InnoDB儲存引擎。
  • with-embedded-server:啟用MySQL內嵌伺服器。
  • with-extra-charsets:安裝額外的字元集。
  • enable-local-infile:啟用LOAD DATA INFILE功能。
  • enable-assembler:啟用組譯最佳化。
  • with-unix-socket-path:指定unix socket檔案的位置。
  1. 編譯與安裝MySQL

配置完編譯參數後,可以使用下列指令進行編譯:

make

編譯過程可能會持續較長時間,取決於系統效能和來源碼包大小。編譯完成後,可以使用下列指令進行安裝:

sudo make install

安裝完成後,將會在/usr/local/mysql目錄下產生對應的檔案和目錄。

  1. 設定MySQL環境變數

安裝完成後,需要將MySQL加入環境變數。可以編輯/etc/profile文件,在文件末端新增以下語句:

export PATH=$PATH:/usr/local/mysql/bin

儲存檔案後,執行下列指令使設定生效:

source /etc/profile
  1. 設定MySQL服務

為了能夠將MySQL作為服務啟動和停止,需要建立一個服務文件。可以使用以下命令進行建立:

sudo vi /etc/systemd/system/mysql.service

將以下內容貼到檔案中:

[Unit]
Description=MySQL Community Server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/lib/mysql --socket=/var/run/mysql/mysql.sock
ExecStop=/usr/local/mysql/bin/mysqladmin -u root -p shutdown
Restart=always
PrivateTmp=false

該檔案中有三個部分:

  • Unit:服務名稱和描述,以及依賴關係。
  • Install:服務啟動時所需要的環境和服務的啟動等級。
  • Service:服務的相關設置,包括使用者和群組、啟動命令、停止命令等。
  1. 初始化MySQL

在完成MySQL的編譯和安裝後,需要初始化資料庫。可以使用以下命令進行初始化:

sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql

執行後將產生一個隨機密碼,需要記下來以便後續登入使用。初始化完成後,可以使用下列指令啟動MySQL服務:

sudo systemctl start mysql.service

此時,MySQL服務已經啟動成功。可以使用以下命令登入MySQL:

mysql -u root -p

輸入在初始化過程中產生的密碼即可登入MySQL中。

結論

透過原始碼編譯安裝MySQL,可以靈活地配置各種編譯參數,滿足不同的需求。同時也可以將MySQL安裝為系統服務,方便啟動和停止。雖然相對於其他安裝方式更加複雜,但在一些特殊的場景下,原始碼編譯安裝MySQL可以提供更好的客製化性和擴充性。

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

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