在 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.
使用发行版的 init 系统启动 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 命令。