diff options
Diffstat (limited to 'mysql-test/main/empty_user_table.test')
-rw-r--r-- | mysql-test/main/empty_user_table.test | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mysql-test/main/empty_user_table.test b/mysql-test/main/empty_user_table.test new file mode 100644 index 00000000..8a544fec --- /dev/null +++ b/mysql-test/main/empty_user_table.test @@ -0,0 +1,36 @@ +# +# MDEV-4462 mysqld gets SIGFPE when mysql.user table is empty +# + +source include/not_embedded.inc; + +create table t1 as select * from mysql.global_priv; +truncate table mysql.global_priv; +flush privileges; + +# connecting via unix socket gives ER_ACCESS_DENIED_ERROR +# connecting via tcp/ip gives ER_HOST_NOT_PRIVILEGED +--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT +--error ER_ACCESS_DENIED_ERROR,ER_HOST_NOT_PRIVILEGED +connect (fail,localhost,u1); + +insert mysql.global_priv select * from t1; +drop table t1; +flush privileges; + +# +# same with mysql.user +# + +source include/switch_to_mysql_user.inc; +truncate table mysql.user; + +flush privileges; + +# connecting via unix socket gives ER_ACCESS_DENIED_ERROR +# connecting via tcp/ip gives ER_HOST_NOT_PRIVILEGED +--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT +--error ER_ACCESS_DENIED_ERROR,ER_HOST_NOT_PRIVILEGED +connect (fail,localhost,u1); + +source include/switch_to_mysql_global_priv.inc; |