mysql_prepare_privilege_tables_for_5.sql
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. use mysql;
  2. --
  3. -- merging `host` table and `db`
  4. --
  5. UPDATE IGNORE host SET Host='%' WHERE Host='';
  6. DELETE FROM host WHERE Host='';
  7. INSERT IGNORE INTO db (User, Host, Select_priv, Insert_priv, Update_priv,
  8.     Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv,
  9.     Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv)
  10.   SELECT d.User, h.Host,
  11.     (d.Select_priv           = 'Y' || h.Select_priv           = 'Y') + 1,
  12.     (d.Insert_priv           = 'Y' || h.Select_priv           = 'Y') + 1,
  13.     (d.Update_priv           = 'Y' || h.Update_priv           = 'Y') + 1,
  14.     (d.Delete_priv           = 'Y' || h.Delete_priv           = 'Y') + 1,
  15.     (d.Create_priv           = 'Y' || h.Create_priv           = 'Y') + 1,
  16.     (d.Drop_priv             = 'Y' || h.Drop_priv             = 'Y') + 1,
  17.     (d.Grant_priv            = 'Y' || h.Grant_priv            = 'Y') + 1,
  18.     (d.References_priv       = 'Y' || h.References_priv       = 'Y') + 1,
  19.     (d.Index_priv            = 'Y' || h.Index_priv            = 'Y') + 1,
  20.     (d.Alter_priv            = 'Y' || h.Alter_priv            = 'Y') + 1,
  21.     (d.Create_tmp_table_priv = 'Y' || h.Create_tmp_table_priv = 'Y') + 1,
  22.     (d.Lock_tables_priv      = 'Y' || h.Lock_tables_priv      = 'Y') + 1
  23.   FROM db d, host h WHERE d.Host = '';
  24. UPDATE IGNORE db SET Host='%' WHERE Host = '';
  25. DELETE FROM db WHERE Host='';
  26. TRUNCATE TABLE host;
  27. --
  28. -- Adding missing users to `user` table
  29. --
  30. -- note that invalid password causes the user to be skipped during the
  31. -- load of grand tables (at mysqld startup) thus three following inserts
  32. -- do not affect anything
  33. INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM db;
  34. INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM tables_priv;
  35. INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM columns_priv;
  36. SELECT DISTINCT
  37. "There are user accounts with the username 'PUBLIC'. In the SQL-1999
  38. (or later) standard this name is reserved for PUBLIC role and can
  39. not be used as a valid user name. Consider renaming these accounts before
  40. upgrading to MySQL-5.0.
  41. These accounts are:" x
  42. FROM user WHERE user='PUBLIC';
  43. SELECT CONCAT(user,'@',host) FROM user WHERE user='PUBLIC';