在centos6.6中mysql5.5的編譯、安裝、配置

  今天根據需求要在centos6.6上編譯安裝mysql5.5,因爲以前編譯安裝過感覺很簡單,但是今天還是出現了點小問題,所以把過安裝過程總結了一下:

   好像從mysql5.5開始編譯安裝mysql需要用到cmake工具進行編譯安裝,既然是編譯安裝,那麼肯定要用到一些依賴的類庫以及相關的編譯工具,所以需要事先安裝相關工具。

  

一 、編譯安裝

1.安裝mysql編譯過程中所需要的依賴關係以及編譯工具(需要先配置好yum源)

# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel bison cmake

2.使用yum安裝cmake編譯工具

#yum -y  install cmake

wKiom1fEAvmxoV8sAAAtH6QmZN8890.png-wh_50

3.安裝前需要檢查一下是否安裝mysql,如果有就卸載掉

# rpm -qa | grep mysql

4.下載mysql源碼包,並解壓

# tar xvf mysql-mysql-5.5.35.t15.tar

或者解壓到指定目錄(如:/usr/local)

# tar xvf mysql-mysql-5.5.35.t15.tar -C /usr/local

wKioL1fEA8-iKjLaAAAOmEmLo04589.png-wh_50

5.進入到mysql的解壓目錄,使用cmake編譯、安裝

# cd mysql-mysql-5.5.35.t15

 1)使用cmake編譯(根據自己的具體要求選擇編譯參數,下邊的選項參數僅供參考)

#cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

wKiom1fEBEaAIbhmAAAmqVuwOsQ364.png-wh_50

 2)安裝

#make && make install

wKiom1fEBI-RAPM-AAAvGqz13Io731.png-wh_50

稍等一會。。。

6.需要創建mysql用戶和mysql組,並修改mysql安裝目錄的所屬用戶和組

 1)創建mysql用戶和mysql組

#groupadd mysql

#useradd -g mysql -s /sbin/nologin mysql

 2)修改mysql安裝目錄的所屬用戶和組

#chown -R mysql:mysql /usr/local/mysql

wKioL1fEBNuAaq4yAAAwB5pj-KQ925.png-wh_50

7.進入mysql安裝目錄,執行初始化腳本,創建mysql自帶的數據庫和表

# cd /usr/local/mysql

wKioL1fEBQfwuAf7AAAUtuFCqKM278.png-wh_50

# cd scripts/

#./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

wKiom1fEBSzwQoojAAAfLRXGMDs518.png-wh_50

8.修改配置文件

# vi /etc/my.cnf

wKioL1fEBa6QBX3bAAAPq2tIhSQ349.png-wh_50

9.添加服務,設置mysql服務開機自啓

 1)添加服務,進入mysql安裝目錄,拷貝目錄/support-files下的mysql.server文件到/etc/init.d/目錄下,並重名爲mysql

#cd /usr/local/mysql

#cp support-files/mysql.server /etc/init.d/mysql

 2)設置開機自啓

# chkconfig mysql on

10.啓動mysql服務

wKioL1fEBePxKJbZAAAMVxc7MBc756.png-wh_50

11.編譯安裝的mysql沒有初始密碼,所以要給root用戶設置初始密碼

#/usr/local/mysql/bin/mysqladmin -u root password '123456'

wKiom1fEBhnykiSTAAAMGR34bgA822.png-wh_50

12.因爲手動編譯的,所有要爲mysql添加環境變量,不然在終端中輸入mysql將會提示命令找不到

 1)編輯/etc/profile,在文件末尾添加如下內容

export PATH=$PATH:/usr/local/mysql/bin

如:

wKiom1fEBkyzr-qsAAAQTR-I7XE885.png-wh_50

2)使文件立即生效

#source /etc/profile

13.現在mysql的安裝配置基本完成,可以去登陸、使用

wKiom1fEBoLT6SI3AAAHxokX6FI652.png-wh_50

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

可以修改/etc/my.cnf

添加如下內容:

[client]

socket=/var/lib/mysql/mysql.sock

如:

wKioL1fEBsiyfhMDAAAdJwDe4LI801.png-wh_50

14.如果希望其它遠程主機訪問該mysql,可以進行如下操作

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

wKioL1fEBxSxC4XYAAAYYUvQKZk199.png-wh_50

或者也可以去修改mysql庫中的user表,添加指定的host主機

15.由於防火牆默認沒有開啓3306端口,所以需要手動開啓此端口

編輯/etc/sysconfig/iptables

添加如下內容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

wKiom1fEBz3BZzVaAAAWNWrW4iE920.png-wh_50

16.此時我們可以查看一下允許訪問該數據庫的主機、用戶等信息

進入mysql庫,查看user表信息

mysql>use mysql

mysql>select host,user,password from user;

wKiom1fEB6fyPuFDAAAfpBVGjsg948.png-wh_50

可以看到我們分別設置的兩個密碼(本地訪問mysql的root用戶密碼和遠程訪問mysql的root用戶的密碼)

如果需要指定某些主機可以訪問該數據庫,則可以修改該表,添加指定主機的ip到該表中。

17.如果要更改數據庫的默認端口,則需要更改配置文件/etc/my.cnf

添加如下內容:

port:端口號 

例如:

wKioL1fEB-DDoIv5AAARLjflrrs252.png-wh_50

然後重啓mysql服務

#service mysql restart

注意:如果此處修改了默認端口號,則防火牆允許訪問的端口號也要進行更改,要與此文件中的端口號保持一致

18.如果在局域網內出現連接mysql比較慢的情況,可能是與mysql的DNS反向解析有關,可以把此功能關閉掉

修改文件/etc/my.cnf,添加如下內容:

skip-name-resolve

如:

wKioL1fECCTD6trAAAATWcEKlFQ845.png-wh_50

重啓mysql服務即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章