mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
54 lines
2.2 KiB
MySQL
54 lines
2.2 KiB
MySQL
|
|
||
|
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';
|
||
|
|