本文以 CentOS 6.5 為例,詳細記錄 MySQL 5.5.20 從依賴安裝、cmake 配置、編譯安裝到初始化、啟動驗證的全流程,並針對常見報錯提供解決方案。
# 安裝編譯工具鏈與依賴庫
yum -y install gcc gcc-c++ autoconf automake zlib libxml ncurses-devel libgcrypt libtool bison
# 安裝 cmake(MySQL 5.5+ 必須)
wget https://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
tar zxvf cmake-2.8.4.tar.gz && cd cmake-2.8.4
./configure && make && make install
groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql5.5.20/data
chown -R mysql:mysql /usr/local/mysql5.5.20
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5.20 \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql5.5.20/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
| 參數 | 作用 |
|---|---|
WITH_INNOBASE_STORAGE_ENGINE=1 | 啟用 InnoDB 引擎(5.5 預設已內建) |
EXTRA_CHARSETS=all | 編譯所有字符集,避免後續字符集缺失 |
WITH_SSL=system | 使用系統 OpenSSL,減少體積 |
yum install bisonMYSQL_USER 參數導致配置失敗:移除 -DMYSQL_USER=mysql 重試chmod 755 scripts/mysql_install_db
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql5.5.20 --datadir=/usr/local/mysql5.5.20/data
# 複製啟動腳本
mkdir /usr/local/mysql5.5.20/init.d
cp support-files/mysql.server /usr/local/mysql5.5.20/init.d/mysql
chmod +x /usr/local/mysql5.5.20/init.d/mysql
# 啟動並設密碼
/usr/local/mysql5.5.20/init.d/mysql start
/usr/local/mysql5.5.20/bin/mysqladmin -u root password '123456'
mysql -u root -p123456 -e "USE mysql; DELETE FROM user WHERE Password=''; FLUSH PRIVILEGES;"