日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二进制安装Mariadb

發(fā)布時間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二进制安装Mariadb 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第一個實(shí)驗(yàn):

實(shí)現(xiàn)二進(jìn)制安裝mariadb 用腳本或ansible的role實(shí)現(xiàn)
我們先手動執(zhí)行一遍,能夠更好的了解其流程

第一步:將我們下載的mariadb二進(jìn)制包解壓

由于我們下載的是二進(jìn)制的程序包,所以,源碼編譯的步驟已經(jīng)有人替我們做了,所以,我們可以跳過編譯。但是,源碼編譯必須要指定編譯目錄,所以,我們必須知道二進(jìn)制安裝完后它存放的位置。所以,我們解壓縮的時候,要指定存放路徑,而usrlocal就是默認(rèn)的存放路徑

tar xvf mariadb-10.2.23-linux-x86_64.tar.gz -C usrlocal

第二步:

我們進(jìn)入到usrlocal目錄下,因?yàn)樵谙螺d二進(jìn)制源包的網(wǎng)頁上,有非常詳細(xì)的安裝過程,在這里,我只安裝位置相關(guān)的一小部分:

In the example below we install MariaDB in the usrlocalmysql directory (this is the default location for MariaDB for many platforms). However any other directory should work too.
We install the binary with a symlink to the original name. This is done so that you can easily change MariaDB versions just by moving the symlink to point to another directory.

大概意思就是,我們默認(rèn)的安裝路徑是在usrlocalmasql目錄下,并且推薦使用軟連接來指向mysql,這方便我們?nèi)蘸髮ariaDB進(jìn)行升級和降級,我們只需要將軟連接重新指向一個新的版本就行了。

cd usrlocal ln -s mariadb-10.2.23-linux-x86_64 mysql

第三步:

cd mysql

當(dāng)我們ls -l 之后,發(fā)現(xiàn),目錄內(nèi)的所有者和所屬組是有些問題的,所以,我們需要改變該目錄下所有的所屬者和所屬組,這里,我們修改為root就行

chown -R root.root mysql

第四步:

在正常的應(yīng)用服務(wù)程序上,都會創(chuàng)建一個和該服務(wù)對應(yīng)的用戶賬號,該用戶的職責(zé)就只只負(fù)責(zé)對應(yīng)的服務(wù)程序,在yum安裝的時候,會自動創(chuàng)建,但是我們是手動的二進(jìn)制安裝,所以,我們需要創(chuàng)建對應(yīng)的用戶和用戶組

groupadd -r -g 336 mysql useradd -r -g my sql -u 336 -s sbinnologin -d datamysql mysql

我們指定了家目錄,這個家目錄就意味著我們以后存放數(shù)據(jù)庫的路徑,但是我們指定的家目錄不會自動生成,所以,我們需要手動創(chuàng)建

mkdir datamysql chown -R mysql.mysql datamysql

第五步:

我們需要創(chuàng)建數(shù)據(jù)庫文件,很多數(shù)據(jù)庫文件都是二進(jìn)制,我們,很難創(chuàng)建,但是,在usrlocalmysqlscripts目錄下有一個mysql_install_db可執(zhí)行程序,它就可以幫助我們創(chuàng)建數(shù)據(jù)庫文件。
需要注意的是,我們進(jìn)入到usrlocalmysqlscripts這個目錄中,因?yàn)?#xff0c;我們沒有添加到PATH變量中去,所有,我們要在這個目錄下執(zhí)行此程序,理論上是可以成功的

cd usrlocalmysqlscripts .mysql_install_db --user=mysql --datadir=datamyql

我們需要執(zhí)行此程序的用戶和生成數(shù)據(jù)庫文件的路徑
但是,它會報(bào)錯,內(nèi)容如下:
FATAL ERROR Could not find .binmy_print_defaults

而這個文件存放在usrlocalmysqlbin目錄下,我們需要在它的上一級目錄下執(zhí)行此命令,也就是usrlocalmysql目錄下

scriptsmysql_install_db --user=mysql --datadir=datamysql

執(zhí)行之后,就會在datamysql目錄下生成數(shù)據(jù)庫文件,并且所屬組和所屬者的身份是mysql,

yum install libaio.x86_64 -y scriptsmysql_install_db --user=mysql --datadir=datamysql

注意:如果有的同學(xué)發(fā)現(xiàn)執(zhí)行之后會報(bào)錯,報(bào)錯內(nèi)容為卻少一個libaio.so.1的動態(tài)共享庫,我們可以yum install libaio.x86_64 手動安裝這個包

第六步:

接下來,我們要創(chuàng)建一個數(shù)據(jù)庫的配置文件,
數(shù)據(jù)庫的默認(rèn)配置文件etcmy.cnf文件,但是這個配置文件默認(rèn)的內(nèi)容的是不符合要求的,我們可以自己創(chuàng)建一個配置文件,etcmysqlmy.cof,這個文配置文件的優(yōu)先級要比系統(tǒng)自帶的配置文件要高
我們可以參考解壓縮文件中的usrlocalmysqlsupport-files目錄下my-huge.cnf文件來當(dāng)做配置文件

mkdir etcmysqlmy.cnf cp usrlocalmysqlsupport-filesmy-huge.cnf etcmysqlmy.cnf 我們需要在配置文件中的28行添加一條配置信息,用來指定數(shù)據(jù)路文件的位置, datadir=datamysql

