CentOS7下源碼安裝5.6.23


清理CentOS7下的MariaDB。

[root@localhost ~]#rpm -qa | gremp mariadb

    [root@localhost ~]# rpm -e --nodeps mariadb.x86_64 1:5.5.41-2.el7_0
  1. 下載源碼

[root@localhost ~]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz 

  2.解壓

[root@localhost ~]# tar zxvf mysql-5.6.23.tar.gz

  3.安裝必要的包

[root@localhost ~]# sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper

已加載插件:fastestmirror, langpacks

base                                                     | 3.6 kB     00:00    

extras                                                   | 3.4 kB     00:00    

updates                                                  | 3.4 kB     00:00    

(1/2): extras/7/x86_64/primary_db                          | 117 kB   00:00    

(2/2): updates/7/x86_64/primary_db                         | 3.9 MB   00:01    

Determining fastest mirrors

 * base: mirrors.163.com

 * extras: mirrors.skyshe.cn

 * updates: mirrors.163.com

軟件包 perl-Data-Dumper-2.145-3.el7.x86_64 已安裝並且是最新版本

正在解決依賴關系

--> 正在檢查事務

---> 軟件包 cmake.x86_64.0.2.8.11-5.el7 將被 安裝

---> 軟件包 gcc-c++.x86_64.0.4.8.5-4.el7 將被 安裝

--> 正在處理依賴關系 libstdc++-devel = 4.8.5-4.el7,它被軟件包 gcc-c++-4.8.5-4.el7.x86_64 需要

--> 正在處理依賴關系 libstdc++ = 4.8.5-4.el7,它被軟件包 gcc-c++-4.8.5-4.el7.x86_64 需要

--> 正在處理依賴關系 gcc = 4.8.5-4.el7,它被軟件包 gcc-c++-4.8.5-4.el7.x86_64 需要

--> 正在處理依賴關系 libmpc.so.3()(64bit),它被軟件包 gcc-c++-4.8.5-4.el7.x86_64 需要

---> 軟件包 ncurses-devel.x86_64.0.5.9-13.20130511.el7 將被 安裝

--> 正在檢查事務

---> 軟件包 gcc.x86_64.0.4.8.5-4.el7 將被 安裝

--> 正在處理依賴關系 libgomp = 4.8.5-4.el7,它被軟件包 gcc-4.8.5-4.el7.x86_64 需要

--> 正在處理依賴關系 cpp = 4.8.5-4.el7,它被軟件包 gcc-4.8.5-4.el7.x86_64 需要

--> 正在處理依賴關系 libgcc >= 4.8.5-4.el7,它被軟件包 gcc-4.8.5-4.el7.x86_64 需要

---> 軟件包 libmpc.x86_64.0.1.0.1-3.el7 將被 安裝

---> 軟件包 libstdc++.x86_64.0.4.8.3-9.el7 將被 升級

---> 軟件包 libstdc++.x86_64.0.4.8.5-4.el7 將被 更新

---> 軟件包 libstdc++-devel.x86_64.0.4.8.5-4.el7 將被 安裝

--> 正在檢查事務

---> 軟件包 cpp.x86_64.0.4.8.5-4.el7 將被 安裝

---> 軟件包 libgcc.x86_64.0.4.8.3-9.el7 將被 升級

---> 軟件包 libgcc.x86_64.0.4.8.5-4.el7 將被 更新

---> 軟件包 libgomp.x86_64.0.4.8.3-9.el7 將被 升級

---> 軟件包 libgomp.x86_64.0.4.8.5-4.el7 將被 更新

--> 解決依賴關系完成

 

依賴關系解決

 

=====================================================

 Package             架構         版本                    源          大小

=====================================================

正在安裝:

 cmake           x86_64       2.8.11-5.el7               base       6.7 M

 gcc-c++         x86_64       4.8.5-4.el7                base       7.2 M

 ncurses-devel    x86_64       5.9-13.20130511.el7        base       713 k

為依賴而安裝:

 cpp             x86_64       4.8.5-4.el7                base       5.9 M

 gcc             x86_64       4.8.5-4.el7                base        16 M

 libmpc           x86_64       1.0.1-3.el7                base        51 k

 libstdc++-devel   x86_64       4.8.5-4.el7                base       1.5 M

