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

先决条件

  • 运行最新Arch Linux的Vultr服务器(请参阅本文。)
  • 须藤访问:
    • 要求以root身份运行的命令以前缀#,而可以以普通用户身份运行的命令以前缀$。建议以root用户身份运行命令的方式是,以普通用户的身份为每个命令添加前缀sudo

您可以选择安装MariaDB或MySQL,如以下两节所述。

安装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。请参阅在Arch Linux上构建软件包(包括AUR)。MariaDB和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


Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息