summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-11-25 18:07:42 +0100
committerunknown <serg@serg.mylan>2003-11-25 18:07:42 +0100
commitab57ede75776c79eb5a6dca9dc6fd6760b7a3edf (patch)
treeaa2152dde1c81601d0831ab7f445859af08557ea /scripts
parent7d6479cc2800b4ae4ed504feecfee69b2f2a56ec (diff)
parentb9eb7a02b8fd0831414138cc0200425595dfab92 (diff)
downloadmariadb-git-ab57ede75776c79eb5a6dca9dc6fd6760b7a3edf.tar.gz
Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
Diffstat (limited to 'scripts')
-rw-r--r--scripts/mysql_prepare_privilege_tables_for_5.sql53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/mysql_prepare_privilege_tables_for_5.sql b/scripts/mysql_prepare_privilege_tables_for_5.sql
new file mode 100644
index 00000000000..a9b6d43aee0
--- /dev/null
+++ b/scripts/mysql_prepare_privilege_tables_for_5.sql
@@ -0,0 +1,53 @@
+
+use mysql;
+
+--
+-- merging `host` table and `db`
+--
+
+UPDATE IGNORE host SET Host='%' WHERE Host='';
+DELETE FROM host WHERE Host='';
+
+INSERT IGNORE INTO db (User, Host, Select_priv, Insert_priv, Update_priv,
+ Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv,
+ Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv)
+ SELECT d.User, h.Host,
+ (d.Select_priv = 'Y' || h.Select_priv = 'Y') + 1,
+ (d.Insert_priv = 'Y' || h.Select_priv = 'Y') + 1,
+ (d.Update_priv = 'Y' || h.Update_priv = 'Y') + 1,
+ (d.Delete_priv = 'Y' || h.Delete_priv = 'Y') + 1,
+ (d.Create_priv = 'Y' || h.Create_priv = 'Y') + 1,
+ (d.Drop_priv = 'Y' || h.Drop_priv = 'Y') + 1,
+ (d.Grant_priv = 'Y' || h.Grant_priv = 'Y') + 1,
+ (d.References_priv = 'Y' || h.References_priv = 'Y') + 1,
+ (d.Index_priv = 'Y' || h.Index_priv = 'Y') + 1,
+ (d.Alter_priv = 'Y' || h.Alter_priv = 'Y') + 1,
+ (d.Create_tmp_table_priv = 'Y' || h.Create_tmp_table_priv = 'Y') + 1,
+ (d.Lock_tables_priv = 'Y' || h.Lock_tables_priv = 'Y') + 1
+ FROM db d, host h WHERE d.Host = '';
+
+UPDATE IGNORE db SET Host='%' WHERE Host = '';
+DELETE FROM db WHERE Host='';
+
+TRUNCATE TABLE host;
+
+--
+-- Adding missing users to `user` table
+--
+-- note that invalid password causes the user to be skipped during the
+-- load of grand tables (at mysqld startup) thus three following inserts
+-- do not affect anything
+
+INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM db;
+INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM tables_priv;
+INSERT IGNORE user (User, Host, Password) SELECT User, Host, "*" FROM columns_priv;
+
+SELECT DISTINCT
+"There are user accounts with the username 'PUBLIC'. In the SQL-1999
+(or later) standard this name is reserved for PUBLIC role and can
+not be used as a valid user name. Consider renaming these accounts before
+upgrading to MySQL-5.0.
+These accounts are:" x
+FROM user WHERE user='PUBLIC';
+SELECT CONCAT(user,'@',host) FROM user WHERE user='PUBLIC';
+