mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-6178 mysql_upgrade breaks databases with long user names
Added a test, the problem itself was fixed in MDEV-6068
This commit is contained in:
@ -131,4 +131,33 @@ let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
# so the following command should never fail.
|
||||
--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4332 Increase username length from 16 characters
|
||||
--echo # MDEV-6068, MDEV-6178 mysql_upgrade breaks databases with long user names
|
||||
--echo #
|
||||
|
||||
connection default;
|
||||
GRANT SELECT ON mysql.* TO very_long_user_name_number_1;
|
||||
GRANT SELECT ON mysql.* TO very_long_user_name_number_2;
|
||||
GRANT ALL ON *.* TO even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost WITH GRANT OPTION;
|
||||
--change_user even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length
|
||||
|
||||
GRANT INSERT ON mysql.user TO very_long_user_name_number_1;
|
||||
GRANT INSERT ON mysql.user TO very_long_user_name_number_2;
|
||||
GRANT UPDATE (User) ON mysql.db TO very_long_user_name_number_1;
|
||||
GRANT UPDATE (User) ON mysql.db TO very_long_user_name_number_2;
|
||||
|
||||
CREATE PROCEDURE test.pr() BEGIN END;
|
||||
|
||||
--change_user root
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR var
|
||||
--exec $MYSQL_UPGRADE --force 2>&1
|
||||
|
||||
SELECT definer FROM mysql.proc WHERE db = 'test' AND name = 'pr';
|
||||
SELECT grantor FROM mysql.tables_priv WHERE db = 'mysql' AND table_name = 'user';
|
||||
DROP USER very_long_user_name_number_1, very_long_user_name_number_2, even_longer_user_name_number_3_to_test_the_grantor_and_definer_field_length@localhost;
|
||||
DROP PROCEDURE test.pr;
|
||||
|
||||
--echo End of tests
|
||||
|
Reference in New Issue
Block a user