伺服器搭建十——MySQL資料庫伺服器搭建

weixin_33866037發表於2017-07-12

1.測試環境

a)Centos 6.7
b)Mysql(5.1.73yum安裝 在測試rpm安裝時候失敗)

2.簡單的資料庫概述

資料庫說的直白點就是儲存資料的倉庫。倉庫又有多種,你可以把東西隨便扔進去,也可以按照順序,結構化的儲存,現在最流行的是什麼?關係型資料庫還是非關係型資料庫呢。
  關係型資料庫:SQL Server,MySQL,SQLite,Oracle,Sybase和DB2。
  非關聯式資料庫:Couchbase,MongoDB,Redis,BigTable和RavenDB。
  相對來說使用最多的還是關係型資料庫,現在也有很多開始使用MongoDB(其實是介於關係型和非關係型之間的)。現對於oracle資料庫的高昂費用,MySQL是開源免費的資料庫,因此在學習關係型資料庫時候選擇這個來學習了。

3.MySQL安裝方法

Windows系統MySQL資料庫安裝方法比較簡單,就是下載一個exe檔案下一步安裝。這裡注意說說linux系統的安裝方法,和linux系統其他軟體的安裝一樣也是分兩種方法:

3.1 系統安裝時候安裝

如果你在系統安裝時候選擇安裝了mysql資料庫,或者選擇為mysql資料庫伺服器,那麼會預設自動安裝了資料庫和相關的依賴包。但是這個版本一般都是比官方低很多,安全性會低一些,可能會在使用過程中再升級到新的版本,打補丁什麼的。如果使用學習的話可以使用這個安裝。但是在生產環境中需要注意下資料庫安全問題選擇相對來說高點的版本,並打上必要的補丁,而在實際的使用過程中大家可能就是安裝玩測試,測試使用可以就行了,相對於優化可能做的更多,但是在漏洞掃描,安全掃描時候才會發現你的版本很多漏洞。


1420712-f11d5eba0a9d265f.png
系統安裝時候選擇

  在centos7 以後改成了MariaDB,這個是mysql的一個分支。


1420712-347d4c869e2cb67e.png
centos6 時候

  Centos6 版本可以選擇資料庫會發現mysql伺服器和客戶端選上安裝的玩系統使用就已經安裝了MySQL.

3.2 yum源安裝或者rpm安裝

如果是有聯網的話。Centos系統可以直接使用yum源安裝的方法,這個安裝可能會比系統自動版本高一點,也會安裝必要的依賴庫。如果是掛載的dvd作為yum源那麼版本就和你掛載有關係,但是有可能部分依賴庫找不到。有時候DVD盤分兩個。
  也可以是在網上下載rpm包安裝或在光碟中找到mysql必要的安裝包來安裝。注意是伺服器端和客戶端。如果安裝過程遇到報錯可以根據需要安裝必要的檔案,比如你是最小系統安裝的那麼很多庫沒有安裝也需要你自行找到安裝包安裝。還有個依賴包比較重要的是perl-DBI包這個也是mysql的依賴包。
如果你在使用是Centos7 有可能無法安裝,為什麼呢?因為安裝了MariaDB,需要解除安裝以後,才能安裝。(原始碼安裝也有可能存在這個問題)
  不管是系統安裝還是yum安裝 rpm安裝都存在一個問題,就是資料庫檔案存在什麼位置的問題,當然你可以修改配置檔案來改變儲存位置,也可以找到方法把安裝的預設位置,遷移到你需要的位置(這個可能會產生一些問題),不太建議遷移。資料庫後續使用需要很大的空間,你可以單獨掛載磁碟來給資料庫使用。

1420712-dc76deae2e9441df.png
光碟中檔案位置

1420712-73868b5bc9adf5d8.png
mysql的幾個rpm包

  在安裝盤什麼未知可以找到RPM檔案呢。看看上面的兩個圖就知道了。
  相對於前面安裝方法的簡單,後面的安裝方法可能會複雜點,但是還是建議使用這種安裝方法。
去哪裡找安裝包不用我來說吧,網站自己搜下mysql官網就出來了的啊。選擇什麼版本根據自己需要。裡面有企業版(收費的)和社群版本,並且根據不同系統都有對應的版本,既有單獨的rpm包,也有集合例如我下載的就是mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 最新合集。解壓之後:
1420712-8c1a94f850cd8107.png
下載最新的包

  安裝順序:先安裝所有必要的依賴包,然後在安裝mysql-server和mysql-client
  客戶端是用來測試本地伺服器。
  安裝命令是rpm -ivh 包名.rpm
  如果希望知道安裝包的預設安裝目錄可以使用rpm -qpl 包名.rpm檢視
  如果希望更改安裝目錄可以使用 --relocate 舊的安裝目錄=新的安裝目錄
  例如我希望將mysql的資料儲存安裝到我新掛載的檔案目錄 /data/mysql上
  rpm -ivh --relocate /var/lib=/data/mysql mysql-community-server-5.7.18-1.el7.x86_64.rpm

1420712-a932ffed8748dca5.png
資料庫檔案

  如果直接使用安裝mysql-server時候會遇到如下報錯,原因是庫檔案和依賴檔案沒有安裝的原因。因為幾個包都存在著依賴的關係可以使用--nodeps 忽略安裝。

