真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mariadb自動(dòng)化安裝圖文解析-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)贊皇,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

今天小編就為大家?guī)硪黄猰ariadb自動(dòng)化安裝解析的文章。小編覺得挺不錯(cuò)的,為此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

章節(jié)預(yù)覽:

    1、         mariadb數(shù)據(jù)庫的簡單介紹

    2、         手動(dòng)編譯安裝mariadb過程

    3、         自動(dòng)化安裝實(shí)現(xiàn)腳本

一、mariadb數(shù)據(jù)庫

MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個(gè)分支,主要由開源社區(qū)在維護(hù),采用GPL授權(quán)許可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。

MariaDB基于事務(wù)的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的XtraDB,InnoDB的變體,分支的開發(fā)者希望提供訪問即將到來的MySQL 5.4 InnoDB性能。這個(gè)版本還包括了PrimeBase XT (PBXT)和FederatedX存儲引擎。

二、手動(dòng)編譯安裝mariadb過程

1、下載二進(jìn)制mariadb安裝包

從官網(wǎng)下載http://mariadb.org

下載:mariadb-10.2.8-linux-x86_64.tar.gz

2、解壓下載到的壓縮包

由于安裝包自定義了二進(jìn)制程序放置目錄,所以這個(gè)解壓的目錄一定要是根據(jù)該軟件包自定義的。默認(rèn)解壓到/usr/local/目錄下,并且解壓后的目錄的名字必須是mysql

解壓操作:

    tarxvf mariadb-10.2.8-linux-x86_64.tar.gz  -C/usr/local/

mariadb自動(dòng)化安裝圖文解析

正常解壓后的目錄名為mariadb-10.2.8-linux-x86_64,需要將該目錄下的數(shù)據(jù)放到名為mysql目錄下,這個(gè)是安裝包默認(rèn)的。這里有兩種方式:

  • 修改目錄名:

  mv /usr/local/mariadb-10.2.8-linux-x86_64 /usr/local/mysql

2)創(chuàng)建軟鏈接:

ln -s /usr/local/mariadb-10.2.8-linux-x86_64 /usr/local/mysql

mariadb自動(dòng)化安裝圖文解析

3、手動(dòng)創(chuàng)建mysql系統(tǒng)用戶

需要?jiǎng)?chuàng)建一個(gè)系統(tǒng)用戶mysql,該mysql用戶是用來管理mysql的。

  useradd -r -d /app/mariadb -m -s /sbin/nologin mysql    

    -r:創(chuàng)建系統(tǒng)用戶

    -d:創(chuàng)建家目錄,該目錄是存放數(shù)據(jù)庫的目錄,所以盡可能大

    -m;強(qiáng)制創(chuàng)建用戶,系統(tǒng)用戶默認(rèn)是不創(chuàng)建用戶的。

    -s:指定登錄shell類型

mariadb自動(dòng)化安裝圖文解析

4、創(chuàng)建mariadb配置文件

在/usr/local/mysql/support-files/目錄下有自帶的配置文件,選中其中合適的一個(gè)配置文件,將其復(fù)制到/etc/mysql/目錄下,并改名為my.cnf

(1):mkdir/etc/mysql

(2):cp/usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

需要對配置文件進(jìn)行簡單的修改才可以生效:

Vim /etc/mysql/my.cnf

在[mysqld]后面添加:

#該數(shù)據(jù)庫目錄就是創(chuàng)建mysql用戶的家目錄,數(shù)據(jù)庫文件都要放到這里。

datadir = /app/mariadb

innodb_file_per_table= on

skip_name_resolve =on

mariadb自動(dòng)化安裝圖文解析

5、創(chuàng)建系統(tǒng)數(shù)據(jù)庫

一個(gè)系統(tǒng)啟動(dòng),必須有自己的數(shù)據(jù)庫,否則是啟動(dòng)不起來的,系統(tǒng)數(shù)據(jù)庫放置一些系統(tǒng)自身需要的數(shù)據(jù)。

安裝包自身帶有創(chuàng)建系統(tǒng)數(shù)據(jù)庫的腳本,不需要我們手動(dòng)創(chuàng)建該腳本在/usr/local/mysql/scripts/mysql_install_db

改腳本必須在/usr/local/mysql/目錄下進(jìn)行執(zhí)行,因?yàn)樵撃夸浵掠心_本運(yùn)行需要的文件。

cd /usr/local/mysql

./scripts/mysql_install_db–user=mysql –datadir=/app/mariadb

mariadb自動(dòng)化安裝圖文解析

6、創(chuàng)建mariadb服務(wù)啟動(dòng)腳本

為了使系統(tǒng)能夠啟動(dòng)該服務(wù),需要?jiǎng)?chuàng)建服務(wù)運(yùn)行進(jìn)程,在安裝包里自帶的有:/usr/local/mysql/support-files/mysql.server

