在亚马逊Linux上安装MariaDB

我试图在Amazon Linux上安装MariaDB。
但似乎Amazon Linux不提供支持,建议使用Amazon Linux 2。
如果使用除Amazon Linux之外的AMI,本文所述情况可能不适用,但如果使用Amazon Linux,请注意。
本次我将记录在Amazon Linux和Amazon Linux 2上安装MariaDB的结果。

安装完成后很简单,我使用MariaDB-client包附带的mysql命令进行了与Aurora Serverless RDS集群的连接确认。
目前,Serverless RDS集群似乎只支持Aurora引擎(5.6)。

在EC2上安装MariaDB。

事先创建EC2实例并通过SSH登录。
登录后进行初始环境设置,并使用以下命令安装MariaDB。(本次将忽略MariaDB的配置。)

cat << EOF | sudo tee -a /etc/yum.repos.d/mariadb.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

sudo yum install MariaDB-server MariaDB-client -y

参考情報,本次使用的AMI是「Amazon Linux 2 LTS候选AMI 2017.12.0(HVM),SSD存储卷类型」。
考虑到试用性质,可以选择t2.micro实例大小,并且使用竞价实例可能更加经济实惠。

对于简单的文件追加,使用Here文档和tee组合非常方便。(如果不需要sudo,则使用Here文档和重定向也可以)
无需打开vi编辑器即可创建repo文件非常方便。

接着下来,这是安装的输出结果。

2-1. 安装Amazon Linux后的结果

尝试安装MariaDB时出现以下错误。

(省略)
--> トランザクションの確認を実行しています。
---> パッケージ MariaDB-client.x86_64 0:10.3.9-1.el7.centos を インストール
--> 依存性の処理をしています: libsystemd.so.0()(64bit) のパッケージ: MariaDB-client-10.3.9-1.el7.centos.x86_64
--> 依存性解決を終了しました。
エラー: パッケージ: MariaDB-client-10.3.9-1.el7.centos.x86_64 (mariadb)
             要求: libsystemd.so.0()(64bit)
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest

MariaDB的软件包似乎依赖于systemd,但Amazon Linux不支持systemd。(正式支持从Amazon Linux 2开始)

不仅服务器包,客户端包也依赖于systemd。
(如果是用于服务器目的,选择使用RDS会是一个选择吗?客户端工具需要另外准备…)

Amazon Linux2安装结果的情况。

我成功地安裝了,沒有出現任何問題。

インストール:
  MariaDB-client.x86_64 0:10.3.9-1.el7.centos                 MariaDB-compat.x86_64 0:10.3.9-1.el7.centos                
  MariaDB-server.x86_64 0:10.3.9-1.el7.centos                

(省略)                                                                                

完了しました!

我做了一些调查,似乎有人说:“为什么使用Amazon Linux AMI?应该使用CentOS AMI。”
https://serverfault.com/questions/775012/how-to-install-mariadb-on-amazon-linux

3. 尝试连接到 Aurora Serverless

由于我已经安装了MariaDB-client软件包并安装了mysql命令,所以我想尝试连接到Aurora Serverless。

aurora_serverless_desc.png

请查看客户端连接的数据库端点。
连接步骤如下:

mysql -u username -p -h rdsclustername.cluster-XXXXXXXX.us-west-2.rds.amazonaws.com
Enter password: 

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.6.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.004 sec)

MySQL [(none)]> 

如果空闲状态持续很长时间,处理性能会停止(感觉就像实例停止了一样)。停止后再重新连接似乎需要数十秒才能恢复。(虽然没有确切确认,但稍微放置一段时间后重新连接时响应稍微有些延迟。)

Aurora Serverless的收费项目似乎包括处理性能(Aurora Capacity Unit)、存储容量和I/O数量。(请参阅官方文档以确认)
根据当前的启动设置,每个ACU的费率为0.06美元/小时,而当前设定为4个ACU,因此每小时大约是0.24美元(26日元?)左右。(存储和I/O数量的计算方式不同)。

概括

由于Amazon Linux AMI无法安装MariaDB(包括客户端软件包),因此如果要在EC2上安装MariaDB,则需要选择Amazon Linux 2或CentOS的AMI。

我最近试了一下Aurora Serverless,虽然很简单。(本来想从lambda函数访问它。但Aurora Serverless是一种可以将记录内容分离并整理的服务)

请参阅文章。

亚马逊 Linux 2
下载设置 MariaDB 仓库
如何在亚马逊 Linux 上安装 MariaDB
亚马逊 Aurora 无服务器
掌握使用 Here Document
当想在 sudo 下重定向时

广告
将在 10 秒后关闭
bannerAds