1420712-ac4cc7d9c5c7cab5.png
需要的依賴包和一些必要的檔案

  看到上面第一個報錯需要安裝glibc2.17 版本以上的才可以,systemd等。這安裝方法感覺很複雜,會出現各種報錯。我是嘗試了很久。
  如果希望直接使用yum安裝吧,這種最省心了,其實官網還有各=地方你可以YUM 很小的一個檔案,這個就是yum原始檔,可以把這個下載下來放到yum源中。這樣就可以安裝最新的版本了。
最快的安裝方式:yum install mysql

1420712-3b9e2e2086263bce.png
安裝了客戶端

  你會發現這樣安裝還是無法啟動,那是因為你安裝的不是server

1420712-36b0b45087ac0921.png
安裝伺服器

1420712-7994307ea9340a63.png
啟動 初始化

  看看安裝的目錄:rpm -ql mysql-server
1420712-b903b74b27630549.png
安裝目錄

  主要的檔案:/usr/bin (客戶端程式和指令碼)         /usr/sbin (mysqld 伺服器)         /var/lib/mysql 日誌和資料庫檔案
  後面這個最主要了,所有的資料庫檔案都在裡面

4.配置

Mysql的配置檔案相對來說是簡單的,但是和各個應用相關的連線什麼。還需要安裝相關的檔案比如安裝php-mysql等等,會生成一些相關的配置檔案,需要具體問題具體分析了。
  配置檔案/etc/my.cnf

1420712-5b4a3b3ea1608840.png
my.cnf

  關於mysql的啟動除了使用service mysqld start
  還可以使用mysqld_safe & (官方建議使用這個)但是使用這個會出現問題,這個是會自動重啟服務的。所以無法使用stop關閉服務。使用kill -9 也無法關閉。需要使用mysqladmin shutdown關閉


1420712-3ec330a71f106282.png
Paste_Image.png

  在通常安裝之後的my.cnf可能不存在 或者是比較簡單的,比如上面那個就特別簡單隻有資料儲存位置,要是希望使用更多的配置優化。需要在/usr/share/mysql找到5個配置檔案的例項,可以根據需要將相應的例項檔案複製到my.cnf檔案中,進行修改。


1420712-1476d671d19bfcc8.png
配置檔案例項

  以my-huge.cnf為例來看看具體的內容:

1420712-783b9709d9ae0cbc.png
配置檔案

  還有:skip-name-resolve (靜止mysql做域名解析,節省時間)      max-connections=1000 設定最大連線程式數
  可以使用使用show variables like '%buffer%';檢視系統當前的選項的配置
  可以使用set命令來直接更改選項的值。
1420712-e4604bee9f96a44f.png
檢視現有配置選項

5.簡單資料庫命令

關於mysqladmin是一個很重要的命令,他是mysql的伺服器管理程式,可以用來做各種必要的管理。更改使用者名稱密碼,建立資料庫,除錯,顯示狀態,殺掉伺服器執行緒等。下面是檢視程式資訊,是否執行。關於更詳細的可以檢視直接輸入mysqladmin就可以檢視到。

1420712-4c42fccd47fb1f54.png
mysqladmin測試

  資料庫操作包括檢視,選擇,建立和刪除 主要是在資料庫下操作,上面的mysqladmin是在系統命令列操作的。
1420712-11d28f47f2873bb9.png
資料庫操作

  更多的sql命令建議你找一本資料庫的書籍來學習。資料庫的學習不是一蹴而就需要不多使用,操作。
  關於使用者和許可權管理除了使用mysqladmin,在資料庫中也有對應的SQL命令進行管理,需要用到5張授權表 user ,db, host, tables_priv, columbs_priv
  使用者授權命令grant 這個實際就是對5張表處理。revoke 回收許可權。
  mysqldump 用來備份和恢復具體自己可以找下命令(help1)使用什麼引數。
  上面說的都是命令列的管理,可能在初期使用非常的不習慣,那麼有沒有圖形化的管理介面呢?我們也可以使用phpMyAdmin編寫的圖形化管理配置程式。這個程式需要和apache+php配合使用。
  如何安裝phpMyAdmin
  我是使用yum install php httpd -y
  然後設定httpd.conf
  在裡面DirectoryIndex index.html index.php #新增index.php
  新增如下內容
  AddType application/x-httpd-php-source .phps   AddType application/x-httpd-php .php
  檢查LoadModule php5_module modules/libphp5.so 是否已經新增 libphp5.so檔案是否存在

然後將下載的phpMyAdmin 解壓縮 複製到/var/www/html中 將config.sample.inc.php 修改為config.inc.php 並且編輯,在下方填上任意內容。


1420712-cc2f926c97b565de.png
配置config.inc.php

  但是我在重啟httpd服務以後,登入發現無法報錯,查詢報錯日誌

1420712-ef97b44bbc7ad145.png
報錯

  我將index.php修改為如下內容測試正常
  <?php    phpinfo();    ?>
  說明httpd沒有問題,phpMyAdmin 也是官網下載的最新版本,後來查詢得知可能是php版本的問題,因為使用yum安裝時候一般都不是最新版本。後來查詢的版本是php5.3.3版本卻是很低,重新安裝php。
我重新安裝以後遇到了一些問題但是沒有解決

1420712-508504c24bca9557.png
安裝報錯

  網上找到是安裝yum install php-mbstring但是問題沒有解決
  也有說需要修改php.ini在裡面將msbstring去掉分號生效 但是還是沒有解決。後續在處理吧。這個和apache+php有一定的關係,在後續學習apache時候在來詳細說說吧。再就是選擇phpMyAdmin版本時候需要注意下他使用的php版本相對應 不然就會遇到和我之前安裝發現無法使用的問題。

相關文章