Linux(CentOS或RadHat)下MySQL源碼安裝

來源:互聯網
上載者:User

標籤:tar.gz   tmp   weight   baidu   strong   指定   engine   har   預設   

安裝環境:

CentOS6.3 64位

軟體:

Mysql-5.6

所需包:

gcc/g++ :MySQL 5.6開始,需要使用g++進行編譯。
cmake  :MySQL 5.5開始,使用cmake進行工程管理,cmake需要2.8以上版本。
bison  :MySQL文法解析器需要使用bison進行編譯。
ncurses-devel :用於終端操作的開發包。
zlib    :MySQL使用zlib進行壓縮

有關庫包下載:

可以自己去官網下載,也可以去網盤下載

http://pan.baidu.com/s/1nuOm0fn

有關MySQL編譯參數:
  CMAKE_BUILD_TYPE            編譯的版本類型:RelWithDebInfo和Debug,不同之處是RelWithDebInfo會進行最佳化。
  CMAKE_INSTALL_PREFIX        指定make install安裝的目標路徑。
  SYSCONFDIR                  指定設定檔的預設路徑。
  MYSQL_DATADIR              指定data目錄的預設路徑。
  WITH_DEBUG                  指定是否有debugging資訊,一般用於源碼調試時,開啟WITH_DEBUG,生產環境關閉。
  ENABLED_PROFILING          指定是否可以使用show profile顯示操作執行的詳細資料。
  DEFAULT_CHARSET            指定預設字元集,可以在啟動的設定檔中指定。
  DEFAULT_COLLATION          指定預設字元比較、排序的規則。
  WITH_EXTRA_CHARSETS        指定其他可能使用的字元集。
  WITH_SSL                    指定SSL的類型,從5.6.6開始預設bundled類型,此外也可以指定SSL庫的路徑地址。
  WITH_ZLIB                  指定zlib的類型,用於壓縮功能。
  ENABLED_LOCAL_INFILE        指定是否允許使用load data infile功能。
  WITH_EMBEDDED_SERVER        指定是否編譯libmysqld嵌入式庫。
  INSTALL_LAYOUT              指定安裝的布局類型。
  WITH_storage_STORAGE_ENGINE 指定編譯支援的儲存引擎,預設支援MyISAM,MERGE,MEMORY,CSV儲存引擎。

 

編譯安裝:

1.安裝必須的庫

通過YUM繼續安裝

gcc相關的包:yum install gcc*

yum install bison

yum install ncurses-devel

yum install zlib

Cmake由於CentOS6.3 yum中的Cmake版本為2.6而安裝MySQL需要2.8以上的版本因而Cmake採用源碼編譯安裝

(1)cmake安裝:

本次安裝採用的是cmake-2.8.5.tar.gz版本的包

tar -zxvf cmake-2.8.5.tar.gzcd cmake-2.8.5./configuremakemake install

全部成功後輸入cmake --version命令

如果結果為:cmake version 2.8.5 則cmake安裝成功。

ps:如果沒有cmake的命令, 把bin下的cmake拷貝到/usr/bin/下

2.MySQL安裝

MySQL源碼安裝包:(本次安裝mysql 5.6.30版本)

mysql-5.6.30.tar.gz

tar -zxvf mysql-5.6.30.tar.gzcd mysql-5.6.30
#建立mysql目錄mkdir -p /mysql/mkdir -p /mysql/dategroupadd mysqluseradd -r -g mysql mysqlcmake . -DCMAKE_INSTALL_PREFIX=/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1makemake install

mysql安裝參數說明:

-DCMAKE_INSTALL_PREFIX------------------------安裝目錄

-DINSTALL_DATADIR-------------------------資料庫存放目錄

-DDEFAULT_CHARSET---------------------------使用utf8字元

-DDEFAULT_COLLATION----------------------------校正字元

-DEXTRA_CHARSETS--------------------安裝所有擴充字元集

-DENABLED_LOCAL_INFILE------------允許從本地匯入資料

 

PS:如果需要重新編譯的時候,需要舊的對象檔案和緩衝資訊

 

make cleanrm -f CMakeCache.txtrm -rf /etc/my.cnf

 

編譯安裝完成後

啟動mysql服務:

chown -R root:mysql /mysqlchown -R mysql:mysql /mysql/date/cd /mysqlscripts/mysql_install_db --user=mysqlcp support-files/mysql.server /etc/init.d/mysqld

 

vi /root/.bash_profile

在最後加上一行

PATH=$PATH:$HOME/bin:/mysql/bin:/mysql/lib

 

到目前為止mysql安裝工作就完成了

最後我們啟動mysql服務:

service mysqld start 

(服務名根據cp support-files/mysql.server /etc/init.d/mysqld複製過去的名字為準)

顯示Starting MySQL.. SUCCESS! 則啟動成功

 

修改ROOT使用者密碼,修改遠程登入許可權:

登入mysql資料庫

mysql -uroot

#一開始預設密碼為空白

如果出現 ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ 錯誤

解決方案如下

先查看報錯資訊尋找mysql.sock的位置,本次是位於/tmp/mysql.sock中

修改my.cnf檔案

vi /etc/my.cnf

把mysqld中的socket目錄修改為/tmp/mysql.sock目錄。

然後重啟服務 

service mysqld restart

在重新登入mysql資料庫 

mysql -uroot

登入之後

use mysql; #選取資料庫
GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root"; #賦予遠程登入許可權
update user set Password = password(‘*********‘) where User=‘root‘; #修改root密碼*******替換為需要的密碼
flush privileges; #提交操作

之後root使用者登入mysql資料庫就要求輸入密碼了

PS:遠程登入如果無法登陸檢查一下伺服器防火牆是否已經關閉

PS:如果不能遠端連線,出現錯誤mysql error number 1130,則加入下面語句試試:

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘******‘ WITH GRANT OPTION;

Linux(CentOS或RadHat)下MySQL源碼安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.