Search code examples
mysqlinnodbamazon-rdsmyisam

Change storage engine for mysql system tables?


I am in the process of changing the storage engine for my tables in MySql. There are some tables in the mysql schema which use the MyISAM storage engine:

mysql.columns_priv
mysql.db
mysql.event
mysql.func
mysql.ndb_binlog_index
mysql.proc
mysql.procs_priv
mysql.proxies_priv
mysql.tables_priv
mysql.user

Now, I need to change the storage engines because AWS RDS does not support encryption for MyISAM, apart from other reasons.

Should I change the storage engines for the mentioned tables? Will it impact the way MySQL works?

Edit: I mixed up two different things. RDS does support encrypting databases using MyISAM engine. But you can't encrypt existing instances. What I am trying to do is encrypt an existing RDS instance by taking a snapshot of it --> encrypting the snapshot --> restoring the encrypted snapshot. RDS does not support taking snapshots of tables using MyISAM engine. I made a misleading summary that RDS doesn't support encrypting MyISAM.


Solution

  • Should I change the storage engines for the mentioned tables?

    No.

    Will it impact the way MySQL works?

    Yes. It is likely to make the server stop working -- either immediately, or on restart.

    Don't mess with the MySQL system tables.