Details

    Description

      We should support enforce_storage_engine, like Percona Server 5.5/5.6 has. Description: http://www.percona.com/doc/percona-server/5.6/management/enforce_engine.html

      Use case: To improve management – eg. enforce_storage_engine=InnoDB – this ensures that people don't create MyISAM tables by accident.

      Customer requests: There have been no customer requests for this yet from MariaDB Corporation.

      1. It is however likely used in HPCloud, DBaaS – see: https://github.com/saurabhsurana/trove-installer/blob/f7cf7824fb7536b16da073ba7fdb0e717da26fb1/saltstack/states/trove/taskmanager/mysql.config.template

      2. We have had a migration from MariaDB 10 to Percona Server 5.6 at a bank in Germany performed by FromDual for this very reason – http://www.fromdual.ch/de/node/1074

      Attachments

        Issue Links

          Activity

            Setting the target version to 10.0 because Colin initially specified 10.0.14 as an affected version (it's gone now after moving from bug to task).

            elenst Elena Stepanova added a comment - Setting the target version to 10.0 because Colin initially specified 10.0.14 as an affected version (it's gone now after moving from bug to task).

            Colin, is this important for current customers? I will merge this to 10.x only if there is clear use case for this on customer environment(s).

            R: Jan

            jplindst Jan Lindström (Inactive) added a comment - Colin, is this important for current customers? I will merge this to 10.x only if there is clear use case for this on customer environment(s). R: Jan

            revno: 4565
            committer: Jan Lindström <jplindst@mariadb.org>
            branch nick: 10.0-innodb
            timestamp: Mon 2015-01-19 13:33:46 +0200
            message:
            MDEV-6858: enforce_storage_engine option

            Merge from Percona Server enforced use of a specific storage engine
            authored by Stewart Smith.

            See patch attached.

            jplindst Jan Lindström (Inactive) added a comment - revno: 4565 committer: Jan Lindström <jplindst@mariadb.org> branch nick: 10.0-innodb timestamp: Mon 2015-01-19 13:33:46 +0200 message: MDEV-6858 : enforce_storage_engine option Merge from Percona Server enforced use of a specific storage engine authored by Stewart Smith. See patch attached.

            Patch attached on MDEV.

            jplindst Jan Lindström (Inactive) added a comment - Patch attached on MDEV.
            colin Colin Charles added a comment -

            and assuming we want to improve upon it, some feedback:
            14:14 < shinguz> I really love that feature
            14:14 < shinguz> but percona implemented it too strcit
            14:14 < shinguz> you should be capable to enforce (e.g. with super)
            14:16 < shinguz> bytee: enforcing for "normal" users is good. to get away from
            myisam to [innodb|tokudb|...]
            14:16 < shinguz> but sometimes you have to overrule it. e.g. mysql.user table
            14:17 < shinguz> so I think:
            14:17 < shinguz> enforce_default_storage engine should count for all but you
            can disable it on session level for user with super.
            14:17 < shinguz> so you do not have to restart the database
            14:17 < shinguz> that is the way I think it make most sense...?

            colin Colin Charles added a comment - and assuming we want to improve upon it, some feedback: 14:14 < shinguz> I really love that feature 14:14 < shinguz> but percona implemented it too strcit 14:14 < shinguz> you should be capable to enforce (e.g. with super) 14:16 < shinguz> bytee: enforcing for "normal" users is good. to get away from myisam to [innodb|tokudb|...] 14:16 < shinguz> but sometimes you have to overrule it. e.g. mysql.user table 14:17 < shinguz> so I think: 14:17 < shinguz> enforce_default_storage engine should count for all but you can disable it on session level for user with super. 14:17 < shinguz> so you do not have to restart the database 14:17 < shinguz> that is the way I think it make most sense...?

            Hi Serg,

            Better to review this again as implementation is totally different, I tried to follow default_storage_engine implementation.

            http://lists.askmonty.org/pipermail/commits/2015-March/007538.html

            jplindst Jan Lindström (Inactive) added a comment - Hi Serg, Better to review this again as implementation is totally different, I tried to follow default_storage_engine implementation. http://lists.askmonty.org/pipermail/commits/2015-March/007538.html
            jplindst Jan Lindström (Inactive) added a comment - http://lists.askmonty.org/pipermail/commits/2015-March/007550.html

            commit 8249dcaaebf8cd1944bd4ab7ccaa8b199e76d6f9
            Author: Jan Lindström <jan.lindstrom@mariadb.com>
            Date: Tue Mar 10 08:28:51 2015 +0200

            MDEV-6858: enforce_storage_engine option

            Merge from Percona Server enforced use of a specific storage engine
            authored by Stewart Smith.

            Modified to be session variable and modifiable only by SUPER. Use
            similar implementation as default_storage_engine.

            jplindst Jan Lindström (Inactive) added a comment - commit 8249dcaaebf8cd1944bd4ab7ccaa8b199e76d6f9 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 10 08:28:51 2015 +0200 MDEV-6858 : enforce_storage_engine option Merge from Percona Server enforced use of a specific storage engine authored by Stewart Smith. Modified to be session variable and modifiable only by SUPER. Use similar implementation as default_storage_engine.

            Is this backported to 10.0.x or really only in 10.1.4 as the "Fix version" says?

            otto Otto Kekäläinen added a comment - Is this backported to 10.0.x or really only in 10.1.4 as the "Fix version" says?

            At least MariaDB 10.0.20 complains ```[ERROR] /usr/sbin/mysqld: unknown variable 'enforce_storage_engine=InnoDB'``` so it is not backported to 10.0 series.

            otto Otto Kekäläinen added a comment - At least MariaDB 10.0.20 complains ``` [ERROR] /usr/sbin/mysqld: unknown variable 'enforce_storage_engine=InnoDB'``` so it is not backported to 10.0 series.

            As the Fix version/s field states, it's 10.1 only. I don't know if such a thing can be backported into a long-after-GA version.

            elenst Elena Stepanova added a comment - As the Fix version/s field states, it's 10.1 only. I don't know if such a thing can be backported into a long-after-GA version.

            People

              jplindst Jan Lindström (Inactive)
              colin Colin Charles
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.