環境準備
# 建立用戶組/用戶
groupadd mysql
useradd -r -g mysql mysql
# 依賴包(CentOS/RedHat)
yum -y install gcc gcc-c++ ncurses-devel cmake bison
下載與解壓
cd /usr/local
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz
tar -zxvf mysql-5.6.10.tar.gz
cd mysql-5.6.10
cmake 配置與編譯安裝
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-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=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all
make -j$(nproc) && make install
初始化與配置
# 目錄授權
chown -R mysql:mysql /usr/local/mysql
# 初始化系統表(5.6 使用 mysql_install_db)
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 複製啟動腳本與配置
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# 註冊服務
chkconfig --add mysqld
chkconfig mysqld on
# 啟動
service mysqld start
設置 root 密碼與驗證
/usr/local/mysql/bin/mysqladmin -u root password 'NewPass123'
/usr/local/mysql/bin/mysqladmin -u root -h localhost password 'NewPass123'
# 登錄測試
/usr/local/mysql/bin/mysql -u root -p
# 顯示版本、連接 ID、字符集等信息即成功
常見坑點
cmake 缺 ncurses-devel → yum install ncurses-devel 後刪除 CMakeCache.txt 重跑。
- 缺
bison → yum install bison。
/etc/my.cnf 與 /usr/local/mysql/my.cnf 衝突,統一用 --defaults-file 指定。
- 防火牆放行 3306:
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT。