(001) Linux下MySQL的安裝手冊

十年運維繫列之基礎篇 - 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分支。服務器

 

2、 安裝準備

      Linux:    CentOS release 6.5 (Final) X86_64oracle

      MySQL:  Percona-Server-5.6.22-rel72.0-738.Linux.x86_64.tar.gz運維

 

3、 安裝步驟

      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的時候須要用到。

 

  • data —— 日誌文件、數據庫
  • bin —— 客戶端程序(mysql)和mysqld服務器(配置時用到)
  • docs —— 說明文檔、changelog
  • include —— 包含(頭)文件
  • lib —— 庫
  • man —— man格式的文檔
  • scripts —— mysql_install_db(配置時用到)
  • share —— 錯誤消息文件
  • sql-bench —— 基準程序
  • support-files —— 配置文件和啓動託管文件(配置時用到)

 

5、 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 &

        截圖:

 

6、 MySQL安全管理

       MySQL服務器運行起來以後,就能夠經過客戶端(mysql)直接鏈接了。可是默認狀況是不須要用戶名就能夠直接訪問。若是想作安全設置,只須要在MySQL服務器運行的狀況下直接運行bin目錄下的腳本mysql_secure_installation,並作相關的配置便可。執行腳本 ./bin/mysql_secure_installation 結果以下圖:

      ①. 鍵入當前MySQL root用戶的密碼。通常直接不用輸入直接回車便可。

      ②. 設置並確認新的root密碼。

      ③. 是否刪除匿名用戶。輸入「y"便可。執行此操做就再也不容許匿名登陸了。

      ④. 不運行root用戶遠程登陸。選擇「y"就是不容許,選擇「n"就是容許。

      ⑤. 是否刪除測試數據庫「test」。

      ⑥. 刷新權限表。選擇「y」便可。

 

7、 MySQL快捷操做

  操做包括以下三個方面。

  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

相關文章
相關標籤/搜索