You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.9 KiB

  1. create user test_user@localhost;
  2. create role test_role;
  3. grant select on *.* to test_role;
  4. grant test_role to test_user@localhost;
  5. show grants;
  6. Grants for test_user@localhost
  7. GRANT test_role TO 'test_user'@'localhost'
  8. GRANT USAGE ON *.* TO 'test_user'@'localhost'
  9. select user, host, default_role from mysql.user where user = 'test_user';
  10. ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
  11. set default role test_role;
  12. select user, host, default_role from mysql.user where user = 'test_user';
  13. ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
  14. select user, host, default_role from mysql.user where user = 'test_user';
  15. user host default_role
  16. test_user localhost test_role
  17. show grants;
  18. Grants for test_user@localhost
  19. GRANT test_role TO 'test_user'@'localhost'
  20. GRANT USAGE ON *.* TO 'test_user'@'localhost'
  21. GRANT SELECT ON *.* TO 'test_role'
  22. select user, host, default_role from mysql.user where user = 'test_user';
  23. user host default_role
  24. test_user localhost test_role
  25. set default role NONE;
  26. select user, host, default_role from mysql.user where user = 'test_user';
  27. user host default_role
  28. test_user localhost
  29. show grants;
  30. Grants for test_user@localhost
  31. GRANT test_role TO 'test_user'@'localhost'
  32. GRANT USAGE ON *.* TO 'test_user'@'localhost'
  33. select user, host, default_role from mysql.user where user = 'test_user';
  34. ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'user'
  35. select user, host, default_role from mysql.user where user = 'test_user';
  36. user host default_role
  37. test_user localhost
  38. set default role test_role for test_user@localhost;
  39. show grants;
  40. Grants for test_user@localhost
  41. GRANT test_role TO 'test_user'@'localhost'
  42. GRANT USAGE ON *.* TO 'test_user'@'localhost'
  43. GRANT SELECT ON *.* TO 'test_role'
  44. select user, host, default_role from mysql.user where user = 'test_user';
  45. user host default_role
  46. test_user localhost test_role
  47. drop role test_role;
  48. drop user test_user@localhost;