為依賴而更新:

 libgcc            x86_64       4.8.5-4.el7                base        95 k

 libgomp          x86_64       4.8.5-4.el7                base       130 k

 libstdc++        x86_64       4.8.5-4.el7                base       298 k

 

事務概要

=====================================================

安裝  3 軟件包 (+4 依賴軟件包)

升級           ( 3 依賴軟件包)

 

總計:39 M

總下載量:38 M

Is this ok [y/d/N]: y

Downloading packages:

(1/7): libmpc-1.0.1-3.el7.x86_64.rpm                       |  51 kB   00:00    

(2/7): gcc-c++-4.8.5-4.el7.x86_64.rpm                      | 7.2 MB   00:03    

(3/7): libstdc++-devel-4.8.5-4.el7.x86_64.rpm              | 1.5 MB   00:03    

(4/7): ncurses-devel-5.9-13.20130511.el7.x86_64.rpm        | 713 kB   00:00    

(5/7): cpp-4.8.5-4.el7.x86_64.rpm                          | 5.9 MB   00:04    

(6/7): cmake-2.8.11-5.el7.x86_64.rpm                       | 6.7 MB   00:05    

(7/7): gcc-4.8.5-4.el7.x86_64.rpm                          |  16 MB   00:16    

-----------------------------------------------------------------------

總計                                             2.3 MB/s |  38 MB  00:16    

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在安裝: libmpc-1.0.1-3.el7.x86_64                                  1/13

  正在更新: libgcc-4.8.5-4.el7.x86_64                                  2/13

  正在更新: libstdc++-4.8.5-4.el7.x86_64                               3/13

  正在安裝: libstdc++-devel-4.8.5-4.el7.x86_64                         4/13

  正在安裝: cpp-4.8.5-4.el7.x86_64                                     5/13

  正在更新: libgomp-4.8.5-4.el7.x86_64                                 6/13

  正在安裝: gcc-4.8.5-4.el7.x86_64                                     7/13

  正在安裝:gcc-c++-4.8.5-4.el7.x86_64                                 8/13

  正在安裝:cmake-2.8.11-5.el7.x86_64                                  9/13

  正在安裝: ncurses-devel-5.9-13.20130511.el7.x86_64                  10/13

  清理: libstdc++-4.8.3-9.el7.x86_64                              11/13

  清理: libgcc-4.8.3-9.el7.x86_64                                 12/13

  清理: libgomp-4.8.3-9.el7.x86_64                                13/13

  驗證中: libstdc++-4.8.5-4.el7.x86_64                               1/13

  驗證中: libstdc++-devel-4.8.5-4.el7.x86_64                         2/13

  驗證中: gcc-4.8.5-4.el7.x86_64                                     3/13

  驗證中: cpp-4.8.5-4.el7.x86_64                                     4/13

  驗證中: ncurses-devel-5.9-13.20130511.el7.x86_64                   5/13

  驗證中: libgcc-4.8.5-4.el7.x86_64                                  6/13

  驗證中: libgomp-4.8.5-4.el7.x86_64                                 7/13

  驗證中: gcc-c++-4.8.5-4.el7.x86_64                                 8/13

  驗證中: libmpc-1.0.1-3.el7.x86_64                                  9/13

  驗證中: cmake-2.8.11-5.el7.x86_64                                 10/13

  驗證中: libgcc-4.8.3-9.el7.x86_64                                 11/13

  驗證中: libstdc++-4.8.3-9.el7.x86_64                              12/13

  驗證中: libgomp-4.8.3-9.el7.x86_64                                13/13

 

已安裝:

  cmake.x86_64 0:2.8.11-5.el7                   gcc-c++.x86_64 0:4.8.5-4.el7  

  ncurses-devel.x86_64 0:5.9-13.20130511.el7  

 

作為依賴被安裝:

  cpp.x86_64 0:4.8.5-4.el7           gcc.x86_64 0:4.8.5-4.el7                  

  libmpc.x86_64 0:1.0.1-3.el7        libstdc++-devel.x86_64 0:4.8.5-4.el7      

 

