0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS x MySQL】RDSの同時接続数 (max_connections) をCLIで変更する方法

Posted at

概要

MySQL DBの同時接続数 (max_connections) を変更しようと思ったのですが、SUPER権限エラーでSQLではできず。本記事ではAWS CLIを利用して同時接続数を変更する方法を紹介します。

エラー内容

SQLコマンドで実施する場合は以下で行います。

SHOW GLOBAL VARIABLES LIKE 'max_connections';
SET GLOBAL max_connections = 2000;

しかし以下のエラーが出ました。

SQLエラー [1227] [42000]: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

RDS作成時で作ったrootユーザーにはSUPER権限がないみたい。
max_connectionsなどのグローバル変数を変更するには、SUPER権限が必要。

DBから見てみるとrdsadminというユーザーならSUPER権限があるが、、、これはAmazon RDSサービスが管理用途で使用する特別なユーザーのため、通常のユーザーのようにログインすることはできません。

解決方法

RDSでmax_connectionsなどのグローバル変数を変更する場合は、AWS CLIを使えば良い。
以下のように実施すれば、無事に最大接続数が変更されます。

aws rds modify-db-parameter-group --db-parameter-group-name your-db-parameter-group-name --parameters "ParameterName=max_connections,ParameterValue=2000,ApplyMethod=immediate"

your-db-parameter-group-nameの部分は実際のデータベースパラメーターグループに書き換えます。RDSのコンソール画面からパラメータグループの名前を確認してください。

上記の場合は2000にセットしています。
変更後10秒くらいたったらSHOW GLOBAL VARIABLES LIKE 'max_connections'の実行結果が2000に変わりました。

image.png

RDSのコンソールからも確認しておきます。

変更前

GREATEST({log(DBInstanceClassMemory/805306368)*45},{log(DBInstanceClassMemory/8187281408)*1000})

image.png

変更後

image.png

2000になっていることが確認できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?