手動編譯 Percona Server for MySQL 5.5 以 Debian Linux 12 Bookworm 為例

隨著 MySQL 8.x 版本的陸續更新, Percona 的 Percona Server for MySQL 也同樣支援, 不過想要在新的 OS (例如 Debian Linux 12 Bookworm) 上使用舊版 MySQL, Percona 已經不提供5.5版 DEB 安裝檔, 所以藉由此實驗在 Debian Linux 12 Bookworm 編譯 Percona Server for MySQL 5.5, 給一些小專案使用測試, 相對的5.6版應該也適用, 那麼就來測試編譯 Percona Server for MySQL 5.5 於新的 Linux 作業系統上

本文參考: Compile Percona Server for MySQL 8.0 from source

首先起始一台 Debian Linux 12 Bookworm 虛擬機, 預先安裝編譯 MySQL 需要的套件
apt-get install build-essential cmake curl git ncurses-dev libaio-dev libbison-dev systemtap-sdt-dev


取得 Percona Server for MySQL 5.5 原始碼檔案
git clone https://github.com/percona/percona-server.git

過程有些冗長, 等待下載

進入下載目錄
cd percona-server


切換到 5.5 版本
git checkout 5.5
git submodule init
git submodule update


建構軟體系統
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DIGNORE_AIO_CHECK=true


開始編譯與安裝
make
make install

這步驟也需要等待, 最後 MySQL Server 軟體會安裝到 /usr/local/mysql/ 目錄之下

建立 mysql 帳號與群組
groupadd mysql
useradd -g mysql -d /usr/local/mysql mysql
chown -R mysql:mysql /usr/local/mysql


建立存放資料庫檔案目錄
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql


建立 socket 檔案目錄
mkdir /run/mysqld


加入 MySQL Server 與工具程式到 PATH 變數
export PATH="$PATH:/usr/local/mysql/bin"
source ~/.profile
source ~/.bashrc


編輯 my.cnf
nano /etc/my.cnf

貼上以下內容
[mysqld]
datadir=/var/lib/mysql
socket=/run/mysqld/mysql.sock
symbolic-links=0
collation-server=utf8_unicode_ci
character-set-server=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/run/mysqld/mysqld.pid

[client]
socket=/run/mysqld/mysql.sock


變更 socket 檔案權限
chown -R mysql:root /run/mysqld


初始化資料庫檔案目錄
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --datadir=/var/lib/mysql -basedir=/usr/local/mysql


更新權限
chown -R mysql:mysql /var/lib/mysql

可以看到 /var/lib/mysql 目錄已經安裝好MySQL 伺服器需要的資料表

複製啟動程式
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld


測試啟動
/etc/init.d/mysqld start


可以用更簡單的方式啟動/重啟/關閉 MySQL 伺服器
systemctl daemon-reload
service mysql restart


用 MySQL client 程式進入伺服器, 並對權限加上密碼(依照您的需求)
mysql -u root

請記得更新 root 帳號的密碼

SET PASSWORD = PASSWORD('mypassword');
FLUSH PRIVILEGES;


以上是 Percona Server for MySQL 5.5 編譯範例, 謝謝收看
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!