作為依賴被升級:

  libgcc.x86_64 0:4.8.5-4.el7             libgomp.x86_64 0:4.8.5-4.el7        

  libstdc++.x86_64 0:4.8.5-4.el7        

 

完畢! 

  4.進入mysql源碼目錄,生成makefile

[root@localhost mysql-5.6.23]# cmake . 

  5.編譯

[root@localhost mysql-5.6.23]# make  

  6.安裝

[root@localhost mysql-5.6.23]# make install  

mysql將會安裝到/usr/local/mysql路徑。

  7.添加mysql用戶和組

[root@localhost mysql-5.6.23]# groupadd mysql

[root@localhost mysql-5.6.23]# useradd -r -g mysql mysql  

  8.修改目錄和文件權限,安裝默認數據庫

[root@localhost mysql-5.6.23]# cd /usr/local/mysql  

[root@localhost mysql-5.6.23]# sudo chown -R mysql .  

[root@localhost mysql-5.6.23]# sudo chgrp -R mysql .  

[root@localhost mysql-5.6.23]# sudo scripts/mysql_install_db --user=mysql

[root@localhost mysql-5.6.23]# chown -R root .  

[root@localhost mysql-5.6.23]# chown -R mysql data  

至此,mysql就可以啟動運行了。

  9.啟動mysql

CentOS7自帶MariaDB的支持,/etc下默認存在my.cnf文件干擾mysql運行,需要先刪掉

[root@localhost mysql-5.6.23]# cd /etc  

[root@localhost etc]# rm -fr my.cnf my.cnf.d  

然后再/etc下重建my.cnf文件,內容如下

# For advice on how to change settings please see  

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html  

[mysqld]  

  

# Remove leading # and set to the amount of RAM for the most important data  

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.  

# innodb_buffer_pool_size = 128M  

  

# Remove leading # to turn on a very important data integrity option: logging  

# changes to the binary log between backups.  

# log_bin  

  

# These are commonly set, remove the # and set as required.  

# basedir = .....  

# datadir = /data/mysql/data  

# port = .....  

# server_id = .....  

# socket = .....  

  

# Remove leading # to set options mainly useful for eporting servers.  

# The server defaults are faster for transactions and fast SELECTs.  

# Adjust sizes as needed, experiment to find the optimal values.  

# join_buffer_size = 128M  

# sort_buffer_size = 2M  

# read_rnd_buffer_size = 2M   

  

max_connection = 10000  

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES   

  

#binary log   

log-bin = mysql-bin  

binlog_format = mixed  

expire_logs_day = 30  

  

#slow query log   

slow_query_log = 1  

slow_query_log_file = /var/log/mysql/slow.log  

long_query_time = 3  

log-queries-not-using-indexes  

log-slow-admin-statements  

  10.編輯/etc/rc.d/rc.local文件,添加mysql的開機啟動命令。

[root@localhost mysql-5.6.23]# vi /etc/rc.d/rc.loc

到末尾添加:

/usr/local/mysql/bin/mysqld_safe --user=mysql &  

 

然后給/etc/rc.d/rc.local添加可執行權限

[root@localhost mysql-5.6.23]# chmod a+x /etc/rc.d/rc.local 

  11.修改root密碼

/usr/loca/mysql/bin/mysql -uroot  

use mysql;  

UPDATE user SET password = PASSWORD('test2015') WHERE user = 'root';  

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'passwd2015';  

FLUSH PRIVILEGES;

 

  12.缺省源碼安裝的文件路徑

       都安裝在/usr/local/mysql文件夾中

              bin (客戶端程序和腳本)

              include/mysql(包含(頭)文件)

              info(Info格式的文檔)

              lib/mysql(庫文件)

              libexec(mysqld服務器)

              share/mysql(錯誤消息文件)

              sql-bench(基准程序和crash-me測試)

              var(數據庫和日志文件)

  13.源碼安裝的優缺點 

       優點:

可按需定制編譯,最靈活(建立在對linux非常熟悉的基礎上);

性能最好;

一台服務器可以安裝多個MySQL

       缺點:

              安裝過程交復雜

編譯時間長


免責聲明!

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



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