CentOS 6.3/6.4 Minimal 源碼安裝 MySQL 5.6.10/5.6.11


MySQL 5.6正式版發布了,相對於5.5版本作出了不少改進,其源碼安裝配置方式也有所變化,本文根據實際操作,不斷嘗試,精確還原了安裝的具體步驟。

環境:CentOS 6.3/6.4 最小化缺省安裝,配置好網卡。

安裝MySQL前,確認Internet連接正常,以便下載安裝文件。

先使用 yum -y update 指令升級系統到最新版本。

本安裝將MySQL的數據文件與執行文件分離,如果你打算設置到不同的路徑,注意修改對應的執行命令和數據庫初始化腳本。

# 修改防火牆設置,打開3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

# 重啟防火牆使新設置生效
service iptables restart

# 新增用戶組
groupadd mysql

# 新增用戶
useradd mysql -g mysql

# 新建數據庫執行文件目錄
mkdir -p /usr/local/mysql

# 新建數據庫數據文件目錄
mkdir -p /db/mysql/data

# 編輯PATH搜索路徑
vi /etc/profile
Append these 2 lines to the end of the file:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

# 生效PATH搜索路徑
source /etc/profile

# 編輯hosts文件,加入本機IP和主機名
vi /etc/hosts
192.168.211.100      centhost.centdomain

# 安裝編譯源碼所需的工具和庫
yum -y install wget gcc-c++ ncurses-devel cmake make perl

# 進入源碼壓縮包下載目錄
cd /usr/local/src

# 下載源碼壓縮包,下載包34M大小,有點慢,等吧。
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz/from/http://cdn.mysql.com/

# 解壓縮源碼包
tar -zxvf mysql-5.6.10.tar.gz

# 進入解壓縮源碼目錄
cd mysql-5.6.10

# 從mysql5.5起,mysql源碼安裝開始使用cmake了,執行源碼編譯配置腳本

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-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 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/db/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306

# 編譯源碼,這一步時間會較長,耐心等待。
make

# 安裝
make install

# 清除安裝臨時文件
make clean

# 修改目錄擁有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /db/mysql/data

# 進入安裝路徑
cd /usr/local/mysql

# 執行初始化配置腳本,創建系統自帶的數據庫和表。
scripts/mysql_install_db --user=mysql --datadir=/db/mysql/data
初始化腳本在 /usr/local/mysql/my.cnf 生成了配置文件。需要更改該配置文件的所有者:
chown -R mysql:mysql /usr/local/mysql
多說兩句:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認位置!注意:在CentOS 6.4版操作系統的最小安裝完成后,在/etc目錄下會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。

# 復制服務啟動腳本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# 啟動MySQL服務
service mysql start

# 設置開機自動啟動服務
chkconfig mysql on

# 修改MySQL用戶root的密碼
mysql -u root

mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql>update user set Password = password('123456') where User='root';
mysql>flush privileges;
mysql>exit;

# 可選:運行安全設置腳本,修改MySQL用戶root(不是系統的root!)的密碼,禁止root遠程連接(防止破解密碼),移除test數據庫和匿名用戶,強烈建議生產服務器使用:

/usr/local/mysql/bin/mysql_secure_installation

 

后記:

2013年3月18日更新:
如果要使Windows平台下的MySQL和Linux平台下的MySQL協同工作,你需要設置Linux平台下的全局變量lower_case_table_names=1,強制將數據表名稱轉換為小寫(大小寫不敏感)。參考我另一篇博文:http://www.cnblogs.com/jlzhou/archive/2013/03/18/2966106.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM