LAMP+Postfix+Dovecot+Postfixadmin搭建郵件管理系統(二)

接上期,我們已經成功部署了Bind DNS服務,接下來,開始部署MySQL服務。


三、部署MySQL服務

    1、安裝MySQL服務必須的環境依賴

    [root@Mail ~]# yum -y ncurses-devel perl perl-Data-Dumper bison ncurses python-devel libgcrypt zlib bzip2

    2、從MySQL官網下載所需的MySQL服務版本,此處我們選擇開源社區版,因爲企業版收費,當然,如果企業中有硬性要求的話,可選擇MySQL企業版。

    圖片.png

        如圖,我們選擇MySQL5.7.24的版本。

        [root@Mail ~]# wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24.tar.gz

        [root@Mail ~]# wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz

        由於MySQL的版本需要mysql-boost支持,所以我們必須下載mysql-boost安裝包。

        3、下載cmake編譯工具,MySQL編譯安裝官方推薦是用cmake編譯,因此,我們使用cmake進行編譯,當然也可以用gcc編譯

        [root@Mail ~]# wget -c https://cmake.org/files/v3.10/cmake-3.10.1.tar.gz

        4、安裝cmake編譯工具

        [root@Mail ~]# tar -zxvf cmake-3.10.1.tar.gz

        [root@Mail ~]# cd cmake-3.10.1

        [root@Mail cmake-3.10.1]# ./bootstrap

        [root@Mail cmake-3.10.1]# make -j `grep processor /proc/cpuinfo | wc -l`                                              #make -j 表示進行多線程編譯

        圖片.png

        安裝的整個過程這裏省略,根據自己的服務器配置不同,時間有長有短。

        [root@Mail cmake-3.10.1]# make install

        圖片.png  

        此圖爲安裝成功後的截圖,安裝過程中也有可能出現一些錯誤,可根據日誌進行排錯,一般都爲依賴庫沒有安裝的問題。

        5、安裝mysql-boost

        [root@Mail ~]# tar -zxvf boost_1_59_0.tar.gz -C /usr/local                                       #tar -C 表示解壓到指定目錄

        [root@Mail ~]# mv /usr/local/boost_1_59_0 /usr/local/boost

        [root@Mail ~]# cd /usr/local/boost

        [root@Mail boost]# ./bootstrap.sh

        圖片.png

        [root@Mail boost]# ./b2

        圖片.png

        [root@Mail boost]# ./b2 install

        圖片.png

        這裏只截取部分截圖供於參考。

        安裝完成後,將boost庫文件路徑添加到系統動態庫路徑配置文件ld.so.conf中,這裏提供一個小腳本,以判斷是系統32位還是64位,並做自動添加

        #!/bin/bash

        Kernel=`getconf LONG_BIT`

        if [ "${Kernel}" = "32" ] && [ `grep -L '/usr/lib' '/etc/ld.so.conf'` ];then
            echo -e "PATH=$PATH:/usr/local/boost" >> /etc/profile
            echo -e "/usr/local/boost/lib" >> /etc/ld.so.conf
        elif [ "${Kernel}" = "64" ] && [ `grep -L '/usr/lib64' '/etc/ld.so.conf'` ];then
            echo -e "PATH=$PATH:/usr/local/boost" >> /etc/profile
            echo -e "/usr/local/boost/stage/lib" >> /etc/ld.so.conf
        fi

        5、安裝MySQL服務

            a、創建MySQL工作用戶及用戶組、數據目錄、授權等

            [root@Mail ~]# groupadd mysql

            [root@Mail ~]# useradd -r -s /sbin/nologin -M -g mysql mysql

            [root@Mail ~]# mkdir -p /wdata/mysql/{data,logs,binlog,config}

            [root@Mail ~]# chown -R mysql.mysql /wdata/mysql

            [root@Mail ~]# chgrp -R mysql /usr/local/mysql

            b、解壓MySQL安裝包並進入目錄

            [root@Mail ~]# tar -zxvf mysql-5.7.24.tar.gz

            [root@Mail ~]# cd mysql-5.7.24

            c、開始編譯MySQL

            [root@Mail mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
            -DMYSQL_DATADIR=/wdata/mysql/data \
            -DSYSCONFDIR=/wdata/mysql/config \
            -DMYSQL_UNIX_ADDR=/wdata/mysql/data/mysql.sock \
            -DMYSQL_TCP_PORT=3306 \
            -DWITH_MYISAM_STORAGE_ENGINE=1 \
            -DWITH_INNOBASE_STORAGE_ENGINE=1 \
            -DWITH_PARTITION_STORAGE_ENGINE=1 \
            -DWITH_FEDERATED_STORAGE_ENGINE=1 \
            -DEXTRA_CHARSETS=all \
            -DDEFAULT_CHARSET=utf8mb4 \
            -DDEFAULT_COLLATION=utf8mb4_general_ci \
            -DWITH_EMBEDDED_SERVER=1 \
            -DENABLED_LOCAL_INFILE=1 \
            -DENABLE_DOWNLOADS=1 \
            -DWITH_CURL=/usr/lib64 \
            -DMYSQL_USER=mysql \
            -DINSTALL_LIBDIR=/usr/local/mysql/lib \
            -DINSTALL_PLUGINDIR=/usr/local/mysql/lib/plugin \
            -DWITH_BOOST=/usr/local/boost

            具體的編譯參數含義可參照MySQL官方文檔,編譯過程如下圖:

            圖片.png

            d、安裝MySQL

            [root@Mail mysql-5.7.24]# make -j `grep processor /proc/cpuinfo | wc -l`

            圖片.png

            圖片.png

            [root@Mail mysql-5.7.24]# make install

            圖片.png

            e、編輯MySQL配置文件,並作適當優化,這裏不做闡述,下圖截取一部分針對個人服務器優化過的MySQL配置文件,當然MySQL不同的版本,有些參數數是不同的或者是被去掉的。

            圖片.png

            f、設置MySQL環境變量

            [root@Mail mysql-5.7.24]# echo "PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH" >> /etc/profile

            [root@Mail mysql-5.7.24]# source /etc/profile

            g、MySQL數據庫初始化

            [root@Mail mysql-5.7.24]# mysqld --initialize-insecure --user=mysql --console --basedir=/usr/local/mysql --datadir=/wdata/mysql/data

            h、複製MySQL啓動腳本到 /etc/init.d 目錄

            [root@Mail mysql-5.7.24]# cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

            [root@Mail mysql-5.7.24]# chmod a+x /etc/init.d/mysqld

            [root@Mail mysql-5.7.24]# chkconfig --add mysqld
            [root@Mail mysql-5.7.24]# chkconfig mysqld on

            i、添加MySQL命令軟連接

            [root@Mail mysql-5.7.24]# ln -sf /usr/local/mysql/lib/mysql /usr/lib/mysql
            [root@Mail mysql-5.7.24]# ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql
            [root@Mail mysql-5.7.24]# ln -sf /usr/local/mysql/include/mysql /usr/include/mysql

            j、啓動MySQL服務,並修改MySQL密碼

            [root@Mail mysql-5.7.24]# service mysqld start

            [root@Mail mysql-5.7.24]# mysqladmin -uroot password "123456"

            注意:我這裏只是爲了方便,將密碼設置爲123456,實際環境中別模仿。

            k、登陸驗證MySQL服務,任意執行一條命令,看MySQL初始庫是否正常。

            [root@Mail mysql-5.7.24]# mysql -uroot -p123456

            圖片.png


至此,MySQL服務不是完成,我們可以查看MySQL的日誌文件,看看有沒有什麼報錯,如果有,可根據日誌提示內容進行相應的排錯,一般日誌中都回很明確的指明錯誤位置。


未完待續。。。。。。

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