如何在Arch Linux上安装MariaDB 10.3或MySQL 8.0

技术教程 不思进取 1年前 (2020-02-06) 513次浏览 0个评论 扫描二维码

安装 MariaDB 10.3 数据库

安装 MariaDB:

# pacman -S mariadb

如果运行 Btrfs 文件系统,则出于性能原因,应考虑禁用数据库目录的写时复制:

# chattr +C /var/lib/mysql/

配置 MariaDB:

# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

启动 MariaDB,并使其在每次启动后启动:

# systemctl enable --now mariadb

完成建议的安全措施。首先,按ENTER输入当前的根数据库密码,设置一个新的根密码,然后ENTER在所有其他提示下按。

# mysql_secure_installation

安装 MySQL 8.0 数据库

尽管强烈建议使用 MariaDB,但您也可以从 Arch Linux 用户系统信息库(AUR)安装 MySQL。了解 AUR 软件包不受官方支持,更新频率可能较低,并且由于它们不一定是经过审查的受信任用户提交的,因此应检查其 PKGBUILD / ETC 的任何可疑代码。就是说,截至 2019 年初,当前的 AUR 维护者mysql是“ Muflone”。尽管他不是可以发布到正式存储库的经过审查的受信任用户,但自 2011 年以来,他一直是 Arch 的重要贡献者,维护着约 250 个 AUR 软件包(其中许多很受欢迎),并且从未做过任何可疑的事情。

要安装 MySQL,请编译并安装 AUR 软件包mysql

如果运行 Btrfs 文件系统,则出于性能原因,应考虑禁用数据库目录的写时复制:

# chattr +C /var/lib/mysql/

配置 MySQL:

# mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

启动 MySQL,并使其在每次启动后启动:

# systemctl enable --now mysqld

完成建议的安全措施。上一条命令显示了自动生成的临时根数据库密码。设置新的 root 密码。y在所有其他肯定/否提示上2做出响应,并选择“强”密码验证策略。

# mysql_secure_installation

请注意,您不能在同一系统上安装 MariaDB 和 MySQL,因为 MariaDB 被用作嵌入式替代产品,并且具有相同名称的文件。另外,当使用少于 4GB 的总 RAM(物理 RAM +交换空间)进行编译时,编译时可能会遇到内存耗尽错误。

测试连接

要以根数据库用户身份连接到 MariaDB 或 MySQL,请运行以下命令:

$ mysql -u root -p

退出:

MariaDB [(none)]> quit

考虑防火墙

您可能要考虑配置防火墙。默认情况下,MariaDB 3306不仅会从 localhost 监听 port ,还会从您的公共 IP 地址上的任何地方监听。默认情况下,MariaDB 仅批准来自 localhost 的传入连接,但外部尝试仍将到达 MariaDB 并收到错误:Host... is not allowed to connect to this MariaDB server。尽管 MariaDB 被认为非常安全,但除非绝对必要,否则,防火墙甚至不向 MariaDB 服务器提供外部数据包也更加安全。即使需要直接远程访问,使用防火墙阻止流量并使用 VPN 也会更加安全。

准备升级

默认情况下,pacman当通过运行以下命令升级整个 Arch 系统时,将在新版本发布到正式的 Arch 存储库时升级 MariaDB:

# pacman -Syu

建议配置pacman为不自动安装对 MariaDB 的升级。当发布升级并升级整个 Arch 系统时,pacman将通知您有可用的新版本。编辑/etc/pacman.conf,然后添加以下内容:

IgnorePkg   = mariadb*

在升级之前备份数据库是一个好主意。

pacman显示有 MariaDB 升级时,请强制升级软件包:

# pacman -S mariadb mariadb-clients mariadb-libs

如果您运行的是 AUR MySQL 软件包,请pacman不要自动从 AUR 编译并安装新版本,因此上述步骤不是必需的,但仍然需要以下步骤。

升级后,程序包的.install脚本将提醒您执行以下步骤,但是阻止自动升级可确保您不会错过它。

重新启动 MariaDB,以加载新版本:

# systemctl restart mariadb

检查并更新您的表以符合新版本:

# mysql_upgrade -u root -p

不思进取 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在Arch Linux上安装MariaDB 10.3或MySQL 8.0
喜欢 (0)
[]
分享 (0)

您必须 登录 才能发表评论!