需要將運(yùn)行程序復(fù)制到/etc/init.d/目錄下,并改名為mysqld

cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld

mariadb自動(dòng)化安裝圖文解析

7、添加mysqld服務(wù)到運(yùn)行等級列表中

需要將服務(wù)添加到系統(tǒng)啟動(dòng)可以加載運(yùn)行的運(yùn)行級別中

chkconfig  --add mysqld

chkconfig --list mysqld可以查看到在那些運(yùn)行等級中可以開啟。

mariadb自動(dòng)化安裝圖文解析

8、創(chuàng)建mariadb日志文件和郵件文件

必選要?jiǎng)?chuàng)建mariadb日志文件并且修改該日志文件的所屬人,否則mysql系統(tǒng)用戶不能寫入日志數(shù)據(jù),就會(huì)導(dǎo)致服務(wù)啟動(dòng)失敗。同時(shí)也要?jiǎng)?chuàng)建郵件文件。

在Centos6和Centos7中有點(diǎn)區(qū)別:

Centos7:

     mkdir /var/log/mariadb/

     touch /var/log/mariadb/mariadb.log

     touch /var/spool/mail/mysql

     chown mysql:mail /var/spool/mail/mysql

     chown mysql /var/log/mariadb/

  chown mysql /var/log/mariadb/mariadb.log

  修改擁有者是為了讓mysql用戶能夠?qū)懭肴罩疚募?/p>

Centos6:

     touch /var/log/mysqld.log

     touch /var/spool/mail/mysql

     chown mysql:mail /var/spool/mail/mysql

     chown mysql /var/log/mysqld.log

mariadb自動(dòng)化安裝圖文解析

9、mariadb添加環(huán)境變量PATH

在/etc/profile.d/目錄下添加一個(gè)mariadbpath.sh文件,文件中定義環(huán)境變量PATH。

echo ‘export PATH=/usr/local/mysql/bin:$PATH’ >/etc/profile.d/mariadbpath.sh

運(yùn)行該腳本使腳本生效:

source /etc/profile.d/mariadbpath.sh

mariadb自動(dòng)化安裝圖文解析

10、啟動(dòng)服務(wù)

由于我們已經(jīng)創(chuàng)建了服務(wù)啟動(dòng)腳本,所以這里可以直接使用service命令啟動(dòng):

service mysqld start

查看是否啟動(dòng),可以通過查看是否開啟了3306端口來確定:

ss –tnul

mariadb自動(dòng)化安裝圖文解析

11、運(yùn)行mariadb自帶安全腳本

該腳本類似于mariadb初始化腳本,位于:/usr/local/mysql/bin/mysql_secure_installation

具體過程如下圖所示:

mariadb自動(dòng)化安裝圖文解析

mariadb自動(dòng)化安裝圖文解析

12、登錄測試

mysql –u(username) –p(password)

mariadb自動(dòng)化安裝圖文解析

三、自動(dòng)化安裝腳本實(shí)現(xiàn)

    1、自動(dòng)安裝展示

mariadb自動(dòng)化安裝圖文解析

2、自動(dòng)卸載展示

mariadb自動(dòng)化安裝圖文解析

autoinstallmariadb.sh:

#!/bin/bash

#***********************************************

#Author:   jiake

#QQ:

#Date:        2017-10-12 19:25:27

#Filename:    autoinstallmariadb.sh

#Description:

#Copyright (C): All right reserved

#***********************************************

read -p "Please tell me where the mariadb installation package is: " package

read -p "Please tell me where the mariadb database directory is located: " dbdir

#掃描文件是否存在,不存在返回非0值

scanfile() {

       ls $1 &> /dev/null && return 1 || return 2

}

#掃描文件是否存在,不存在返回非0值

scandir() {

       ls -d "$1" &> /dev/null && return 3 || return 4

}

#判斷指定軟件包是否存在

echo"尋找指定安裝包位置。。。。"

scanfile $package

A=$?

[ $A -eq 2 ] && { echo "指定的mariadb安裝包路徑不正確!";exit 110; }

#解壓安裝包

scandir /usr/local

B=$?

[ $B -eq3 ] && { echo "解壓安裝包到指定/usr/local。。。。。" ; tar xvf $package -C /usr/local/ &> /dev/null; }

#創(chuàng)建mysql軟鏈接

echo "創(chuàng)建mysql軟鏈接。。。。"

mulu=`basename $package |sed -r 's/(.*)\.tar.gz/\1/'`

ln -s /usr/local/$mulu /usr/local/mysql

#創(chuàng)建mysql用戶

echo "創(chuàng)建mysql系統(tǒng)賬戶。。。。。"

id mysql &> /dev/null && userdel -r mysql &> /dev/null

useradd -r -d $dbdir -m -s /sbin/nologin mysql

#準(zhǔn)備配置文件

scandir /etc/mysql

C=$?

