Bug #21989 mysqld crashing on column-specific grant access
Submitted: 4 Sep 2006 9:52 Modified: 4 Sep 2006 13:09
Reporter: Nicklas Westerlund (OCA) Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.1.11-beta OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[4 Sep 2006 9:52] Nicklas Westerlund
Description:
In 5.1.11-beta, trying to give access to a specific column to a new user fails  with:

ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
Number of processes running now: 0
060904 12:50:43  mysqld restarted

How to repeat:
On 5.1.11:

\u test
create table t1 (id INT);
GRANT SELECT (id) ON test.t1 TO 'testuser'@'somewhere' IDENTIFIED BY 'somepass';

ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
Number of processes running now: 0
060904 12:50:43  mysqld restarted

on 5.2.0:
mysql> create table t1 (id INT);
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT SELECT (id) ON test.t1 TO 'testuser'@'somewhere' IDENTIFIED BY 'somepass';
Query OK, 0 rows affected (0.00 sec)
[4 Sep 2006 13:09] MySQL Verification Team
Thank you for the bug report. I was unable to repeat with current
source server on Linux and with 5.1.11 on Windows:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.12-beta-debug

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> \u test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> create table t1 (id INT);
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT SELECT (id) ON test.t1 TO 'testuser'@'somewhere' IDENTIFIED BY
    -> 'somepass';
Query OK, 0 rows affected (0.01 sec)

mysql> select version();
+-------------------+
| version()         |
+-------------------+
| 5.1.12-beta-debug | 
+-------------------+
1 row in set (0.00 sec)

--------------------------------------------------------------------------
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.11-beta

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> \u test
Database changed
mysql> create table t1 (id INT);
Query OK, 0 rows affected (0.09 sec)

mysql> GRANT SELECT (id) ON test.t1 TO 'testuser'@'somewhere' IDENTIFIED BY
    -> 'somepass';
Query OK, 0 rows affected (0.03 sec)

mysql> select version();
+-------------+
| version()   |
+-------------+
| 5.1.11-beta |
+-------------+
1 row in set (0.01 sec)

mysql>