# 安裝編譯依賴
yum install -y gcc gcc-c++ ncurses-devel cmake bison perl
# 建立 mysql 用戶
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
# 建立目錄
mkdir -p /usr/local/mysql /data/mysql
cd /usr/local/src
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44.tar.gz
tar zxvf mysql-5.7.44.tar.gz
cd mysql-5.7.44
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
make -j$(nproc)
make install
# 建立配置檔
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# 編輯 /etc/my.cnf 關鍵段落:
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
user=mysql
log-error=/data/mysql/error.log
pid-file=/data/mysql/mysql.pid
# 初始化資料目錄
cd /usr/local/mysql
./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# 設定啟動腳本
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
# 啟動服務
service mysqld start
# 設定 root 密碼
/usr/local/mysql/bin/mysqladmin -u root password 'NewPass123!'
# 登入測試
/usr/local/mysql/bin/mysql -u root -p
# 加入 PATH
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile
# 開放 3306
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
MySQL 5.7 已停止維護,生產環境建議直接安裝 MySQL 8.0 或 MariaDB 10.6+(yum/dnf install mysql-server 即可獲得官方預編譯穩定版)。