As a root mysql user, I executed the following:
grant all on mydb.* to john identified by 'john1';
Then from shell, I tried to login via
mysql -h localhost -u john -pjohn1;
But when I do this, I get the error
ERROR 1045 (28000): Access denied for user 'john'@'localhost' (using password: YES)
How do I allow john to login to the mysql terminal? Do I need to use the root mysql user to change something in the mysql.user table?
Thanks
To GRANT ALL privileges to a user , allowing that user full control over a specific database , use the following syntax: mysql> GRANT ALL PRIVILEGES ON database_name. * TO 'username'@'localhost';
To create a user with the same privileges as the root user, use the following command, which grants global privileges to the user Janet connecting via localhost: mysql> GRANT ALL ON *. * TO 'janet'@'localhost' WITH GRANT OPTION; The WITH GRANT OPTION clause allows users to grant their privileges to other users.
Try
GRANT ALL PRIVILEGES on mydb.* to 'john'@'localhost' identified by 'john1';
Or maybe the problem is because you're not specifying the schema. Add "mydb" to the end of your login console command:
mysql -h localhost -u john -pjohn1 mydb
Docs: http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With