接上期,咱們已經成功部署了Bind DNS服務,接下來,開始部署MySQL服務。python
3、部署MySQL服務mysql
一、安裝MySQL服務必須的環境依賴sql
[root@Mail ~]# yum -y ncurses-devel perl perl-Data-Dumper bison ncurses python-devel libgcrypt zlib bzip2數據庫
二、從MySQL官網下載所需的MySQL服務版本,此處咱們選擇開源社區版,由於企業版收費,固然,若是企業中有硬性要求的話,可選擇MySQL企業版。bootstrap
如圖,咱們選擇MySQL5.7.24的版本。bash
[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安裝包。ide
三、下載cmake編譯工具,MySQL編譯安裝官方推薦是用cmake編譯,所以,咱們使用cmake進行編譯,固然也能夠用gcc編譯工具
[root@Mail ~]# wget -c https://cmake.org/files/v3.10/cmake-3.10.1.tar.gz
四、安裝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 表示進行多線程編譯
安裝的整個過程這裏省略,根據本身的服務器配置不一樣,時間有長有短。
[root@Mail cmake-3.10.1]# make install
此圖爲安裝成功後的截圖,安裝過程當中也有可能出現一些錯誤,可根據日誌進行排錯,通常都爲依賴庫沒有安裝的問題。
五、安裝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
[root@Mail boost]# ./b2
[root@Mail boost]# ./b2 install
這裏只截取部分截圖供於參考。
安裝完成後,將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
五、安裝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官方文檔,編譯過程以下圖:
d、安裝MySQL
[root@Mail mysql-5.7.24]# make -j `grep processor /proc/cpuinfo | wc -l`
[root@Mail mysql-5.7.24]# make install
e、編輯MySQL配置文件,並做適當優化,這裏不作闡述,下圖截取一部分針對我的服務器優化過的MySQL配置文件,固然MySQL不一樣的版本,有些參數數是不一樣的或者是被去掉的。
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
至此,MySQL服務不是完成,咱們能夠查看MySQL的日誌文件,看看有沒有什麼報錯,若是有,可根據日誌提示內容進行相應的排錯,通常日誌中都回很明確的指明錯誤位置。
未完待續。。。。。。