CentOS 6.8編譯安裝MySQL
編輯:狂族晨曦 來(lái)源:系統(tǒng)運(yùn)維,經(jīng)驗(yàn)雜筆 日期:2016-08-25 閱讀: 3,124 次 4 條評(píng)論 » 百度已收錄
先森來(lái)公司試用也有一個(gè)半月了,從剛畢業(yè)到現(xiàn)在也成長(zhǎng)了很多。運(yùn)維工程師,最基本的當(dāng)屬各種命令,然后是各種服務(wù)的搭建部署了。先森這一個(gè)半月也不是白混的,也搭建了很多服務(wù)了,好久沒(méi)更新博客了,今天也把先森編譯安裝MySQL的過(guò)程寫(xiě)出來(lái)。

MySQL編譯安裝
編譯安裝
1、首先要先查看系統(tǒng)是否已經(jīng)創(chuàng)建過(guò)mysql用戶(hù)。使用下面的命令查看是否有mysql用戶(hù)及用戶(hù)組
cat /etc/passwd #查看用戶(hù)列表 cat /etc/group #查看用戶(hù)組列表
2、如果沒(méi)有就創(chuàng)建
groupadd mysql useradd -g mysql mysql
3、解壓安裝包到/usr/local/目錄下,并重命名為mysql。修改/usr/local/mysql權(quán)限:
chown -R mysql:mysql /usr/local/mysql
4、修改配置文件
注:在啟動(dòng)MySQL服務(wù)時(shí),會(huì)按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會(huì)搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認(rèn)位置!
在CentOS 6.4版操作系統(tǒng)的最小安裝完成后,在/etc目錄下會(huì)存在一個(gè)my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會(huì)干擾源碼安裝的MySQL的正確配置,造成無(wú)法啟動(dòng)。
mv /etc/my.cnf /etc/my.cnf.bak
復(fù)制mysql服務(wù)啟動(dòng)配置文件
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
5、進(jìn)入安裝路徑,執(zhí)行初始化配置腳本,創(chuàng)建系統(tǒng)自帶的數(shù)據(jù)庫(kù)和表
cd /usr/local/mysql scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
6、添加到系統(tǒng)服務(wù)、啟動(dòng)MySQL
添加服務(wù),拷貝服務(wù)腳本到init.d目錄,并設(shè)置開(kāi)機(jī)啟動(dòng)
cp support-files/mysql.server /etc/init.d/mysql chkconfig mysql on service mysql start --啟動(dòng)MySQL
7、添加環(huán)境變量
啟動(dòng)MySQL后,我們還無(wú)法直接使用“mysql”命令進(jìn)入數(shù)據(jù)庫(kù),這時(shí)候還需要添加環(huán)境變量。
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH export PATH
保存退出后,運(yùn)行下面的命令,讓配置立即生效
source /etc/profile
8、安全
雖然我們這時(shí)候已經(jīng)可以直接進(jìn)入數(shù)據(jù)庫(kù)并未數(shù)據(jù)庫(kù)用戶(hù)設(shè)置密碼了,但是這樣并不安全。MySQL為我們提供了安全配置向?qū)_本mysql_secure_installation
執(zhí)行 /usr/local/mysql/bin/mysql_secure_installation
下面是執(zhí)行后的一些重要交互項(xiàng),中間內(nèi)容省略:
Enter current password for root (enter for none):<–初次運(yùn)行直接回車(chē) ... Set root password? [Y/n] <– 是否設(shè)置root用戶(hù)密碼,輸入y并回車(chē)或直接回車(chē) New password: <– 設(shè)置root用戶(hù)的密碼 Re-enter new password: <– 再輸入一次你設(shè)置的密碼 ... Remove anonymous users? [Y/n] <– 是否刪除匿名用戶(hù),生產(chǎn)環(huán)境建議刪除,所以直接回車(chē) ... Disallow root login remotely? [Y/n] <–是否禁止root遠(yuǎn)程登錄,根據(jù)自己的需求選擇Y/n并回車(chē),建議禁止 ... Remove test database and access to it? [Y/n] <– 是否刪除test數(shù)據(jù)庫(kù),直接回車(chē) ... Reload privilege tables now? [Y/n] <– 是否重新加載權(quán)限表,直接回車(chē)
9、如果我們需要給其他數(shù)據(jù)庫(kù)用戶(hù)設(shè)置密碼,以root為例,執(zhí)行下面的命令設(shè)置密碼:
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
10、在安全向?qū)е形覀円呀?jīng)關(guān)閉了root用戶(hù)遠(yuǎn)程訪(fǎng)問(wèn),若因業(yè)務(wù)需要我們由需要設(shè)置root用戶(hù)遠(yuǎn)程訪(fǎng)問(wèn),那么執(zhí)行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql> flush privileges;
簡(jiǎn)單的解釋一下:
*.*是指允許訪(fǎng)問(wèn)任何數(shù)據(jù)庫(kù)與數(shù)據(jù)表;
'root'@'%':root是指定用戶(hù),百分號(hào)是允許root用戶(hù)從任何網(wǎng)絡(luò)遠(yuǎn)程訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),也可以是“192.168.2.%”這種形式。
后面的123456就是遠(yuǎn)程訪(fǎng)問(wèn)的密碼啦,不知道如果跳過(guò)上一步的設(shè)置密碼過(guò)程,直接在這里設(shè)置密碼,是否也能達(dá)到設(shè)置密碼的效果,先森還沒(méi)有嘗試過(guò)。如果知道的朋友可以告訴先森一聲。
11、配置防火墻
防火墻的3306端口默認(rèn)沒(méi)有開(kāi)啟,若要遠(yuǎn)程訪(fǎng)問(wèn),需要開(kāi)啟這個(gè)端口
打開(kāi)/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后保存,并關(guān)閉該文件,在終端內(nèi)運(yùn)行下面的命令,重啟防火墻以刷新防火墻配置:
service iptables restart
12、創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
總結(jié)
因?yàn)閿?shù)據(jù)庫(kù)可以說(shuō)是服務(wù)器中最重要的服務(wù)之一了,所以它的安全就顯得尤為重要。下面是先森的一些建議:
1、最好不要設(shè)置遠(yuǎn)程訪(fǎng)問(wèn)權(quán)限;2、不要開(kāi)啟防火墻端口或使用默認(rèn)3306端口;
3、盡量不要使用root這種默認(rèn)用戶(hù);
4、保證密碼的復(fù)雜性;
5、做好數(shù)據(jù)庫(kù)備份。
當(dāng)然做好數(shù)據(jù)庫(kù)的安全不僅僅是以上幾點(diǎn)。但如果連以上幾點(diǎn)都沒(méi)有做到,那么數(shù)據(jù)庫(kù)就非常危險(xiǎn)了。
歷史上的今天:
- 2017: 解決WordPress加入CDN后“非插件瀏覽次數(shù)統(tǒng)計(jì)”瀏覽次數(shù)不刷新問(wèn)題(6)
- 2015: 圖解人性漫畫(huà):打工與創(chuàng)業(yè)的殘酷區(qū)別(0)
轉(zhuǎn)載請(qǐng)注明出處來(lái)自http://www.cnidcc.cn/centos_mysql.html

川公網(wǎng)安備 51011202000104號(hào)
確實(shí)不錯(cuò)
收藏了備用~
不錯(cuò)哦,持續(xù)更新~
贊一下,故意我之后可能也會(huì)用到mysql。不過(guò)服務(wù)器版本不知道回事多少。