Did you run the statement witht he mysql database as the current
database? If so , you're statement probably got converted to this:
grant all on mysql.* to todd identified by 'my_password' with grant option;
It seems like a logical thing
The grant statement applying to all databases/tables should be:
*.*
Chris
Todd Cary wrote:
> I have created a table, "sfyc" and as root I issued the following:
>
> grant all on * to todd identified by 'my_password' with grant option;
>
> However, "todd" cannot access "sfyc" with
>
> mysql -u todd -p sfyc
>
> And the mysql db contains the following:
>
> user table
> +-----------+------+
> | host | user |
> +-----------+------+
> | % | todd |
> | linux | root |
> | localhost | root |
> +-----------+------+
>
> db table
> +------+---------+------+
> | host | db | user |
> +------+---------+------+
> | % | mysql | todd |
> | % | test | |
> | % | test\_% | |
> +------+---------+------+
>
> tables_priv;
> +------+-------+------+------------+
> | host | db | user | table_name |
> +------+-------+------+------------+
> | % | mysql | todd | localhost |
> +------+-------+------+------------+
>
> If I issue the following command, no changes take place in the above
> tables:
>
> grant all on sfyc to todd identified by 'my_password' with grant option;
>
> Do I need to do an "insert SQL command" to specifically enter the
> information?
>
> Todd
>