Linux 6.8 源碼安裝MySQL8.0


 搭建環境說明:

系統版本:Red Hat Enterprise Linux Server release 6.8 (Santiago)

內核版本:Linux 2.6.32-642.el6.x86_64

內網環境,無法使用網絡yum源

基礎環境配置:

 關閉防火牆:service iptables stop

設置防火牆開機不啟動:chkconfig iptables off

臨時修改selinux狀態:setenforce 0

永久修改(需重啟后生效):sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config

查看selinux狀態:getenforce

現在對應對應系統版本iso文件

上傳對應的鏡像文件到服務器上   

創建掛載點:mkdir /iso

將鏡像掛載到對應的掛載點:mount -o loop /home/Soft/rhel-server-6.8-x86_64-dvd.iso /iso

配置本地yum源:

vim /etc/yum.repos.d/local.repo

[localrepo]

name = localrepo

baseurl = file:///iso

enabled = 1

gpgcheck = 0

清理和列出可用的yum源

yum clean all

yum repolist

使用本地yum源安裝基礎環境的包:

yum install ncurses-devel -y
yum install libaio -y
yum install glibc-devel.i686 glibc-devel -y
yum install gcc gcc-c++ -y

yum -y install cmake

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

源碼升級安裝gcc到4.8以上(以4.8.2為例)

下載對應的源碼包,上傳到服務器指定的目錄

解壓,並切換到解壓后的gcc目錄

tar xf gcc-4.8.2.tar.gz
cd gcc-4.8.2

到此處之后,官方的辦法是會讓你執行一個腳本,腳本會默認去下載升級安裝gcc所需要的包,但是在內網環境下只能手動下載了

將下載好的包上傳到gcc-4.8.2目錄,並在此目錄下執行寫好的腳本a.sh

cat a.sh

MPFR=mpfr-3.1.4
GMP=gmp-4.3.2
MPC=mpc-1.0.3

tar xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1

tar xjf $GMP.tar.bz2 || exit 1
ln -sf $GMP gmp || exit 1

tar xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1

rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz || exit 1

腳本執行成功之后就開始預編譯了:

./configure --prefix=/usr/local/gcc-4.8.2/   --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++

然后是編譯和安裝

make && make install  (注意編譯的時間會比較長,一般情況下是30到60分鍾,具體情況視服務器的性能而定,切記在編譯是不要對服務器做其他操作)

編譯安裝好之后需要將系統自帶的gcc移動到其他目錄備份(備份的目的是以防安裝GCC失敗之后可以回滾),然后將新安裝的GCC軟連接到對應的庫 

操作步驟已經寫到如下腳本(movegcc.sh),只需執行(bash movegcc.sh)即可  

腳本內容如下:

mv /usr/bin/gcc /usr/bin/gcc447
mv /usr/bin/g++ /usr/bin/g++447
mv /usr/bin/c++ /usr/bin/c++447
mv /usr/bin/cc /usr/bin/cc447

ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-4.8.2/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-4.8.2/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/cc

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

腳本執行成功之后就可以查看當前使用的gcc版本了  查看的命令:gcc -v

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

gcc升級結束之后,現在需要安裝mysql8.0依賴的另一個軟件boost,由於是內網環境,所以還是只能自己下載,源碼安裝了

下載和mysql版本對應的boost包,然后編譯安裝

解壓,切換目錄

tar xf boost_1_60_0.tar.bz2

cd boost_1_60_0

執行腳本

./bootstrap.sh   (創建引擎)

./b2 stage threading=multi link=shared

./b2 install threading=multi link=shared
==================================================================================================

成功安裝安裝gcc和boost之后,接下來就是源碼安裝mysql了

下載好源碼包之后上傳到服務器指定目錄,解壓然后切換目錄

tar xf mysql-boost-8.0.0-dmr.tar.gz
cd mysql-8.0.0-dmr

使用cmake 創建編譯環境

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ -DSYSCONFDIR=\etc\mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=/tmp/boost_1_60_0/

參數說明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql     該路徑表示你想要將mysql安裝在哪個目錄,具體情況視服務器的情況處理

-DMYSQL_DATADIR=/usr/local/mysql/data/     該路徑表示你想要將mysql的數據村放在哪個目錄,具體情況視服務器的情況處理

-DWITH_BOOST=/tmp/boost_1_60_0/    該路徑表示你安裝的boost是存放在哪個目錄。在mysql進行編譯的時候會去讀取這個目錄下的文件

編譯環境創建好之后,接下來就是編譯和安裝了

make && make install (編譯和安裝耗時較長請耐心等候)

成功安裝MySQL之后,接下來就是MySQL基礎環境配置了

 新增mysql用戶和組,並配置mysql用戶對數據庫目錄的權限

 

groupadd mysql   創建用戶組
useradd -g mysql mysql        創建用戶,並指定用戶組
chown mysql.mysql /usr/local/mysql -R       修改安裝MySQL的目錄的用戶和用戶組都為mysql

初始化mysql

cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
bin/mysql_ssl_rsa_setup

在進行初始化數據庫時,指定initialize參數會默認初始化你存放MySQL數據的數據目錄,在初始化時會臨時生成一個root登陸本機的密碼,注意初始化時數據目錄必須為空

否則會報錯

 


免責聲明!

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



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