在 Linux 上安裝 MariaDB 或 MySQL
開始在 Linux 系統上使用開源的 SQL 數據庫吧。
MariaDB 和 MySQL 都是使用 SQL 的開源數據庫,并且共享相同的初始代碼庫。MariaDB 是 MySQL 的替代品,你可以使用相同的命令(mysql
)與 MySQL 和 MariaDB 數據庫進行交互。因此,本文同時適用于 MariaDB 和 MySQL。
安裝 MariaDB
你可以使用你的 Linux 發行版的包管理器安裝 MariaDB。在大多數發行版上,MariaDB 分為服務器包和客戶端包。服務器包提供了數據庫“引擎”,即 MariaDB 在后臺運行(通常在物理服務器上)的部分,它監聽數據輸入或數據輸出請求。客戶端包提供了 mysql
命令,你可以用它來與服務器通信。
在 RHEL、Fedora、CentOS 或類似的發行版上:
$ sudo dnf install mariadb mariadb-server
在 Debian、Ubuntu、Elementary 或類似的發行版上:
$ sudo apt install mariadb-client mariadb-server
其他操作系統可能會以不同的打包系統封裝 MariaDB,所以你可能需要搜索你的軟件倉庫來了解你的發行版的維護者是如何提供它的。
啟動 MariaDB
因為 MariaDB 被設計為部分作為數據庫服務器,它可以在一臺計算機上運行,并從另一臺計算機上進行管理。只要你能訪問運行它的計算機,你就可以使用 mysql
命令來管理數據庫。在寫這篇文章時,我在本地計算機上運行了 MariaDB,但你同樣可與遠程系統上托管的 MariaDB 數據庫進行交互。
在啟動 MariaDB 之前,你必須創建一個初始數據庫。在初始化其文件結構時,你應該定義你希望 MariaDB 使用的用戶。默認情況下,MariaDB 使用當前用戶,但你可能希望它使用一個專用的用戶帳戶。你的包管理器可能為你配置了一個系統用戶和組。使用 grep
查找是否有一個 mysql
組:
$ grep mysql /etc/group
mysql:x:27:
你也可以在 /etc/passwd
中尋找這個專門的用戶,但通常情況下,有組就會有用戶。如果沒有專門的 mysql
用戶和組,可以在 /etc/group
中尋找一個明顯的替代品(比如 mariadb
)。如果沒有,請閱讀你的發行版文檔來了解 MariaDB 是如何運行的。
假設你的安裝使用 mysql
,初始化數據庫環境:
$ sudo mysql_install_db --user=mysql
Installing MariaDB/MySQL system tables in '/var/lib/mysql'...
OK
[...]
這一步的結果顯示了接下來你必須執行的配置 MariaDB 的任務:
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h $(hostname) password 'new-password'
Alternatively you can run:
'/usr/bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
使用你的發行版的初始化系統啟動 MariaDB:
$ sudo systemctl start mariadb
在啟動時啟用 MariaDB 服務器:
$ sudo systemctl enable --now mariadb
現在你已經有了一個 MariaDB 服務器,為它設置一個密碼:
mysqladmin -u root password 'myreallysecurepassphrase'
mysqladmin -u root -h $(hostname) password 'myreallysecurepassphrase'
最后,如果你打算在生產服務器上使用它,請在上線前運行 mysql_secure_installation
命令。