> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption.md).

# InnoDB Encryption

{% columns %}
{% column %}
{% content-ref url="/pages/NJa6n02dPLk197jYu084" %}
[InnoDB: Encryption Overview](/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption/innodb-encryption-overview.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Introduction to InnoDB's encryption architecture, explaining how data is encrypted/decrypted during disk I/O, the role of the buffer pool (where data is unencrypted), and how to verify encryption stat
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/doXs1nonOAHfjfP7fwY5" %}
[InnoDB: Enabling Encryption](/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption/innodb-enabling-encryption.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Step-by-step guide to enabling encryption for InnoDB, covering the configuration of innodb\_encrypt\_tables for automatic encryption and the use of ENCRYPTED=YES table options for per-table encryption.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/7whWr0CbMhxOb4xNqonR" %}
[InnoDB: Encryption Keys](/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption/innodb-encryption-keys.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
How InnoDB manages encryption keys using 32-bit integer IDs, including the default key ID (innodb\_default\_encryption\_key\_id), assigning specific keys to tables, and the process of key rotation.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/o7so8A7DCrCeAZjynuBZ" %}
[InnoDB: Disabling Encryption](/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption/disabling-innodb-encryption.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Instructions for safely disabling encryption on InnoDB tables, emphasizing the critical need to decrypt all tablespaces and redo logs using background threads or ALTER TABLE.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/r9UKlCifC3kpPtVmciHR" %}
[InnoDB: Background Encryption Threads](/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption/innodb-background-encryption-threads.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Details the operation of background threads (configured via innodb\_encryption\_threads) which handle key rotation, and the encryption/decryption of tablespaces when global settings.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/EUgd1gCn2JTcHuqu3VoO" %}
[InnoDB: Encryption Troubleshooting](/docs/server/security/encryption/data-at-rest-encryption/innodb-encryption/innodb-encryption-troubleshooting.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Solutions for common issues such as Error 1005 (Wrong create options) when configuring encryption, and handling cases where encryption key IDs are set for unencrypted tables.
{% endcolumn %}
{% endcolumns %}
