-1

I created a new user by inserting into the user table in mySql database - but it showed up an error saying there is no such column titled "password". Which column is responsible for password in user table in mySql database?

mysql> INSERT INTO user 
          (host, user, password, 
           select_priv, insert_priv, update_priv) 
           VALUES ('localhost', 'guest', 
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Assafs
  • 3,257
  • 4
  • 26
  • 39
Shivam Kasat
  • 35
  • 1
  • 6

1 Answers1

6

This is the way to create new user in MySQL

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

And this is the way you give the user permission:

It seems like the permission of user "parser" is not correct. You can check the configuration of user with statement.

SELECT * FROM  information_schema.USER_PRIVILEGES; 

If you have granded an user new permission you have to reload the settings. You can do this with this FLUSH PRIVILEGES;

How To Grant Different User Permissions:

  • ALL PRIVILEGES- as we saw previously, this would allow a MySQL user all access to a designated database (or if no database is selected, across the system)
  • CREATE- allows them to create new tables or databases
  • DROP- allows them to them to delete tables or databases
  • DELETE- allows them to delete rows from tables INSERT- allows them to insert rows into tables
  • SELECT- allows them to use the Select command to read through databases
  • UPDATE- allow them to update table rows
  • GRANT OPTION- allows them to grant or remove other users' privileges

To provide a specific user with a permission, you can use this framework:

GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;

I hope this will help you solve your issue. Never forget to flush!!!

Noob
  • 732
  • 8
  • 30