十年運維繫列之基礎篇 - MySQLmysql
做者:曾林 linux
聯繫:1494445739@qq.comsql
網站:www.jplatformx.com數據庫
版權:文章未經贊成請勿轉載centos
1、 引言安全
本文旨在記述MySQL在Linux下的安裝和配置。MySQL在linux下的安裝方式有三種,一種是基於RPM安裝,RPM是resource package manager簡稱,也就是資源包管理器,它的做用相似於Win下的「添加/刪除程序」;第二種是基於源碼安裝,這種方式是須要首先將源碼進行編譯的;第三種方式也就是二進制包安裝方式,它是將源碼進行編譯以後放出來的二進制安裝版,相似於win下的exe程序,通過安裝設置後直接就能夠運行了。咱們這裏的安裝就是採用第三種方式。bash
MySQL目前主要有三種分支版本。一種是oracle的MySQL;一種是Mariadb,它是mysql的創始人在mysql被oracle收購以後從新提供的mysql分支;第三分支也就是咱們這裏介紹的Percona的MySQL分支。服務器
Linux: CentOS release 6.5 (Final) X86_64oracle
MySQL: Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz運維
1. 將下載後的壓縮包複製(cp)到目錄/usr/local。
命令:
#cp Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz /usr/local/
截圖:
2. 進入(cd)到/usr/local,將壓縮包解壓(tar)。
命令:
#cd /usr/local
#tar -xvf Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz
截圖:
4、 MySQL目錄結構
在成功安裝MySQL後,注意這裏是成功安裝,而不是成功運行,若是要正常運行起MySQL,還須要一些配置。在成功運行MySQL前,先來簡單介紹一下MySQL的目錄結構,爲下一步成功配置MySQL先留下一個比較直觀的印象。
MySQL的一級目錄結構以下圖(其中白色表示文件,藍色表示目錄):
因爲文件都是一些說明性文字,這裏只展現目錄結構以及相關目錄說明。其中紅色部分表示在配置MySQL的時候須要用到。
1. 創建mysql用戶組(groupadd)和mysql用戶(useradd)。
命令:
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#groupadd mysql
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#useradd -g mysql mysql
截圖:
2. 設置mysql文件和目錄權限。首先設置data目錄的全部者(chown)爲mysql,這樣能夠保證mysql進程能夠寫data目錄。由於全部的數據庫增刪改查操做本質都在此目錄中進行操做,因此必需要保證mysql進程能夠讀寫此目錄。
命令:
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chown -R mysql data
截圖:
其次須要設置除data目錄之外其餘目錄和文件的所屬用戶組(chgrp)爲mysql。操做以下(這句命令的結尾有一個點號):
命令:
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chgrp -R mysql .
截圖:
3. 運行數據庫安裝腳原本最後完成mysql的配置。數據庫安裝腳本位於scripts目錄下,腳本名爲mysql_install_db,要特別注意運行用戶爲mysql。由於這是保證生成的目錄或文件的全部者爲mysql。
命令:
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#./scripts/mysql_install_db --user=mysql
截圖:
腳本運行成功後,會顯示「OK」字樣,同時會在data目錄中會生成必須的數據庫(除test)和innodb表空間、日誌文件等。
自此,MySQL就能夠運行了。直接運行bin目錄下的 mysqld_safe 腳原本啓動MySQL服務器。
命令:
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#nohup ./bin/mysqld_safe &
截圖:
MySQL服務器運行起來以後,就能夠經過客戶端(mysql)直接鏈接了。可是默認狀況是不須要用戶名就能夠直接訪問。若是想作安全設置,只須要在MySQL服務器運行的狀況下直接運行bin目錄下的腳本mysql_secure_installation,並作相關的配置便可。執行腳本 ./bin/mysql_secure_installation 結果以下圖:
①. 鍵入當前MySQL root用戶的密碼。通常直接不用輸入直接回車便可。
②. 設置並確認新的root密碼。
③. 是否刪除匿名用戶。輸入「y"便可。執行此操做就再也不容許匿名登陸了。
④. 不運行root用戶遠程登陸。選擇「y"就是不容許,選擇「n"就是容許。
⑤. 是否刪除測試數據庫「test」。
⑥. 刷新權限表。選擇「y」便可。
操做包括以下三個方面。
1. 客戶端命令和服務端命令放入系統變量PATH。
操做以下:修改/root/目錄下的.bash_profile文件,修改完後使用source命令使其生效。
添加內容:
PATH=/usr/local/Percona-Server-5.6.22-rel72.0-738.Linux.x86_64/bin:$PATH
export PATH
截圖:
2. 將mysql服務器的託管操做交給service程序。只須要將support-files目錄下的mysql.server文件拷貝到/etc/init.d目錄下便可,並更名爲mysql。之後mysql服務器的啓動、中止和狀態查看均可以經過執行命令service mysql start|stop|status。操做以下:
命令:
[root@localhost support-files]# mv mysql.server /etc/init.d/mysql
3. 將mysql設置爲開機進程。操做以下:
命令:
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chkconfig --add --level 234 mysql
[root@localhost Percona-Server-5.6.22-rel72.0-738.Linux.x86_64]#chkconfig --list | grep -i mysql
截圖:
自此, 整個MySQL安裝、配置以及快捷設置所有結束。之後若是要啓動、中止或者查看mysql服務器進程能夠直接經過命令:
#service mysql start
#service mysql stop
#service mysql status