伺服器搭建十——MySQL資料庫伺服器搭建
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資料庫伺服器,那麼會預設自動安裝了資料庫和相關的依賴包。但是這個版本一般都是比官方低很多,安全性會低一些,可能會在使用過程中再升級到新的版本,打補丁什麼的。如果使用學習的話可以使用這個安裝。但是在生產環境中需要注意下資料庫安全問題選擇相對來說高點的版本,並打上必要的補丁,而在實際的使用過程中大家可能就是安裝玩測試,測試使用可以就行了,相對於優化可能做的更多,但是在漏洞掃描,安全掃描時候才會發現你的版本很多漏洞。
在centos7 以後改成了MariaDB,這個是mysql的一個分支。
Centos6 版本可以選擇資料庫會發現mysql伺服器和客戶端選上安裝的玩系統使用就已經安裝了MySQL.
3.2 yum源安裝或者rpm安裝
如果是有聯網的話。Centos系統可以直接使用yum源安裝的方法,這個安裝可能會比系統自動版本高一點,也會安裝必要的依賴庫。如果是掛載的dvd作為yum源那麼版本就和你掛載有關係,但是有可能部分依賴庫找不到。有時候DVD盤分兩個。
也可以是在網上下載rpm包安裝或在光碟中找到mysql必要的安裝包來安裝。注意是伺服器端和客戶端。如果安裝過程遇到報錯可以根據需要安裝必要的檔案,比如你是最小系統安裝的那麼很多庫沒有安裝也需要你自行找到安裝包安裝。還有個依賴包比較重要的是perl-DBI包這個也是mysql的依賴包。
如果你在使用是Centos7 有可能無法安裝,為什麼呢?因為安裝了MariaDB,需要解除安裝以後,才能安裝。(原始碼安裝也有可能存在這個問題)
不管是系統安裝還是yum安裝 rpm安裝都存在一個問題,就是資料庫檔案存在什麼位置的問題,當然你可以修改配置檔案來改變儲存位置,也可以找到方法把安裝的預設位置,遷移到你需要的位置(這個可能會產生一些問題),不太建議遷移。資料庫後續使用需要很大的空間,你可以單獨掛載磁碟來給資料庫使用。
在安裝盤什麼未知可以找到RPM檔案呢。看看上面的兩個圖就知道了。
相對於前面安裝方法的簡單,後面的安裝方法可能會複雜點,但是還是建議使用這種安裝方法。
去哪裡找安裝包不用我來說吧,網站自己搜下mysql官網就出來了的啊。選擇什麼版本根據自己需要。裡面有企業版(收費的)和社群版本,並且根據不同系統都有對應的版本,既有單獨的rpm包,也有集合例如我下載的就是mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 最新合集。解壓之後:
安裝順序:先安裝所有必要的依賴包,然後在安裝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
如果直接使用安裝mysql-server時候會遇到如下報錯,原因是庫檔案和依賴檔案沒有安裝的原因。因為幾個包都存在著依賴的關係可以使用--nodeps 忽略安裝。
看到上面第一個報錯需要安裝glibc2.17 版本以上的才可以,systemd等。這安裝方法感覺很複雜,會出現各種報錯。我是嘗試了很久。
如果希望直接使用yum安裝吧,這種最省心了,其實官網還有各=地方你可以YUM 很小的一個檔案,這個就是yum原始檔,可以把這個下載下來放到yum源中。這樣就可以安裝最新的版本了。
最快的安裝方式:
yum install mysql
你會發現這樣安裝還是無法啟動,那是因為你安裝的不是server
看看安裝的目錄:rpm -ql mysql-server
主要的檔案:
/usr/bin (客戶端程式和指令碼) /usr/sbin (mysqld 伺服器) /var/lib/mysql 日誌和資料庫檔案
後面這個最主要了,所有的資料庫檔案都在裡面
4.配置
Mysql的配置檔案相對來說是簡單的,但是和各個應用相關的連線什麼。還需要安裝相關的檔案比如安裝php-mysql等等,會生成一些相關的配置檔案,需要具體問題具體分析了。
配置檔案/etc/my.cnf
關於mysql的啟動除了使用service mysqld start
還可以使用mysqld_safe & (官方建議使用這個)但是使用這個會出現問題,這個是會自動重啟服務的。所以無法使用stop關閉服務。使用kill -9 也無法關閉。需要使用mysqladmin shutdown關閉
在通常安裝之後的my.cnf可能不存在 或者是比較簡單的,比如上面那個就特別簡單隻有資料儲存位置,要是希望使用更多的配置優化。需要在/usr/share/mysql找到5個配置檔案的例項,可以根據需要將相應的例項檔案複製到my.cnf檔案中,進行修改。
以my-huge.cnf為例來看看具體的內容:
還有:
skip-name-resolve (靜止mysql做域名解析,節省時間) max-connections=1000 設定最大連線程式數
可以使用使用
show variables like '%buffer%';
檢視系統當前的選項的配置可以使用set命令來直接更改選項的值。
5.簡單資料庫命令
關於mysqladmin是一個很重要的命令,他是mysql的伺服器管理程式,可以用來做各種必要的管理。更改使用者名稱密碼,建立資料庫,除錯,顯示狀態,殺掉伺服器執行緒等。下面是檢視程式資訊,是否執行。關於更詳細的可以檢視直接輸入mysqladmin就可以檢視到。
資料庫操作包括檢視,選擇,建立和刪除 主要是在資料庫下操作,上面的mysqladmin是在系統命令列操作的。
更多的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 並且編輯,在下方填上任意內容。
但是我在重啟httpd服務以後,登入發現無法報錯,查詢報錯日誌
我將index.php修改為如下內容測試正常
<?php phpinfo(); ?>
說明httpd沒有問題,phpMyAdmin 也是官網下載的最新版本,後來查詢得知可能是php版本的問題,因為使用yum安裝時候一般都不是最新版本。後來查詢的版本是php5.3.3版本卻是很低,重新安裝php。
我重新安裝以後遇到了一些問題但是沒有解決
網上找到是安裝
yum install php-mbstring
但是問題沒有解決也有說需要修改php.ini在裡面將msbstring去掉分號生效 但是還是沒有解決。後續在處理吧。這個和apache+php有一定的關係,在後續學習apache時候在來詳細說說吧。再就是選擇phpMyAdmin版本時候需要注意下他使用的php版本相對應 不然就會遇到和我之前安裝發現無法使用的問題。
相關文章
- MySQL資料庫伺服器搭建指南-VeCloudMySql資料庫伺服器Cloud
- LNMP 分散式叢集(三):MySQL主從資料庫伺服器的搭建LNMP分散式MySql資料庫伺服器
- 詳解phpMyAdmin怎麼搭建多資料庫伺服器PHP資料庫伺服器
- 十分鐘搭建自己的linux伺服器?Linux伺服器
- SequoiaDB巨杉資料庫入門:快速搭建流媒體伺服器資料庫伺服器
- Tony 老師搭建 MySQL 主從伺服器MySql伺服器
- 【MySQL資料庫】認識資料庫+環境搭建--------Windows系統MySql資料庫Windows
- BT伺服器搭建伺服器
- Git 伺服器搭建Git伺服器
- 搭建SVN伺服器伺服器
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- mysql伺服器主從資料庫同步配置MySql伺服器資料庫
- node搭建簡易資源伺服器伺服器
- 部署伺服器系列一:Linux環境結合Docker搭建資料庫服務伺服器LinuxDocker資料庫
- 十分鐘搭建自己的私有NuGet伺服器-BaGet伺服器
- 基於flask搭建伺服器響應頁面資料Flask伺服器
- yum源伺服器搭建伺服器
- Centos搭建git伺服器CentOSGit伺服器
- nodejs搭建web伺服器NodeJSWeb伺服器
- node搭建web伺服器Web伺服器
- 搭建jupyter notebook伺服器伺服器
- mac搭建apache伺服器MacApache伺服器
- 伺服器搭建latex(overleaf)伺服器
- MySQL-主從複製之搭建從資料庫MySql資料庫
- MySQL-主從複製之搭建主資料庫MySql資料庫
- mysql資料庫伺服器錯誤怎麼回事MySql資料庫伺服器
- 伺服器資料庫伺服器資料庫
- 伺服器資料恢復—雲伺服器mysql資料庫表資料被delete的資料恢復案例伺服器資料恢復MySql資料庫delete
- 如何快速搭建靜態資源伺服器伺服器
- ECS雲伺服器搭建Mysql,並提供公網連線伺服器MySql
- nginx伺服器搭建以及配置Nginx伺服器
- NIO 伺服器搭建筆記伺服器筆記
- 快速搭建本地mock伺服器Mock伺服器
- 搭建自己的 Git 伺服器Git伺服器
- Windows下搭建Nginx伺服器WindowsNginx伺服器
- Centos 6.6 搭建FTP伺服器CentOSFTP伺服器
- FTP伺服器——使用vsftpd搭建FTP伺服器
- 搭建自己的Anki伺服器伺服器
- 使用Python搭建http伺服器PythonHTTP伺服器