This is documented on the page comparing MariaDB 10.1 and MySQL 5.6 defaults: https://mariadb.com/kb/en/mariadb/system-variable-differences-between-mariad... but you're right, it should probably be mentioned as well on the GRANT page too. On 12/11/2015 03:53, Daniel Black wrote:
https://mariadb.com/kb/en/mariadb/server-system-variables/#sql_mode
sql_mode
Default Value: NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION (>= MariaDB 10.1.7),
password_no_match seems to be odd error however I assume that's the same as mysql in the same sql_mode.
----- On 12 Nov, 2015, at 10:26 AM, Felipe Gasper felipe@felipegasper.com wrote:
Hello,
I’ve found an apparent discrepancy between MySQL 5.6 and MariaDB 10.1. When you GRANT ALL PRIVILEGES on a DB to a user/host that is not in the mysql.users table, MariaDB 10.1 throws ER_PASSWORD_NO_MATCH, whereas MySQL 5.6 creates the user/host entry.
Is this by design? I don’t see the behavior discussed at https://mariadb.com/kb/en/mariadb/grant/.
Thank you for your time! Below I am including the client outputs for both servers.
-Felipe Gasper Houston, TX
-------------------------- Server version: 10.1.8-MariaDB-log MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database fgtemp; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use fgtemp; Database changed MariaDB [fgtemp]> grant all on fgtemp.* to 'root'@'nowhere'; ERROR 1133 (28000): Can't find any matching row in the user table MariaDB [fgtemp]> -------------------------- Server version: 5.6.27-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database fgtemp; Query OK, 1 row affected (0.00 sec)
mysql> use fgtemp; Database changed mysql> grant all on fgtemp.* to 'root'@'nowhere'; Query OK, 0 rows affected (0.05 sec) --------------------------