1. 程式人生 > >mariadb編譯安裝流程

mariadb編譯安裝流程

菜雞日常 mysql mariadb

1. 編譯前準備環境
CentOS7.4
編譯安裝 mariadb-10.2.12.tar.gz
iptables -vnL #查看防火墻狀態
systemctl stop firewall #關閉防火墻
getenforce #查看SELinux狀態
setenforce 0 #關閉SELinux
rpm -q mariadb-server #檢查mariadb是否安裝

2. 安裝開發相關包組

    yum groupinstall ‘development tools‘
    yum install bison bison-devel  zlib-devel libcurl-devel libarchive-devel  boost-devel  gcc  gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-devel  ncurses-devel libxml2-devel

3. 創建mysql系統用戶

    useradd -r mysql -s /sbin/nologin

4. 解壓源碼包

    tar xvf  mariadb-10.2.12.tar.gz -C /usr/local/

5. 進入解壓包路徑

    cd /usr/local/mariadb-10.2.15/

6. 執行cmake make && make install(初始化參數)

    cmake .     -DCMAKE_INSTALL_PREFIX=/data/mysql     -DMYSQL_DATADIR=/data/mysqldb/     -DSYSCONFDIR=/etc     -DMYSQL_USER=mysql     -DWITH_INNOBASE_STORAGE_ENGINE=1     -DWITH_ARCHIVE_STORAGE_ENGINE=1     -DWITH_BLACKHOLE_STORAGE_ENGINE=1     -DWITH_PARTITION_STORAGE_ENGINE=1      -DWITHOUT_MROONGA_STORAGE_ENGINE=1     -DWITH_DEBUG=0     -DWITH_READLINE=1     -DWITH_SSL=system     -DWITH_ZLIB=system     -DWITH_LIBWRAP=0     -DENABLED_LOCAL_INFILE=1      -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock     -DDEFAULT_CHARSET=utf8     -DDEFAULT_COLLATION=utf8_general_ci

7. 開始編譯安裝

    make -j 8 && make install

8. 準備環境變量

    echo ‘PATH=/data/mysql/bin:$PATH‘ > /etc/profile.d/mysql.sh
    source     /etc/profile.d/mysql.sh      #立即生效環境變量

9. 把/data目錄下的mysql目錄 屬主mysql 屬組mysql

    chown -R mysql.mysql /data/mysql/   

10. 準備配置文件

    #復制配置文件模板覆蓋到配置文件裏修改
    cp -a /data/mysql/support-files/my-huge.cnf  /etc/my.cnf
    vim /etc/my.cnf
    socket= /data/mysqldb/mysql.sock        #修改數據指向路徑
    datadir=/data/mysqldb                #指定數據庫位置

11. 準備啟動腳本

    cp -a /data/mysql/support-files/mysql.server  /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld         #以防萬一給予啟動腳本執行權限

12. 創建數據庫庫目錄

    mkdir /data/mysqldb

13. 初始化數據庫

    cd /data/mysql/
    #指定以mysql用戶的身份   路徑在配置文件指定(數據存放位置)
    scripts/mysql_installl_db --user=mysql   --datadir=/data/mysqldb

14. 添加開機啟動

    chkconfig --add mysqld  #添加服務到開啟啟動項
    chkconfig  mysqld on    #設置開機自動啟動
    chkconfig --list mysqld #查看服務是否添加成功

15. 啟動服務

    systemctl start mysqld  #開啟服務
    ss -tnl   #查看3306是否處於監聽狀態

16. 編譯安裝完成

    mysql默認沒有密碼  記得設置mysql root用戶的密碼 

17. 運行安全腳本(修改數據庫管理員密碼)

    mysql
    #查看user表裏的用戶,密碼,主機
    select user,host,password from mysql.user;
    #使用password函數加密口令,然後修改root密碼
    update mysql.user set password=password("centos") where user=‘root‘;

技術分享圖片

18. 報錯解決方案

    提示報錯可能是權限不足 用戶沒有訪問數據庫存放位置的權限
    兩種解決方案 A:修改配置文件的socket路徑:直接指向到數據庫(註意目錄需賦予權限)
     B:修改父級目錄執行權限
    例: /data/mysqldb (數據庫路徑)
    chown mysql.mysql /data

mariadb編譯安裝流程