CentOS 6.7下原始碼編譯安裝MySQL 5.7.5

luashin發表於2016-04-04
說明:CentOS 6.7下原始碼編譯安裝MySQL 5.7.5
1. 安裝相關工具
# yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

2. 清理環境
檢查boost版本:
# rpm -qa boost*
解除安裝boost-*等庫:
# yum -y remove boost-*

3. mysql原始碼包下載
mysql5.7原始碼下載: 

mysql映象站: 


4. 建立mysql使用者,組及目錄
# groupadd mysql
# mkdir /home/mysql
# mkdir /home/mysql/data
# useradd -g mysql -d /home/mysql

5. 注意事項
從MySQL 5.7.5開始Boost庫是必需的,下載Boost庫,在解壓後複製到/usr/local/boost目錄下,然後重新cmake並在後面的選項中加上選項 -DWITH_BOOST=/usr/local/boost 
(下載:)
需求boost1.57.0
wget -c

6. 新版本的mysq用cmake編譯安裝
解壓mysql原始碼包mysql-5.7.5-m15.tar.gz
# tar -xzvf mysql-5.7.5-m15.tar.gz
以下操作在解壓後的原始碼包的根目錄執行
cmake編譯
# cmake -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
常用引數:
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
編譯安裝
# make && make install
出錯後重新執行配置,需要刪除CMakeCache.txt檔案
# make clean 
# rm -f CMakeCache.txt 

7. 設定許可權並初始化MySQL系統授權表
設定許可權
# cd /home/mysql
# chown -R mysql .
# chgrp -R mysql .
以root初始化操作時要加-user=mysql引數,生成一個隨機密碼(注意儲存登入時用)
# cd /home/mysql
# bin/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

8. 建立配置檔案
將預設生成的my.cnf備份
# mv /etc/my.cnf /etc/my.cnf.bak
進入mysql的安裝目錄支援檔案目錄
# cd /home/mysql/support-files
複製配置檔案模板為新的mysql配置檔案,
# cp my-default.cnf /etc/my.cnf
可按需修改新的配置檔案選項, 不修改配置選項, mysql則按預設配置引數執行. 
如下是我修改配置檔案/etc/my.cnf, 用於設定編碼為utf8以防亂碼
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

[client]
default-character-set=utf8

9. 配置mysql服務開機自動啟動
複製啟動檔案到/etc/init.d/下並重命令為mysqld
# cp /home/mysql/support-files/mysql.server /etc/init.d/mysql
增加執行許可權
# chmod 755 /etc/init.d/mysqld
檢查自啟動項列表中沒有mysqld這個,如果沒有就新增mysqld:
# chkconfig --list mysqld
# chkconfig --add mysqld
設定MySQL在345等級自動啟動
# chkconfig --level 345 mysqld on
或用這個命令設定開機啟動:
# chkconfig mysqld on

10. mysql服務的啟動/重啟/停止
啟動mysql服務
# service mysqld start
重啟mysql服務
# service mysqld restart
停止mysql服務
# service mysqld stop

11. 訪問mysql資料庫
連線mysql, 輸入初始化生成的隨機密碼
# mysql -uroot -p
修改root新密碼如 123456
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> quit; 
mysql> exit;(與上等效, 都是退出mysql連線)
使用新密碼重新連線mysql
# mysql -uroot -p

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2074928/,如需轉載,請註明出處,否則將追究法律責任。

相關文章