在 Linux 上安裝 MariaDB 或 MySQL
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
命令。
via: https://opensource.com/article/20/10/mariadb-mysql-linux
作者:Seth Kenlon 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive