Mysql – difference between root and ALL PRIVILEGES

MySQLmysql-5.7

I want to create a user with restricted grants compared to root.
If I do

GRANT ALL PRIVILEGES ON * . * TO 'non-root'@'localhost';

am I assigning all the same privileges as for the root user? Or are there some privileges in the root user that are not included in the ALL PRIVILEGES privilege?

For example: Is the new user able to create other users?

Otherwise I'll explicitly list the grant I want but this question is more for my learning.

Best Answer

To answer your question:

Is the new user able to create other users?

The answer is NO, the new user is not able to create other users nor grant/revoke privileges to other users.

If you want to create a root similar user you must issue the following statement:

GRANT ALL PRIVILEGES ON *.* TO 'non-root'@'localhost' WITH GRANT OPTION;