CentOS是一種流行的Linux發行版,對於想要在CentOS上建立MySQL資料庫的使用者來說,常見的方法是使用套件管理器(例如yum)來安裝預先編譯的二進位檔案。但有時候我們可能需要自己從原始碼編譯建置MySQL,本文就來介紹在CentOS上如何編譯安裝MySQL的過程。
第一步:準備編譯環境
在編譯MySQL之前,我們需要安裝一些必要的依賴項,以確保系統能夠編譯和執行MySQL。可以透過以下命令一次安裝所需的依賴:
sudo yum -y install cmake gcc gcc-c++ ncurses-devel openssl-devel wget
上述命令將安裝編譯MySQL所需的幾個重要依賴,包括cmake、gcc、gcc-c 、ncurses-devel、openssl-devel和wget。
第二步:下載MySQL原始碼
你可以從MySQL官方網站下載最新的原始碼包,例如“mysql-8.0.23.tar.gz”,儲存到“/在usr/local/src」資料夾中:
sudo wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.23.tar.gz -P /usr/local/src/
然後將下載的原始碼包解壓縮:
sudo tar xf /usr/local/src/mysql-8.0.23.tar.gz -C /usr/local/src/
然後將MySQL解壓縮的資料夾的所有權賦給MySQL使用者:
sudo chown -R mysql:mysql /usr/local/src/mysql-8.0.23
第三個步驟:編譯MySQL
在編譯MySQL之前,我們需要建立一個建置目錄,並CD到該目錄:
sudo mkdir -p /usr/local/mysql/build cd /usr/local/mysql/build
接下來,我們使用cmake指令為MySQL進行配置。設定“-DCMAKE_INSTALL_PREFIX”選項為“/usr/local/mysql”,指定要安裝MySQL二進位檔案和函式庫檔案的目錄:
sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
然後我們執行make指令來編譯MySQL:
sudo make
此過程需要一些時間,取決於您的機器性能。一旦編譯完成,您可以使用以下命令將MySQL安裝到指定目錄(/usr/local/mysql):
sudo make install
第四步:設定MySQL
一旦MySQL編譯並安裝成功,我們就需要為其建立設定檔以啟動MySQL守護程式。
在MySQL原始碼目錄下,將「my.cnf」樣板檔案複製到「/etc」目錄下:
sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
然後將「/usr/local/mysql/bin」路徑新增至系統的PATH環境變數:
sudo vi /etc/profile.d/mysql.sh
在檔案中新增以下命令:
export PATH=$PATH:/usr/local/mysql/bin
使設定檔生效:
source /etc/profile.d/mysql.sh
然後設定MySQL資料目錄,並為MySQL建立一個新的系統使用者和群組:
sudo mkdir -p /var/lib/mysql sudo groupadd mysql sudo useradd mysql -r -g mysql -s /bin/false sudo chown -R mysql:mysql /var/lib/mysql
接下來,我們要執行mysql_install_db腳本,以初始化MySQL系統表並設定基本安全設定:
sudo /usr/local/mysql/bin/mysql_install_db --user=mysql --ldata=/var/lib/mysql
最後,我們將建立一個Systemd服務文件,以便MySQL可以自動啟動並在系統重新啟動後重新啟動:
sudo vi /etc/systemd/system/mysql.service
將以下內容新增至檔案:
[Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql WorkingDirectory=/usr/local/mysql Type=forking ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid ExecStop=/usr/local/mysql/bin/mysqladmin -p shutdown TimeoutSec=30 Restart=always [Install] WantedBy=multi-user.target
然後重新載入Systemd並啟動MySQL服務:
sudo systemctl daemon-reload sudo systemctl enable mysql sudo systemctl start mysql
現在你已經成功地在CentOS上編譯安裝了MySQL!您可以使用以下命令啟動、停止和重新啟動MySQL服務:
sudo systemctl start mysql sudo systemctl stop mysql sudo systemctl restart mysql
以上是centos 編譯 安裝 mysql的詳細內容。更多資訊請關注PHP中文網其他相關文章!