源碼編譯mysql-5.7.11 下載地址: http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11.tar.gz http://liquidtelecom.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz 安裝必要的資源包 建議使用網絡yum源,RHEL6.5光盤中自帶的軟件包版本不夠,mysql-5.7.11.tar.gz的編譯對軟件包的版本要求比較高,其中cmake的版本要不低於2.8 網絡yum源配置能夠參考http://blog.sina.com.cn/s/blog_14e8c64ca0102vztv.html [root@xuegod163 ~]# yum -y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* make cmake 刪除系統自帶mysql [root@xuegod63 mysql-5.7.11]# yum -y remove mysql 添加用戶和組 [root@xuegod163 ~]# groupadd mysql [root@xuegod163 ~]# useradd -M -s /sbin/nologin -r -g mysql mysql 建立安裝目錄和數據存放目錄 添加一塊新的硬盤,建立分區sdb1並分配全部的空間 [root@xuegod163 ~]# mkdir /server [root@xuegod163 ~]# mount /dev/sdb1 /server/ 開機自動掛載 echo "/dev/sdb1 /server ext4 defaults 0 0" >> /etc/fstab 注:mysql-5.7.11.tar.gz安裝時佔用空間比較大,虛擬機環境下建議新添加一塊硬盤進行安裝,真實服務器中不須要 [root@xuegod163 ~]# mkdir -p /server/mysql/data 上傳源碼包包到/server目錄下或者直接wget進行下載源碼包 解壓源碼包 [root@xuegod163 server]# tar zxf boost_1_59_0.tar.gz [root@xuegod163 server]# tar zxf mysql-5.7.11.tar.gz 修改boost解壓目錄名稱 [root@xuegod163 server]# mv boost_1_59_0 boost 卸載系統自帶的boost庫 [root@xuegod163 ~]# yum -y remove boost-* 注:從mysql5.7.5以後源碼編譯boost庫是必須的 配置相關參數 [root@xuegod163 ~]# cd mysql-5.7.11 [root@xuegod163 mysql-5.7.11]# cmake -DCMAKE_INSTALL_PREFIX=/server/mysql \ -DMYSQL_DATADIR=/server/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=/server/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 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/server/boost 編譯的參數能夠參考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html CMAKE_INSTALL_PREFIX:指定MySQL程序的安裝目錄,默認/usr/local/mysql DEFAULT_CHARSET:指定服務器默認字符集,默認latin1 DEFAULT_COLLATION:指定服務器默認的校對規則,默認latin1_general_ci ENABLED_LOCAL_INFILE:指定是否容許本地執行LOAD DATA INFILE,默認OFF WITH_COMMENT:指定編譯備註信息 WITH_xxx_STORAGE_ENGINE:指定靜態編譯到mysql的存儲引擎,MyISAM,MERGE,MEMBER以及CSV四種引擎默認即被編譯至服務器,不須要特別指定。 WITHOUT_xxx_STORAGE_ENGINE:指定不編譯的存儲引擎 SYSCONFDIR:初始化參數文件目錄 MYSQL_DATADIR:數據文件目錄 MYSQL_TCP_PORT:服務端口號,默認3306 MYSQL_UNIX_ADDR:socket文件路徑,默認/tmp/mysql.sock 編譯 mysql-5.7.11.tar.gz編譯時會佔用大量的系統資源,建議使用多個核心同時進行編譯,不然可能會編譯失敗 [root@xuegod163 mysql-5.7.11]# make -j 4 查看服務器CPU核心數 [root@xuegod163 ~]# grep processor /proc/cpuinfo | wc -l 4 安裝 [root@xuegod163 mysql-5.7.11]# make install 修改目錄權限 [root@xuegod163 ~]# chown -R mysql:mysql /server/mysql 生成配置文件 [root@xuegod163 ~]# mv /etc/my.cnf{,.bak} [root@xuegod163 ~]# cp /server/mysql/support-files/my-default.cnf /etc/my.cnf 生成服務啓動腳本 [root@xuegod163 ~]# cp /server/mysql/support-files/mysql.server /etc/init.d/mysqld [root@xuegod163 ~]# chmod 755 /etc/init.d/mysqld [root@xuegod163 ~]# chkconfig --add mysqld [root@xuegod163 ~]# chkconfig mysqld on [root@xuegod163 ~]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 初始化數據庫 [root@xuegod163 ~]# /server/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/server/mysql --datadir=/server/mysql/data 啓動服務 [root@xuegod163 ~]# service mysqld start Starting MySQL [ OK ] 添加path路徑: vim /etc/profile 添加下面2行 在文件的結尾 export MYSQL_HOME=/server/mysql export PATH=$PATH:$MYSQL_HOME/bin 修改MySQL密碼 [root@xuegod163 ~]# mysql mysql> set password=password('123456');