每個網站背後都有一個資料庫,它通常執行在MySQL上。學習設定伺服器通常是新網站管理員或開發人員的第一次真正測試,而MySQL Community Server提供了一種免費和開源的入門方式。
是什麼讓MySQL Community Server成為最好的資料庫軟體?還有什麼軟體可以抗衡它?以及如何讓它在您的Web伺服器上正常執行?
我們將在本文中回答所有這些問題,甚至更多。您將學習在您的機器上設定MySQL社羣伺服器所需的所有知識。
什麼是MySQL社羣伺服器?
幾乎每個網站都需要一個資料庫。不需要它的是那些只有靜態頁面的小型網站。資料庫以結構化和可訪問的方式簡化了對大量內容的管理。
帶有表和行的WordPress資料庫
在WordPress中,資料庫儲存整個帖子、頁面和其他自定義資料,如標籤和評論。此外,如果資料可以更改、新增或刪除,則很可能將其儲存在資料庫中。所以很容易想象有多少資料通過資料庫。
SQL代表結構化查詢語言。它是一種類似於JavaScript或HTML的網路語言。SQL主要用於幫助您管理和運算元據庫。雖然存在替代方案,但SQL是絕大多數網站上最流行的選擇。
雖然SQL是您用來命令資料庫的語言,但您需要一個資料庫管理系統來處理所有資料庫的複雜性。這就是MySQL的用武之地。
作為市場上最流行的資料庫管理系統,MySQL是開發人員和Web管理員在其伺服器上設定資料庫時的首選。
MySQL社羣伺服器是免費的嗎?
雖然存在付費的MySQL企業版,但您可能會使用的所有核心功能都在MySQL Community Edition中。此外,它可以在所有20多個受支援的作業系統上免費下載,並且沒有隱藏費用或突然出現的問題。
本質上,MySQL社羣伺服器沒有附加任何條件!
MySQL社羣下載
此外,它在GPL許可下可用。這意味著它是免費的、開源的,並且可以在商業專案中使用和修改。因此,在您的伺服器上使用MySQL的典型用途不存在法律問題。
也就是說,如果您選擇分發其原始碼,您可能需要在GPL許可下發布您的整個專案,因此請務必閱讀許可。
與其他傾向於付費使用或具有非常嚴格的免費版本的軟體相比,MySQL是首選。
關於MySQL社羣伺服器的關鍵事項
與任何軟體一樣,MySQL也有一些您需要牢記的限制。其中一些是由錯誤造成的。其他的發生是因為程式只能儲存這麼多資料。
無論哪種方式,您都需要牢記這些內容,如果它們不利於您的專案,您甚至可能會尋找替代方案。
以下是要考慮的主要限制:
- 表大小限制:行和列大小有幾個硬性限制。一個表中只能有4096列,但最終可能會更少。此外,行大小限制為65,535位元組。
- MySQL施加限制:即使您的儲存引擎支援更大的行和列,MySQL也不會允許您建立任何超出限制的內容。
- Windows施加了進一步的限制: Windows版本的MySQL帶有額外的限制。32位版本的Windows不能在一個程序中使用超過2GB的RAM。此外,Windows伺服器只能使用4000個埠,當許多客戶端連線到您的資料庫時,這些埠會很快被填滿。
- 函式和例程限制: MySQL對函式和例程有幾個自我強加的限制,如果遇到問題,您需要注意。
- 大型資料庫的效能可能很差:當涉及到需要儲存和排序大量內容的大型資料庫時,MySQL可能會開始受到影響。即使備份和恢復備份也可能成為問題。
- 警惕記憶體問題:記憶體問題可能是MySQL的一個大問題,當它耗盡記憶體時,可能不清楚是什麼導致了突然凍結。
雖然這似乎是一個令人擔憂的列表,但每個資料庫管理系統都有其優點和缺點,而MySQL適用於大多數專案。大型企業網站和大資料可能會將MySQL推向極限,但小型專案和體面活躍的網站可以正常工作。
MySQL社羣伺服器與MySQL企業版
MySQL有兩個不同的版本:社羣伺服器版和企業版。前者是大家都知道和喜愛的開源版本的MySQL。企業版的存在是為了提供適用於大型企業網站的付費但更強大的版本。
MySQL企業版
以下是其他一些安全提示:
- 加密密碼:在資料庫中儲存純文字密碼可能非常危險。相反,請遵循密碼指南並加密您的密碼。如果您使用的是WordPress外掛,他們可能會為您處理這個問題。
- 限制使用者訪問:永遠不要讓非root使用者訪問使用者表。
- 請不要為您的伺服器使用root使用者:在Linux系統上,切勿在root使用者上執行MySQL伺服器(因為它可以訪問所有命令並且黑客可能會造成更大的破壞)。
- 限制許可權:為使用者分配適當的帳戶許可權,並避免給予他們超出要求的訪問許可權。始終要求所有使用者輸入密碼。
- 禁止表單程式碼:阻止使用者通過輸入框(例如表單)在您的站點上執行程式碼。
- 實施防火牆:對資料庫伺服器使用防火牆來阻止不需要的訪問。
- 使用 SSL:SSL加密您的網站以隱藏通過您的伺服器的所有資料。
- 刪除測試資料庫:刪除測試資料庫(如果“mysql_secure_installation”沒有刪除它),因為任何人都可以訪問它。
在Windows上安裝MySQL社羣伺服器
不熟悉Linux?或者您在Windows機器上執行您的伺服器?
幸運的是,有一個簡單的MySQL安裝工具,您可以使用它來啟動MySQL並在您的作業系統上執行。無需冗長、複雜的設定或令人困惑的程式碼,只需一個標準的Windows安裝程式嚮導。
適用於Windows的MySQL安裝程式
第 1 步:下載適用於Windows的MySQL安裝程式。您應該看到兩個檔案:Web安裝程式和備用安裝程式。如果您在下載MySQL時有Internet連線,請選擇第一個。如果沒有,請選擇第二個選項。您還可以下載zip存檔,解壓縮,然後手動安裝MySQL。但是您無法使用安裝程式嚮導進行設定。
第 2 步:下載MySQL後,雙擊安裝程式將其開啟。繼續顯示螢幕以完成安裝。
MySQL安裝程式
第 3 步:您將很快進入設定型別螢幕。假設您使用MySQL作為開發人員,請選擇Developer Default。Server only選項最適合伺服器計算機。如果您不確定,選擇Full下載所有元件永遠不會有壞處。安裝程式可能會提示您安裝必備軟體;要麼讓它自動解決,要麼線上尋找所需的工具。
MySQL安裝程式設定型別
第 4 步:下載您選擇的所有內容後,您將進入設定螢幕。您可以將大多數設定保留為預設值(但如果您要在此機器上設定資料庫伺服器,請務必選擇伺服器計算機或專用計算機)。
您還必須設定root密碼並可選擇新增額外使用者。
如果您希望MySQL在啟動時執行,請務必勾選相關框。
第5步:配置完成後,您將完成安裝。如果您已準備好試用MySQL,請選中Setup after Start MySQL Workbench 。您可以稍後通過單擊開始選單並將其輸入到搜尋欄中來啟動MySQL Workbench。
這樣,您就已經正確安裝了MySQL並且可以開始測試它了。
在Linux上安裝MySQL社羣伺服器
與Windows不同,沒有直接的方法可以執行安裝程式並讓MySQL在您的計算機上執行。相反,您需要使用命令列來安裝MySQL。這將使用作業系統內建的包管理器。
幸運的是,這在理論上比在Windows上執行十步安裝程式要容易得多。您需要做的就是啟動終端以開始使用。
以下是如何在基於apt的作業系統(例如Ubuntu)上執行此操作(開始之前的注意事項:您可能需要在開始之前安裝MySQL APT儲存庫):
儲存庫設定包
第 1 步:首先,更新您機器上安裝的軟體包,以確保您獲得最新版本的MySQL:
sudo apt更新
第 2 步:現在執行此程式碼來安裝MySQL:
sudo apt install mysql-server
該命令將執行大部分安裝功能並啟動伺服器。如果命令提示您選擇版本,請選擇最新的版本,目前是8.0(除非您知道需要其他版本)。
第 3 步:執行安全安裝以修補安全漏洞:
sudo mysql_secure_installation
第 4 步: MySQL應該會自動啟動,但如果您發現它不會啟動,可以執行此命令:
sudo service mysql restart
對於像CentOS 7這樣的基於yum的系統,步驟大致相同。不同之處在於您需要MySQL Yum Repository。相反,您應該將apt
命令替換為yum
.
在Mac上安裝MySQL社羣伺服器
某些版本的Mac OS X預裝了MySQL!您可以通過在終端中執行以下命令來測試它是否在您的計算機上:
mysql -V
如果你看到一個輸出,那麼MySQL已經安裝好了,你不需要再做任何事情了。但是,我們建議您使用5.7或8.0版本。如果您的版本低於此,您可能需要安裝新的MySQL版本。
由於Mac沒有像Linux那樣簡單的包管理器,我們將改用Homebrew,這是一個流行的程式,它使安裝MySQL(和各種其他東西)變得非常容易。
在Mac上使用Homebrew
第 1 步:安裝Homebrew後,在終端中輸入以下命令:
brew install mysql
此命令應安裝MySQL 8.0並立即啟動服務。
第 2 步:執行安全安裝過程:
mysql_secure_installation
第 3 步:如果MySQL伺服器還沒有啟動,可以手動啟動:
brew services start mysql
小結
啟動MySQL伺服器似乎是一項艱鉅的任務,但一旦掌握了它並不會太難。無論您是使用Windows安裝程式還是終端來設定它,您現在都應該在您的計算機上開始使用功能性SQL資料庫。
現在您有了一個資料庫,您必須備份它並保護它。檢視我們的MySQL資料庫備份指南,這樣您就不會丟失任何資料。這兩者對於確保您的網站安全至關重要。
評論留言