第七步:

配置文件我們已經(jīng)創(chuàng)建好了,接下來就是服務(wù)啟動腳本了,CentOS7服務(wù)啟動的腳本存放在etcinit.d下,我們不用自己編寫這個啟動腳本,當(dāng)然,有能力的同學(xué)也可以自己編寫,我們解壓縮的二進(jìn)制包很友好的給我們提供了服務(wù)啟動的程序,在usrlocalmysqlsupport-files這個目錄下的mysql.server文件,我們將這個文件復(fù)制到etcinit.d并且改名為mysqld,然后我們將服務(wù)腳本添加到列表中,然后啟動服務(wù)就好了。3306端口已經(jīng)處于監(jiān)聽狀態(tài)了

cp usrlocalmysqlsupport-filesmysql.server etcinit.dmysqld chkconfig --add mysqld chkconfig --list systemctl start mysqld

第八步:

添加PATH路徑,以后我們直接敲命令就好了 echo PATH='usrlocalmysqlbin$PATH' etcprofile.dmysql.sh . etcprofile.dmysql.sh

第九步:

我們現(xiàn)在就可以直接使用mysql密令登錄到數(shù)據(jù)庫了,但是,目前數(shù)據(jù)庫很不安全,所以,我們需要對數(shù)據(jù)庫進(jìn)行安全加固。
安全加固:mysql會自帶一個安全加固的一個程序mysql_secure_installation,這個是個交互式的方式,大概內(nèi)容如下:

1、默認(rèn)是空密碼,只能輸入enter設(shè)置密碼2、連續(xù)輸入兩次密碼3、是否刪除匿名用戶4、禁止用戶遠(yuǎn)程登錄5、默認(rèn)有一個test數(shù)據(jù)庫,任何人都可以訪問,只用測試環(huán)境,但是,進(jìn)入生產(chǎn)環(huán)境之前,確保把這個數(shù)據(jù)庫刪除6、將以上信息,重新加載,

第十步:

測試連接,當(dāng)執(zhí)行完安全加固后,我們就必須要指定用戶和密碼登錄了
mysql -u'user' -p'passwd'
示例
mysql -uabc -p123456

第二個實(shí)驗(yàn):實(shí)現(xiàn)用shell腳本來完成上面的工作

注意:我們要模擬的真實(shí)的環(huán)境,所以,我們推薦把mariaDB的數(shù)據(jù)庫存放在LV邏輯卷上,這樣就可以靈活的實(shí)現(xiàn)空間的擴(kuò)容了
先復(fù)習(xí)以下邏輯卷的創(chuàng)建過程,以我的虛擬機(jī)為例
我們添加一塊新硬盤:20G devsdb3
在原有的磁盤上有一個sda3,掛載目錄是在data下, devsdb1
這次用devsdae3和devsdb1來創(chuàng)建邏輯卷
步驟如下:

umount devsda3 fdisk devsdb fdisk devsda tn 3n 8en wn partprobe devsda fdisk devsda nn n n +5Gn tn n 8en wpvcreate devsda3 devsdb1pvdisplayvgcreate mysql devsda3 devsdb1vgdisplylvcreate -L 5G -n mysql_data mysqllvdisplaymkfs.xfs devmysqlmysql_datamkdir datamysqlmount devmappermysql_data datamysqlvim etcfstab

示例腳本:

#!binbash #install mysql #Create LVM sleep 1 echo start install...... null=devnull umount devsda3 & $null sed -i '11d' etcfstab fdisk devsda & $null EOF 8e w EOF partprobe devsda p 1+5G t 8e w EOF echo disk create---done pvcreate devsda3 devsdb1 & $null EOF y lvcreate -L 5G -n mysql_data mysql & $null mkfs.xfs devmysqlmysql_data & $null mkdir datamysql mount -aecho LVM create done #bin install mariadb cd usrlocal ln -s mariadb-10.2.23-linux-x86_64 mysql & $null chown -R root.root mysql & $null echo decompress done #create MASQL user groupadd -r -g 336 mysql useradd -r -g mysql -u 336 -s sbinnologin -d datamysql mysql chown -R mysql.mysql datamysql echo User create done #create MYSQL DB file cd usrlocalmysqlecho create mairiaDB file done #create configure fiel mkdir etcmysql touch etcmysqlmy.cnf cp usrlocalmysqlsupport-filesmy-huge.cnf etcmysqlmy.cnf sed -i '28adatadir=datamysql' etcmysqlmy.cnf#start service script cp usrlocalmysqlsupport-filesmysql.server etcinit.dmysqld chkconfig --add mysqld & $null systemctl start mysqld #add PATH echo PATH='usrlocalmysqlbin$PATH' etcprofile.dmysql.sh . etcprofile.dmysql.sh echo start service done #secure enhance mysql_secure_installation & $null EOFy centos centos y y y y EOF echo secure done sleep 3 echo tasks done

第二種:用ansible 實(shí)現(xiàn)完成安裝
還有些問題,正在改善,不好意思!

轉(zhuǎn)載于:https://blog.51cto.com/14116879/2388850

總結(jié)

以上是生活随笔為你收集整理的二进制安装Mariadb的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。