What is the meaning of different roles available(DB Admin etc.) I have recently installed MySQL and also created the basic user as scott but my doubt is regarding the roles. I don't understand different roles available for the user which I have created.

I want the user to simply create tables, must be able to perform delete and update operations but restrict him from able to change the password and view the complete database available (all the records).
Based on my above requirement which kind of role should be given to scott?
Roles and groups are not supported by MySQL Server. Groups are sets of users. The concept of roles is a group of permissions that can be assigned to a group or a user.

Workbench emulates roles by handling them at client side: Adding a role on workbench. You can access this tab on the Users and privileges tab.


  I want the user to simply create tables, must be able to perform
  delete and update operations but restrict him from able to change the
  password and view the complete database available (all the records).


In order to do what you want, you can add a new role on the previous mentioned tab with no administrative privileges and "all object rights" and "DDL rights" for a particular schema (Add entry...). You can fine-grain it more by not adding INSERT rights or DROP right, as you see it conveniently. If you restrict it to a single schema, it won't be able to see or modify any other table from others, except the administrative schema information_schema.

If you feel like creating the user by using SQL (when connected as an administrator):

CREATE USER &lt;username&gt;@&lt;host&gt; IDENTIFIED BY '&lt;password&gt;';
GRANT ALL ON &lt;schema&gt;.* TO &lt;username&gt;@&lt;host&gt;;


Obviously, change &lt;username&gt;, &lt;host&gt;, &lt;password&gt; and &lt;schema&gt; for the right values.

Please note that a user in MySQL can always change its own password, but not that of others (unless it is an administrator).