MySQL 5.6.19編譯安裝詳細步驟

urgel_babay發表於2016-02-29

MySQL編譯安裝環境介紹:
系統環境:RedHat6.3_x64
mysql 版本:5.6.19

一、配置好yum源。
    最簡單的方法就是,複製映象檔案裡面的兩個目錄到系統的一個目錄下。
例如我的,我把Packages和repodata複製/media/pak下

[root@zhanglin pak]# ls
Packages  repodata

修改yum的配置檔案,系統預設有一個以repos為字尾的檔案,你可以rm 掉,也可以mv 改名。或者繼續使用預設的名稱,都可以。
但是有一點,就是保證yum.repos.d目錄下只有一個以repos字尾結尾的檔案。

[root@zhanglin pak]# cat /etc/yum.repos.d/yum.repos
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///media/pak
enabled=1
gpgcheck=0

解釋:
baseurl(基礎路徑)=file:///media/pak
enabled=1 (是否開yum庫)
gpgcheck=0   不檢測 K檢測

    二、安裝依賴包。
1、配置好了yum源,安裝yum工具。
    yum list;
2、安裝依賴包:
    yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*


   三、新增使用者&組。
groupadd mysql
useradd -r -g mysql mysql


   四、安裝MySQL。
1、安裝cmake工具。
       在安裝MySQL前先要確定Linux系統是否已經安裝了cmake工具。據我瞭解的,大部分的沒有,尤其是6.0以後的各種Linux系統。
這幾簡單的介紹如何安裝cmake工具。
a、先下載好cmake ,建議選擇新版本。很多人在選擇下載包的時候,不知道選擇新版本還是舊版本。我建議選擇新版本,至少功能齊全,相容性更好。
b、解壓cmake包
c、cd進入解壓後的cmake目錄。
d、執行./configure   -----cmake只是一個工具,這裡不加引數,即:安裝到系統預設的位置,你也不用考過他會安裝到哪裡。
e、make && make install   ---幾分鐘就安裝好了

2、安裝MySQL
    a、解壓MySQL安裝包
[root@zhanglin soft]# tar -zxvf mysql-5.6.19.tar.gn
[root@zhanglin mysql-5.6.19]#cmake \
-DCMAKE_INSTALL_PREFIX=/u01/mysql \
-DMYSQL_DATADIR=/u01/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
    引數說明:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        -----   安裝目錄  這是MySQL的預設安裝位置,而我選擇的是/u01/mysql ,我覺得這樣管理方便,清晰
    -DINSTALL_DATADIR=/usr/local/mysql/data         -----   資料庫存放目錄
    -DDEFAULT_CHARSET=utf8                      -----   使用utf8字元
    -DDEFAULT_COLLATION=utf8_general_ci           -----    校驗字元
    -DEXTRA_CHARSETS=all                           -----    安裝所有擴充套件字符集
    -DENABLED_LOCAL_INFILE=1                        -----    允許從本地匯入資料

[root@zhanglin mysql-5.6.19]# make                       -----    這個階段,時間比較長
[root@zhanglin mysql-5.6.19]# make install  

五、MySQL初始配置

 (1)設定目錄許可權

    [root@zhanglin~]# cd /u01/mysql
    [root@zhanglin mysql]# chown -R root:mysql .                              ----   把當前目錄中所有檔案的所有者所有者設為root,所屬組為mysql
    [root@zhanglin mysql]# chown -R mysql:mysql data

 (2)設定MySQL服務:

    [root@zhanglin mysql]# cp support-files/my-medium.cnf /etc/my.cnf ----   將mysql的啟動服務新增到系統服務中

 (3)建立系統資料庫的表:
    [root@zhanglin mysql]# cd /u01/mysql
    [root@zhanglin mysql]# scripts/mysql_install_db --user=mysql --basedir=/u01/mysql --datadir=/u01/mysql/data -----   這個是必須的,這是初始化資料庫,否則會提示很多警告和錯誤

 (4)設定環境變數:

    [root@zhanglin~]# vi /root/.bash_profile                         -----    在PATH=$PATH:$HOME/bin新增引數為:

    PATH=$PATH:$HOME/bin:/u01/mysql/bin:/u01/mysql/lib
    [root@zhanglin~]#source /root/.bash_profile                   -----   使用環境變數生效

 (5)手動啟動mysql:

    [root@zhanglin~]# cd /u01/mysql
    [root@zhanglin mysql]# ./bin/mysqld_safe --user=mysql     -----    啟動MySQL,但不能停止
    啟動日誌寫在此檔案下:/u01/mysql/data/zhanglin.err (這裡記錄了mysql所有啟動時提示的各種資訊,包括錯誤資訊)

    關閉MySQL服務
    [root@zhanglin mysql]# mysqladmin -u root -p shutdown  -----  這裡MySQL的root使用者還沒有配置密碼,所以為空值需要輸入密碼時,直接點Enter鍵即可。

 (6)另一種簡單的啟動mysql的方法(mysql已經被新增到系統服務中):

    [root@zhanglin~]# service mysql.server start
    [root@zhanglin~]# service mysql.server stop
    [root@zhanglin~]# service mysql.server restart

    如果上述命令出現:mysql.server 未識別的服務
    則可能mysql還沒新增到系統服務中,下面用另一種方法新增:
    [root@zhanglin mysql]# cp support-files/mysql.server /etc/init.d/mysql ------   將mysql的啟動服務新增到系統服務中

    注意:主要是將mysql.server複製到/etc/init.d中,命名為mysql。在有的系統中,mysql.server在/u01/mysql/share/mysql/mysql.server中,而本系統中,mysql.server在/u01/mysql/support-files/mysql.server中。

    然後再用#service mysql start 來啟動mysql即可。
 或者
    [root@zhanglin mysql]# /etc/init.d/mysql start
    [root@zhanglin mysql]# /etc/init.d/mysql stop
    [root@zhanglin mysql]# /etc/init.d/mysql restart

 (7)修改MySQL的root使用者的密碼以及開啟遠端連線:

    [root@zhanglin~]# mysql -u root mysql
    mysql> use mysql;
    mysql> desc user;
    mysql> GRANT ALL PRIVILEGES ON *.* TO " IDENTIFIED BY "xxxxxx";  -----  為root新增遠端連線的能力。
    mysql> update user set Password = password('xxxxxx') where User='root';
    mysql> select Host,User,Password from user where User='root';
    mysql> flush privileges;
    mysql> exit

    重新登入:mysql -u root -p
    若還不能進行遠端連線,則關閉防火牆
    [root@zhanglin~]# /etc/rc.d/init.d/iptables stop

現在可以登入上,建表等等。

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

相關文章