ハマログ

株式会社イーツー・インフォの社員ブログ

AWSのRDSをアップグレードのためテストしてたらストレージ不足


おはようございます。またご無沙汰になってしまいました。ネタを見つけるたびにブログ書かないとダメですね。今日はネタ見つけたので書けます。
アマゾンからこんなメールがきました。

Hello,
We are reaching out to you to let you know that we will be ending support for MySQL minor engine version 5.7.10 in Amazon RDS on July
...以下省略

MySQLの「5.7.10」を使ってるユーザーはサポート対象外になるから勝手にアップグレードするよ。とのことです。運用中に勝手にアップグレードされると困るので事前アップグレードを計画しようと思いまして、作業手順確認をしようとテスト用のRDSを起動しました。せっかくなんで少し多めにテストデータくらいいれとこと思ったら「ストレージ不足」が発生。いい練習をさせてもらいました。

最初にテーブル作ってデータ投入

create table test (id int auto_increment, name varchar(10), index(id));
insert into test (name) values ('aaaaa'), ('bbbbb'), ('ccccc'),('ddddd'),('eeeee'),('fffff'),('ggggg'),('hhhhh'),('iiiii'),('jjjjj'),('kkkkk');
insert into test (name) select s1.name from test s1, test s2, test s3, test s4, test s5, test s6, test s7, test s8;

と、

ERROR 1114 (HY000): The table '/rdsdbdata/tmp/#sql_1fbf_0' is full

もう一切SQL文受け付けてくれなくなりました。
仕方なく一度抜けて再度接続を。

 mysql -u e2_admin -p -h updatetest.xxxxxxxxxx.ap-northeast-1.rds.amazonaws.com
Enter password:
ERROR 1040 (HY000): Too many connections

なんと!

再起動したら圧縮してくれるかなーと期待しましたが再起動もできない。

色々ネットであさりましたが、MySQLコンソールにも入れないので、もうストレージの拡張しかないようです。なのでストレージを「5GB → 6GB」に変更します。「すぐに適用」をチェックして実行。

変更中であります。

変更完了すると。ストレージ不足解消。不要な領域も削除しれくれたようです。
MySQLにも接続できるようになりました。

実際の運用ではストレージ不足は発生させてはいけない問題ですよね。普通はアラート入れてるから不足する前にわかりますけど。「Aurora」にしておけばこのような問題も無縁かもしれないので「Aurora」のこと調べて移行していきたいです。
一番やりたかったMySQLアップグレードは次のブログで書きます。

【備忘録】
不要領域などを確認するには。
ネットで探しました、下記でできるみたいです。覚えとこ。

mysql> SELECT
    ->   table_name "Table",
    ->   engine,table_rows "Table Rows",
    ->   ( data_length + index_length ) / 1024 / 1024 / 1024 "Data (GB)",
    ->   ( data_free )/ 1024 / 1024 / 1024 "Free Space (GB)"
    -> FROM information_schema.TABLES
    -> WHERE table_schema=database()
    -> ORDER BY (data_length+index_length) desc limit 10;
+-------+--------+------------+----------------+-----------------+
| Table | engine | Table Rows | Data (GB)      | Free Space (GB) |
+-------+--------+------------+----------------+-----------------+
| test  | InnoDB |    3193106 | 0.162353515625 |  0.004882812500 |
+-------+--------+------------+----------------+-----------------+
AWSRDSVersionデータベースバージョン

池島 篤則   池島 篤則   2017年6月10日


関連記事

ヘッドレス Chromeを使ってみる

スクリーンショットを機械的に取得する方法を探していたところ、Googleのヘッド…

Laravel NotificationsでChatworkに通知する

Laravel5.3より、Notificationsという仕組みが備わったので、…

Laravelのキューイングを実装する

はじめに Laravel5で、とあるサービスの並行して走る複数のジョブをComm…


← 前の投稿

次の投稿 →