1. 程式人生 > >MySQl編譯安裝與二進位制安裝介紹

MySQl編譯安裝與二進位制安裝介紹

MySQL介紹

MySQL是一個開放原始碼的小型關聯式資料庫管理系統。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。

MySQl資料庫分類

1)社群版

2)商業版

3)cluster叢集

編譯安裝

1)編譯安裝

MySQL 8.0 正式版 8.0.11 已釋出,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,還帶來了大量的改進和更快的效能!

注意:從 MySQL 5.7 升級到 MySQL 8.0 僅支援通過使用 in-place 方式進行升級,並且不支援從 MySQL 8.0 降級到 MySQL 5.7(或從某個 MySQL 8.0 版本降級到任意一個更早的 MySQL 8.0 版本)。唯一受支援的替代方案是在升級之前對資料進行備份。

1.1.環境準備

1 yum install ncurses-devel -y
2 yum install libaio -y
3 yum install glibc-devel.i686 glibc-devel -y
4 yum install gcc gcc-c++ -y

說明:MySQL8.0需要用gcc的版本為 4.8以上,而centos 6.5通過yum只能安裝到4.4.7,所以在安裝mysql8.0之前需要手動安裝更高版本的gcc,我這裡以gcc-8.8.2為例:

1 wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz
2 tar xf gcc-4.8.2.tar.gz 3 cd gcc-4.8.2

# 載編譯需要的依賴包:

1 ./contrib/download_prerequisites
2 ./configure --prefix=/usr/local/gcc-4.8.2/  --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++
3 make &&make install

說明:make的時間會很長,安裝完後,還需要將原來的gcc環境用新版本的gcc替換掉,否則mysql在安裝時還是用的原來的gcc。

 1 mv /usr/bin/gcc /usr/bin/gcc447
 2 mv /usr/bin/g++ /usr/bin/g++447
 3 mv /usr/bin/c++ /usr/bin/c++447
 4 mv /usr/bin/cc /usr/bin/cc447
 5 ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/gcc
 6 ln -s /usr/local/gcc-4.8.2/bin/g++ /usr/bin/g++
 7 ln -s /usr/local/gcc-4.8.2/bin/c++ /usr/bin/c++
 8 ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/cc
 9 mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
10 ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

解決如下問題:接著,安裝boost庫:

1 wget -c http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.bz2  --no-check-certificate
2 tar xf boost_1_60_0.tar.bz2\?r\=\&ts\=1479114685\&use_mirror\=ncu
3 cd boost_1_60_0
4 ./bootstrap.sh
5 ./b2 stage threading=multi link=shared
6 ./b2 install threading=multi link=shared

1.2.安裝mysql8.0

mysql5.1的時候用傳統的.configure,make,make install 就就可以了,但是從5.5後編譯安裝就需要cmake,make, make install來安裝,所以要安裝cmake。

1 cd /home/king/tools
2 wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
3 tar zxf cmake-2.8.4.tar.gz
4 cd cmake-2.8.4
5 ./configure
6 make & make install

當然了,在安裝軟體的時候都應該先用rpm -qa | grep cmake 來檢視是否已經安裝,如果沒有在執行以上命令。wget-c 斷點續傳下載檔案。-O 指定目錄下載(或者理解為下載到指定的目錄)

 1 # 下載和解壓mysql
 2 wget -c  http://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.0-dmr.tar.gz  
 3 tar xf mysql-boost-8.0.0-dmr.tar.gz
 4 
 5 # 編譯安裝mysql
 6 cd mysql-8.0.0-dmr
 7 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
 8 -DMYSQL_DATADIR=/usr/local/mysql/data/ -DSYSCONFDIR=\etc\mysql \
 9 -DWITH_INNOBASE_STORAGE_ENGINE=1  \
10 -DMYSQL_TCP_PORT=3306  \
11 -DENABLED_LOCAL_INFILE=1  \
12 -DEXTRA_CHARSETS=all  \
13 -DDEFAULT_CHARSET=utf8  \
14 -DDEFAULT_COLLATION=utf8_general_ci  \
15 -DWITH_BOOST=/tmp/boost_1_60_0/
16 make
17 make install
18 
19 # 新增mysql使用者和組,並配置mysql使用者對資料庫目錄的許可權
20 groupadd mysql
21 useradd -g mysql mysql                 #也可以useradd mysql -s /sbin/nologin -M -g mysql      
22 chown mysql.mysql /usr/local/mysql -R
23 # 初始化mysql
24 cd  /usr/local/mysql
25 bin/mysqld --initialize --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
26 bin/mysql_ssl_rsa_setup
27 
28 # 配置檔案
29 cp ./support-files/my-default.cnf /etc/my.cnf
30 vim /etc/my.cnf                    #編輯/etc/my.conf檔案
31 [mysqld]
32 datadir=/usr/local/mysql/data/
33 socket=/var/lib/mysql/mysql.sock
34 user=mysql                        #mysql使用者
35 # Disabling symbolic-links is recommended to prevent assorted security risks
36 symbolic-links=0
37 pid-file=/var/run/mysqld/mysqld.pid
38 log-error=/var/log/mysqld.log
39 
40 # 建立程序檔案目錄
41 mkdir /var/run/mysqld
42 chown mysql /var/run/mysqld/ -R
43 
44 # 設定環境變數
45 echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin" >> /etc/profile
46 source  /etc/profile                  #./etc/profile
47 
48 # 設定開機啟動指令碼
49 cd  /usr/local/mysql
50 cp support-files/mysql.server /etc/init.d/mysql.server
51 chkconfig mysql.server on
52 service mysql.server start

到此MySQl就編譯安裝完成,但是工作中並不常用mysql8.0,只是出於好奇,看了一看,下面是小編二進位制安裝MySQl親測哦。

二進位制安裝MySQl

建立使用者和目錄

1 useradd mysql -s /sbin/nologin -M
2 mkdir /application/mysql/data -p
3 chown mysql.mysql /application/mysq/data/

安裝mysql5.5

1 wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.32-linux2.6-x86_64.tar.gz
2 tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
3 mv mysql-5.5.32-linux2.6-x86_64 /application/mysql-5.5.32
4 ln -s /application/mysql-5.5.32  /application/mysql

設定mysql環境變數

1  echo 'PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile
2  source /etc/profile 或者./etc/profile

初始化資料庫

1 cd /application/mysql
2 ./scripts/mysql_install_db  --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data/
3 cp support-files/my-small.cnf    /etc/my.cnf
4 cp support-files/my.server        /etc/init.d/mysqld
5 chmod +x /etc/init.d/mysqld
6 /etc/init.d/mysqld start