yum -y install gcc gcc-c++ ncurses-devel libaio-devel cmake
tar -zxvf cmake-2.8.4.tar.gz cd cmake-2.8.4 ./configure && make && make install
mkdir -p /usr/local/mysql /usr/local/mysql/data groupadd mysql useradd -r -g mysql -s /bin/false mysql
tar -zxvf mysql-5.5.10.tar.gz cd mysql-5.5.10 cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DENABLED_LOCAL_INFILE=1 \ -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 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system make -j$(nproc) make install
| 參數 | 說明 |
|---|---|
CMAKE_INSTALL_PREFIX | 安裝根目錄 |
MYSQL_DATADIR | 資料目錄 |
DEFAULT_CHARSET | 預設字元集 |
DEFAULT_COLLATION | 預設校對規則 |
EXTRA_CHARSETS | all/none/complex 控制編譯入哪些字元集 |
ENABLED_LOCAL_INFILE | 啟用 LOAD DATA LOCAL INFILE |
WITH_*_STORAGE_ENGINE | 靜態編譯引擎,減少 runtime 插件載入 |
WITH_SSL | system/bundled/yes/no |
WITH_ZLIB | system/bundled |
make clean rm -f CMakeCache.txt rm -rf /etc/my.cnf
cd /usr/local/mysql chown -R root:mysql . chown -R mysql:mysql data cp support-files/my-medium.cnf /etc/my.cnf scripts/mysql_install_db --user=mysql cp support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql chkconfig mysql on
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile source /etc/profile
service mysql start mysql -u root # 設定密碼與遠程授權 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES;
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT service iptables save
掌握 CMake 參數矩陣,即可按需定製專屬 MySQL 建置。