在亚马逊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。
请查看客户端连接的数据库端点。
连接步骤如下:
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 下重定向时