使用環境:阿裡雲ecs Ubuntu1604生產環境下,編譯安裝mariadb10-2.26 1、先安裝一些初試環境所需要的工具軟體包 apt install -y iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-co ...
使用環境:阿裡雲ecs
Ubuntu1604生產環境下,編譯安裝mariadb10-2.26
1、先安裝一些初試環境所需要的工具軟體包
apt install -y iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev \
libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute gcc openssh-server iotop unzip zip
apt安裝一下cmake編譯
apt install cmake -y
準備mariadb軟體包,解壓
tar xf tar xf mariadb-10.2.26.tar.gz
cd mariadb-10.2.26/
先創建一個mysql的系統用戶
# groupadd mysql && useradd -g mysql -s /usr/sbin/nologin mysql
# id mysql
uid=1003(mysql) gid=1003(mysql) groups=1003(mysql)
檢查環境&&編譯&&安裝,根據實際需求添加編譯參數即可
cmake . -DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-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 && make -j2 && make install
檢查環境時出錯了,提示缺少lib庫文件相關的
apt安裝一下缺失的包或者庫文件
apt install -y libncurses5-dev
如果還有其他的同樣使用apt安裝或者編譯安裝後,添加--with-服務=路徑即可,然後繼續執行編譯
安裝完成
準備環境變數
echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
# cat /etc/profile.d/mysql.sh
PATH=/apps/mysql/bin:$PATH
source /etc/profile.d/mysql.sh
初始化一下資料庫
初始化,數據存放目錄是/data/mysql/下
# pwd
/apps/mysql
# scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
查看一下生成的資料庫目錄文件
拷貝mysql的配置文件到/etc/下命名為my.cnf
cp /apps/mysql/support-files/my-huge.cnf /etc/my.cnf
從源碼目錄下的目錄里拷貝啟動腳本
# cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
# ll /etc/init.d/mysqld
-rwxr-xr-x 1 root root 12215 Dec 14 10:28 /etc/init.d/mysqld*
最後修改一下啟動腳本的屬主和屬組的許可權修改為mysql
# chown mysql.mysql /etc/init.d/mysqld
# chown mysql.mysql /apps/mysql -R
# 啟動mysql資料庫
# /etc/init.d/mysqld start
查看mariadb的運行狀態
查看資料庫mariadb的版本
安裝完成