スマートスタイル TECH BLOG

データベース&クラウド技術情報

Amazon RDS for MySQL 8.0の変更不可パラメータについて

はじめに

AWSのDiscussion Forumsを眺めていたら、transaction_isolation変数が、昨年末まで変更出来なかったという記事を見つけました。(現在は変更可能となっています)
そこで変更不可となっているパラメータが他にどんなものがあるか気になったので、今現在(2019/01/28)で変更不可のパラメータを確認してみました。

また最新バージョン(8.0.13)でtransaction_isolation変数が変更できるかも、一応確認してみました。
その際に、少し嵌ってしまったので、そこについても触れてます。

ちなみに「transaction_isolation」変数は元々「tx_isolation」という名前でしたが、8.0.3から同名に変わりました。

変更不可能なパラメータ群

コマンドとしては下記のコマンドで出力してます。

  • DefaultのParameterグループからコピーしたパラメータを利用  
  • IsModifiableがfalseとなっているものを抽出

結果として下記の164のパラメータが変更不可でした。

ざっと見る限り、やはりOSのファイルシステム周りが絡んでくるパラメータの変更は出来ないようです。
それ以外では、特にクリティカルになるような変更不可パラメーターはなさそうですね。
(見慣れないパラメータもありますが。)

transaction_isolation変数の変更

では、パラメータを変更してみます。
まずはパラメータの現在値を確認します。

ここは8.0らしくSET PERSISTで変更しよう。と実行しましたが、、
最下部に記載していますが、現状ではSET PERSISTはサポート外でした。
ただステートメントは一部実行出来てしまった(永続化はされていませんが)ため、注意を促す意味でも記載させていただきます。

権限がないため、エラーになりました。
そこでSYSTE_VARIABLES_ADMIN権限をrootに付与して実行します。
ご存知の方も多いと思いますが、RDSではSUPER権限の付与は出来ません。

こちらは付与出来ました。
念の為、確認

上がデフォルトで付与されている権限で、下が今回付与した権限です。
そこでPERSISTコマンド再実行

transaction_isolationは変更出来ませんでした。そこで別のパラメータでも実施してみました。

こちらは変更出来ました。
ただ一度停止し、再度起動したところ、戻っていました。

なので素直にAWS マネジメントコンソールから変更しましょう。
こちらでは問題なく変更出来ました。

サポート対象外の機能一覧

公式ページリンク


AWS
Return Top