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

・4 分钟阅读

前提条件

  • 运行最新Arch Linux的服务器(请参见本文 )
  • sudo访问:

你可以选择安装MariaDB或MySQL,在下面的两节中概述。

安装MariaDB 10.3数据库

安装MariaDB :


# pacman -S mariadb

如果运行Btrfs文件系统,出于性能原因,应考虑禁用数据库目录copy-on-write:


# chattr +C /var/lib/mysql/

配置MariaDB :


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

启动MariaDB,并使它在每次引导后自动启动:


# systemctl enable --now mariadb

完成建议的安全措施,按Enter键输入当前的root数据库密码,设置新的root密码,然后按Enter键,在所有提示中回答Yes。


# mysql_secure_installation

安装MySQL 8.0数据库

尽管强烈推荐使用MariaDB,但是也可以从Arch Linux用户存储库(AUR )安装MySQL ,

要安装MySQL,需要编译并安装mysql AUR包,请参见在arch linux(包括AUR)上构建包,MariaDB和MySQL的安装步骤非常相似。

如果运行Btrfs文件系统,出于性能原因应考虑禁用数据库目录的copy-on-write:


# 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的总内存(物理内存 交换分区)进行编译时,编译时可能会遇到内存耗尽错误。

测试连接

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


$ mysql -u root -p

退出:


MariaDB [(none)]> quit

防火墙

你可能需要考虑配置防火墙,默认情况下,MariaDB将侦听端口3306,不仅来自localhost,还来自公共IP地址的任何位置。Host... is not allowed to connect to this MariaDB server

准备升级

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

 
# pacman -Syu

 

建议将pacman配置为不自动安装升级MariaDB。编辑/etc/pacman.conf,并添加以下内容:


IgnorePkg = mariadb*

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

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


# pacman -S mariadb mariadb-clients mariadb-libs

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


# systemctl restart mariadb

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


# mysql_upgrade -u root -p

Chinaxiong profile image