如何在Arch Linux上安装MariaDB 10.3或MySQL 8.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做出响应,并选择“强”密码验证策略 。
【如何在Arch Linux上安装MariaDB 10.3或MySQL 8.0】# 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 软件包,请

推荐阅读