1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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';
|