linux mysql 5.7源碼編譯安裝

之前在網上看到的mysql5.7的源碼安裝, 中間出現了不少的錯誤,在這裏重新糾正一下,親測可用 其實最重要的是在make的時候。。

 

1、下載源碼

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

在以下地地址下載源碼

在Select Operating System: 選項選擇 source code

在Select OS Version: 選項選擇generic linux

或者直接在linux 系統

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz

下載下來的文件名稱是 mysql-boost-5.7.23.tar.gz

ps 該文件已經含有了boost文件

2、修改主機名,關閉防火牆及selinux

修改主機名:我用的是contos 6 所以直接修改vi /etc/sysconfig/network  ,修改如下


 
  1. NETWORKING=yes

  2. HOSTNAME=testsql

關閉防火牆:

service iptables stop

設置開機不啓動防火牆

chkconfig iptables off;

關閉selinux:

修改/etc/selinux/config 文件 把SELINUX 的值改爲disabled


 
  1. [root@testsql ~]# cat /etc/selinux/config

  2.  
  3. # This file controls the state of SELinux on the system.

  4. # SELINUX= can take one of these three values:

  5. # enforcing - SELinux security policy is enforced.

  6. # permissive - SELinux prints warnings instead of enforcing.

  7. # disabled - No SELinux policy is loaded.

  8. SELINUX=disabled

  9. # SELINUXTYPE= can take one of these two values:

  10. # targeted - Targeted processes are protected,

  11. # mls - Multi Level Security protection.

  12. SELINUXTYPE=targeted

  13.  

3、做完以上步驟之後,重啓操作系統 reboot;

4、安裝cmake

這裏用一種比較簡單的方法來安裝cmake

yum -y install wget gcc-c++ ncurses-devel cmake make perl

5、創建用戶、目錄、添加環境變量及修改hosts

創建用戶:

groupadd mysql

useradd -g mysql  mysql -s /sbin/nologin (不允許操作系統以mysql用戶登陸)

創建目錄:

mkdir -p /application/mysql5.7.23
ln -s  /application/mysql /application/mysql5.7.23

mkdir -p /data/mysql
mkdir -p /data/mysql/data
mkdir -p /data/mysql/logs
mkdir -p /data/mysql/temp

chow -R mysql:mysql /data

編輯PATH搜索路徑:

修改/etc/profile 往裏面加入


 
  1. PATH=/application/mysql/bin:/application/mysql/lib:$PATH

  2. export PATH

source /etc/profile

修改 /etc/hosts:

往裏面加入 主機IP 域名


 
  1. [root@testsql ~]# cat /etc/hosts

  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  4.  
  5. 192.168.115.132 testmysql

  6. [root@testsql ~]#

一般如果沒有特別要求最好就是域名與主機名一樣,之前安裝用ambari安裝hadoop 的時候就是因爲域名與主機名不一樣報錯,所以 以後一般安裝軟件的時候,最好就設置 這兩個值一樣

6、上傳安裝包,並且解壓安裝包

上傳下載的源碼到/temp目錄,並且 解壓文件

tar -zxvf mysql-boost-5.7.23.tar.gz

進入mysql5.7.23裏面

7、配置並且安裝


 
  1. cmake \

  2. -DCMAKE_INSTALL_PREFIX=/application/mysql \

  3. -DMYSQL_UNIX_ADDR=/application/mysql.sock \

  4. -DDEFAULT_CHARSET=utf8 \

  5. -DDEFAULT_COLLATION=utf8_general_ci \

  6. -DWITH_MYISAM_STORAGE_ENGINE=1 \

  7. -DWITH_INNOBASE_STORAGE_ENGINE=1 \

  8. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

  9. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

  10. -DWITH_MEMORY_STORAGE_ENGINE=1 \

  11. -DWITH_READLINE=1 \

  12. -DENABLED_LOCAL_INFILE=1 \

  13. -DMYSQL_DATADIR=/home/mysql/data \

  14. -DMYSQL_USER=mysql \

  15. -DMYSQL_TCP_PORT=3306 \

  16. -DENABLE_DOWNLOADS=1 \

  17. -DWITH_BOOST=boost/boost_1_59_0/

cmake 執行完成之後

 執行 make 命令

在這裏是重點。有的系統的內在不在1G之上, 但是mysql5.7的要求是在1G以上的內在才行。所有要臨時提升一下內存空間。。

如果出現 c++: internal compiler error: Killed (program cc1plus) 

運行如下命令。臨時提升一下內存空間。再次Make

$dd if=/dev/zero of=/data/swap_add bs=1M count=2048

$mkswap /data/swap_add

$swapon /data/swap_add $swapon -s

執行make 之後

echo $?

確認一下有沒有 錯

ps linux 每執行一個命令都會返回一個命令值 ,如果該值爲0則表示命令執行成功。

make install

執行以上命令,如果沒有 錯則表示安裝成功 ,如果有錯需要重新編譯的話可以執行

make clean

rm -rf CMakeCache.txt

8、初始化數據庫


 
  1. cd /application/myql

  2.  
  3. ./bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

編譯完成之後顯示有root用戶的默認賬號密碼,該密碼是用來初次登陸數據庫

9、修改配置文件

cp /application/mysql/support-files/my-default.cnf  /etc/my.cnf

vi /etc/my.cnf


 
  1. basedir =/application/mysql

  2. datadir =/data/mysql/data

  3. port = 3306

  4. socket = /data/mysql/temp/mysql.sock

  5. user=mysql

  6. # Disabling symbolic-links is recommended to prevent assorted security risks

  7. symbolic-links=0

  8.  
  9. [mysqld_safe]

  10. log-error=/var/log/mysqld.log

  11. pid-file=/var/run/mysqld/mysqld.pid

  12.  
  13. [client]

  14. socket = /data/mysql/temp/mysql.sock

 

10、配置 使用dervice啓動關閉數據庫


 
  1. cp /application/mysql/support-files/mysql.server /etc/init.d/mysql

  2. chkconfig mysql on

啓動關閉數據庫

 

11.在我們啓動數據庫的時候可能會報錯

大概意思是sock文件不存在 , 這個時候 service mysql restart 重啓能解決問題。但是在重啓的時候又出現一個問題,大概意思是pid文件不存在 。如果是按照上面的配置來的話。 就仔細對照一下配置文件是否和上面的一致。  

12.在成功進入數據庫的時候可能也會報錯, 大概意思是說在有動作之前必須重置密碼

輸入set password = password('123123')  query Ok 說明成功。 到這裏基本沒有什麼問題

就是在make的時候可能會消耗很長的時候,大家耐心等待。。 如果有什麼問題可以聯繫QQ 979928978
 


 
  1. service mysql start

  2. service mysql stop

 

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