[ $C -eq4 ] && { echo "復(fù)制配置文件。。。。"; mkdir /etc/mysql &> /dev/null; }

cp /usr/local/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf

#修改配置文件(由于sed里面無法寫入變量,所以固定的datadir目錄為/app/mariadb,如有不同請手動(dòng)修改)

echo "修改配置文件。。。。"

sed -ri 's@\[mysqld\]@&\ndatadir = /app/mariadb\ninnodb_file_per_table =on\nskip_name_resolve = on\n@' /etc/mysql/my.cnf

#創(chuàng)建系統(tǒng)數(shù)據(jù)庫

echo "創(chuàng)建系統(tǒng)數(shù)據(jù)庫。。。。"

cd /usr/local/mysql/

scripts/mysql_install_db --user=mysql --datadir=$dbdir &> /dev/null

#復(fù)制服務(wù)腳本

echo "復(fù)制服務(wù)腳本到init.d/目錄下。。。。"

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld &> /dev/null

#判斷系統(tǒng)版本

echo"創(chuàng)建數(shù)據(jù)庫日志文件。。。。。"

version=`cat/etc/redhat-release |sed -r 's/.* ([0-9])\.([0-9]).*$/\1/'`

#創(chuàng)建日志文件

[ $version -eq 7 ] && { mkdir /var/log/mariadb/ &> /dev/null ;touch /var/log/mariadb/mariadb.log &> /dev/null; chown mysql/var/log/mariadb/; chown mysql /var/log/mariadb/mariadb.log;touch/var/spool/mail/mysql;chmod 660 /var/spool/mail/mysql ;chown mysql:mail/var/spool/mail/mysql; }

[ $version -eq 6 ] && { touch /var/log/mysqld.log &> /dev/null;chmod 644 /var/log/mysqld.log; chown mysql:mysql /var/log/mysqld.log; touch /var/spool/mail/mysql;chmod 660 /var/spool/mail/mysql;chown mysql:mail /var/spool/mail/mysql; }

#添加環(huán)境變量PATH

echo"添加環(huán)境變量到指定的/etc/profile.d/mariadbpath.sh文件中。。。。。。。"

echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mariadbpath.sh

source /etc/profile.d/mariadbpath.sh

#啟動(dòng)服務(wù)

echo "啟動(dòng)服務(wù)。。。。"

service mysqld start &> /dev/null || echo "服務(wù)啟動(dòng)失?。?請手動(dòng)啟動(dòng)。"

#運(yùn)行安全腳本

echo "運(yùn)行安全腳本mysql_secure_installation。。。。。"

echo -e "\nY\njiake\njiake\nY\nN\nY\nY\n" | mysql_secure_installation &> /dev/null

    autodeletemariadb.sh:

#!/bin/bash

#***********************************************

#Author:      jiake

#QQ:

#Date:        2017-10-14 09:27:29

#Filename:    autodeletemariadb.sh

#Description:自動(dòng)刪除編譯安裝好的mariadb數(shù)據(jù)庫

#Copyright(C): All right reserved

#***********************************************

read -p "Please tell me where the dbdir is :" dbdir

#先殺死m(xù)ysqld進(jìn)程

echo "stoping mysqld service......."

service mysqld stop &> /dev/null

#刪除mysql賬戶

echo "delete mysql number ......."

userdel -r mysql &> /dev/null

#刪除chkconfig

echo "chkconfig del......"

chkconfig --del mysqld

#刪除數(shù)據(jù)庫目錄

echo "delete dbdir ......"

rm -fr $dbdir &> /dev/null

#刪除服務(wù)腳本

echo "delete mysqld.service"

rm -f /etc/init.d/mysqld &> /dev/null

#刪除程序目錄

echo "delete bindir......."

rm -fr /usr/local/mariadb-* &> /dev/null

rm -f /usr/local/mysql &> /dev/null

#刪除配置文件目錄

echo "delete configfile......"

rm -fr /etc/mysql &> /dev/null

#刪除日志文件和mail文件

echo "delete log_file and mail_file......."

version=`cat /etc/redhat-release |sed -r 's/.*([0-9])\.([0-9]).*$/\1/'`

[ $version -eq 7 ] && { rm -fr/var/log/mariadb &> /dev/null ;rm -f /var/spool/mail/mysql &>/dev/null; }

[ $version -eq 6 ] && { rm -f/var/log/mysqld.log &> /dev/null; rm -f /var/spool/mail/mysql &>/dev/null; }

#刪除環(huán)境變量配置文件

echo "delete path.file ......."

rm -f /etc/profile.d/mariadbpath.sh &>/dev/null

echo "removed mariadb !"

看完上訴內(nèi)容,你們掌握mariadb自動(dòng)化安裝的方法了嗎?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(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)用場景需求。


分享標(biāo)題:mariadb自動(dòng)化安裝圖文解析-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://weahome.cn/article/pdpdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部