OS: Red Hat Enterprise Linux Server 6.2 (Santiago) Kernel: 2.6.32-220.el6.i686 Arch: i686 (32-bit) MySQL: 5.6.16 Source Distribution
檔案:mysql-5.6.16.tar.gz
rpm -ivh bison-devel-2.4.1-5.el6.i686.rpm rpm -ivh ncurses-devel-5.7-3.20090208.el6.i686.rpm
核心建構工具確認:
rpm -qa | grep -E 'gcc-c\+\+|make|cmake' # 確保 gcc-c++、make、cmake 已安裝
groupadd mysql useradd -g mysql mysql passwd mysql # 設定密碼
切換至 mysql 用戶,編輯 ~/.bash_profile:
export PATH=/sbin:$HOME/bin:/usr/local/mysql/bin:$PATH
tar -xvf mysql-5.6.16.tar.gz cd mysql-5.6.16
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci
參數含義:
CMAKE_INSTALL_PREFIX:安裝根目錄MYSQL_DATADIR:資料文件目錄WITH_*_STORAGE_ENGINE:啟用 MyISAM、InnoDB、Memory、Partition 引擎DEFAULT_CHARSET/COLLATION:預設字符集與排序規則完整選項參考:官方源碼配置選項
make && make install
編譯耗時視硬體而定,筆者環境約 20 分鐘。
chown -R mysql:mysql /usr/local/mysql
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/mysql service mysql start
/usr/local/mysql/bin/mysql_secure_installation
互動式完成以下項目:
mysqladmin -u root password 'new-password' mysqladmin -u root -h hostname password 'new-password' mysql -u root -p DELETE FROM mysql.user WHERE user=''; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypasswd' WITH GRANT OPTION; FLUSH PRIVILEGES;
ls -l /usr/local/mysql/ # 應包含 bin、data、include、lib、share、sql-bench 等目錄 # 根目錄下自動生成 my.cnf、my-new.cnf 配置文件
至此,MySQL 5.6.16 編譯安裝全流程完成,可投入生產或測試使用。