白河ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
本章內(nèi)容
Mariadb的三種安裝方式:
1、程序包管理器管理的程序包
2、二進(jìn)制格式的程序包:展開至特定路徑,并經(jīng)過簡單配置后即可使用
3、源代碼:編譯安裝
MariaDB在一臺機(jī)器上的多實(shí)例實(shí)現(xiàn)
本機(jī)環(huán)境
系統(tǒng)版本:以CentOS_7.5_x86_64為例
MariaDB版本:以MariaDB 10.2.15 Stable為例
程序包管理器(yum)方式安裝MariaDB
1、配置好yum源后,輸yum -y install mariadb-server即可,不過mariadb版本是5.5的,不是較新的
2、如果想用yum安裝較新版本的mariadb,可到MariaDB官網(wǎng)上查較新版本的yum源,官網(wǎng)地址是http://mariadb.org/,打開網(wǎng)頁后點(diǎn)擊Download,再點(diǎn)Download
3、這里以10.2.15版本為例,點(diǎn)擊Download 10.2.15 Stable Now!
4、拉到最下面,點(diǎn)擊Repository Configuration Tool.
5、依次點(diǎn)擊CentOS --> CentOS 7 (x86_64) --> 10.2 [Stable],可以看到下方出現(xiàn)了yum源信息,將此信息復(fù)制,即可在CentOS中以此配置yum倉庫
配好后輸命令:
yum clean all
yum repolist
yum -y install mariadb-server
即可安裝較新版的10.2.15版的MariaDB
安裝包準(zhǔn)備
準(zhǔn)備MariaDB的源碼安裝包,以及二進(jìn)制程序安裝包
二進(jìn)制程序安裝包其實(shí)就是已編譯好的包,不用再編譯
1、到官網(wǎng)上下載安裝包,仍然是點(diǎn)擊Download,再點(diǎn)擊Download,之后點(diǎn)擊Download 10.2.15 Stable Now
2、下載兩個包,mariadb-10.2.15.tar.gz是源碼包,mariadb-10.2.15-linux-x86_64.tar.gz是二進(jìn)制格式的程序包
3、用Linux的rz工具或者Xshell的xftp工具,把兩個程序包傳到兩臺虛擬機(jī)上
二進(jìn)制程序包安裝MariaDB
(1)準(zhǔn)備用戶
groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 -m -d /data/mysqldb mysql
(2)準(zhǔn)備數(shù)據(jù)目錄
以/data/mysqldb為例,建議使用邏輯卷
chown mysql:mysql /data/mysqldb
chmod 700 /data/mysqldb
(3)準(zhǔn)備二進(jìn)制程序
tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local #/usr/local是程序包指定的目錄,必須解壓在這里
cd /usr/local;ln -sv mariadb-10.2.15 mysql
chown -R mysql:mysql /usr/local/mysql/
(4)準(zhǔn)備配置文件
mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf
#/usr/local/mysql/support-files下有很多my-*.cnf文件,分別對應(yīng)不同的內(nèi)存大小,可打開看看,選擇對應(yīng)自己機(jī)器的拷貝就行
vim /etc/mysql/my.cnf
[mysqld]中添加三個選項(xiàng):
datadir = /data/mysqldb
innodb_file_per_table = on可不加
skip_name_resolve = on禁止主機(jī)名解析,建議使用,不加也可
(5)創(chuàng)建數(shù)據(jù)庫文件
cd /usr/local/mysql/
./scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
(6)準(zhǔn)備日志文件
touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
(7)準(zhǔn)備服務(wù)腳本,并啟動服務(wù)
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start
(8)安全初始化
/user/local/mysql/bin/mysql_secure_installation
(9)添加環(huán)境變量
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
源碼編譯安裝MariaDB
(1)安裝包
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
(2)做準(zhǔn)備用戶和數(shù)據(jù)目錄
mkdir /data
useradd -r -s /sbin/nologin -m -d /data/mysqldb/ mysql
tar xvf mariadb-10.2.15.tar.gz
(3) cmake編譯安裝
cd mariadb-10.2.15/
編譯選項(xiàng),可參考:
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
這里直接輸命令
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/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=/app/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
(4)準(zhǔn)備環(huán)境變量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
(5)生成數(shù)據(jù)庫文件
chmod 700 /data/mysqldb
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql
(6)準(zhǔn)備配置文件
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
vim /etc/mysql/my.cnf
[mysqld]中添加:
datadir = /data/mysqldb
chown -R mysql:mysql /app/mysql/
(7)準(zhǔn)備啟動腳本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
(8)啟動服務(wù)
chkconfig --add mysqld
service mysqld start
MariaDB在一臺機(jī)器上的多實(shí)例實(shí)現(xiàn)
(1)安裝MariaDB,這里用yum安裝
yum install mariadb-server
(2)創(chuàng)建多實(shí)例目錄
這里創(chuàng)建三個實(shí)例,最后三個實(shí)例會分別使用3306,3307,3308端口
mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} -pv
chown -R mysql.mysql /mysqldb/
(3)生成數(shù)據(jù)庫文件
mysql_install_db --datadir=/mysqldb/3306/data --user=mysql
mysql_install_db --datadir=/mysqldb/3307/data --user=mysql
mysql_install_db --datadir=/mysqldb/3308/data --user=mysql
(4)準(zhǔn)備配置文件
cp /etc/my.cnf /mysqldb/3306/etc/
vim /mysqldb/3306/etc/my.cnf
[mysqld]
port=3306
datadir=/mysqldb/3306/data
socket=/mysqldb/3306/socket/mysql.sock
[mysqld_safe]
log-error=/mysqldb/3306/log/mariadb.log
pid-file=/mysqldb/3306/pid/mariadb.pid
#!includedir /etc/my.cnf.d
cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/my.cnf #復(fù)制配置文件到3307和3308中
cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/my.cnf
vim /mysqldb/3307/etc/my.cnf
:%s/3306/3307/ #將所有端口號從3306替換為3307
:wq
vim /mysqldb/3308/etc/my.cnf
:%s/3306/3308/ #將所有端口號從3306替換為3308
:wq
(5)準(zhǔn)備服務(wù)腳本
這里準(zhǔn)備了一個服務(wù)腳本,粘到一個空文件里,并命名為mysqld:
#!/bin/bash #FileName: mysqld port=3306 mysql_user="root" mysql_pwd="" cmd_path="/usr/bin" mysql_basedir="/mysqldb" mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock" function_start_mysql() { if [ ! -e "$mysql_sock" ];then printf "Starting MySQL...\n" ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf &> / dev/null & else printf "MySQL is running...\n" exit fi } function_stop_mysql() { if [ ! -e "$mysql_sock" ];then printf "MySQL is stopped...\n" exit else printf "Stoping MySQL...\n" ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown fi } function_restart_mysql() { printf "Restarting MySQL...\n" function_stop_mysql sleep 2 function_start_mysql } case $1 in start) function_start_mysql ;; stop) function_stop_mysql ;; restart) function_restart_mysql ;; *) printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n" esac #End of filechmod 700 mysqld
cp mysqld /mysqldb/3306/
cp mysqld /mysqldb/3307/
cp mysqld /mysqldb/3308/
#修改各實(shí)例配置文件的端口號
vim /mysqldb/3306/mysqld
vim /mysqldb/3307/mysqld
vim /mysqldb/3308/mysqld
(6)啟動三個實(shí)例
/mysqldb/3306/mysqld start
/mysqldb/3307/mysqld start
/mysqldb/3308/mysqld start
(7)連接三個實(shí)例
mysql -S /mysqldb/3306/socket/mysql.sock
mysql -S /mysqldb/3307/socket/mysql.sock
mysql -S /mysqldb/3308/socket/mysql.sock
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。