Skip to content

Running version 5.6.46 MYSQL_USER is not granted to create a new schema  #604

Closed
@m-revetria

Description

@m-revetria

After upgrading to version 5.6.46, the user MYSQL_USER is not allowed to create a new schema. This has been working since a long time for us, even with previous version 5.6.45.

The statement below throws the error Error Code: 1044. Access denied for user 'myUser'@'%' to database 'test' when running 5.6.46.

CREATE SCHEMA IF NOT EXISTS test;

MySQL container is spec in docker-file like this:

  mysql:
    image: mysql:5.6
    container_name: mysql.docker
    environment:
      MYSQL_ROOT_PASSWORD: "password"
      MYSQL_USER: "myUser"
      MYSQL_PASSWORD: "password"
      MYSQL_DATABASE: "sample_db"
    ports:
      - 3306:3306

The privileges for the user MYSQL_USER seems the same in both MySQL versions:

5.6.46:

show grants for 'myUser';

-- Grants for myUser@%
-- 'GRANT USAGE ON *.* TO \'myUser\'@\'%\' IDENTIFIED BY PASSWORD <secret>'
-- 'GRANT ALL PRIVILEGES ON `sample_db`.* TO \'myUser\'@\'%\''
SELECT * FROM information_schema.user_privileges;

-- GRANTEE, TABLE_CATALOG, PRIVILEGE_TYPE, IS_GRANTABLE
-- '\'myUser\'@\'%\'', 'def', 'USAGE', 'NO'
SELECT * FROM information_schema.schema_privileges;

-- # GRANTEE, TABLE_CATALOG, TABLE_SCHEMA, PRIVILEGE_TYPE, IS_GRANTABLE
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'SELECT', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'INSERT', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'UPDATE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'DELETE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'DROP', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'REFERENCES', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'INDEX', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'ALTER', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE TEMPORARY TABLES', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'LOCK TABLES', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'EXECUTE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE VIEW', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'SHOW VIEW', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE ROUTINE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'ALTER ROUTINE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'EVENT', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'TRIGGER', 'NO'

5.6.45:

show grants for 'myUser';

-- # Grants for myUser@%
-- 'GRANT USAGE ON *.* TO \'myUser\'@\'%\' IDENTIFIED BY PASSWORD <secret>'
-- 'GRANT ALL PRIVILEGES ON `sample_db`.* TO \'myUser\'@\'%\''
SELECT * FROM information_schema.user_privileges;

-- # GRANTEE, TABLE_CATALOG, PRIVILEGE_TYPE, IS_GRANTABLE
-- '\'myUser\'@\'%\'', 'def', 'USAGE', 'NO'
SELECT * FROM information_schema.schema_privileges;

-- # GRANTEE, TABLE_CATALOG, TABLE_SCHEMA, PRIVILEGE_TYPE, IS_GRANTABLE
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'SELECT', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'INSERT', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'UPDATE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'DELETE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'DROP', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'REFERENCES', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'INDEX', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'ALTER', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE TEMPORARY TABLES', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'LOCK TABLES', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'EXECUTE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE VIEW', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'SHOW VIEW', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'CREATE ROUTINE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'ALTER ROUTINE', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'EVENT', 'NO'
-- '\'myUser\'@\'%\'', 'def', 'sample_db', 'TRIGGER', 'NO'

Is this change expected? If so, what should I do to grant MYSQL_USER privileges to create new schemas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions