首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

CentOS 從原始碼編譯安裝 MySQL 完整教學(含配置、啟動、密碼設定)

     編輯:MySQL 資料庫相關知識

環境準備

# 安裝編譯依賴
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 即可獲得官方預編譯穩定版)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved