2013-10-09 42 views
5

我有一个相当明确的列表,有50个左右的用户在mysql数据库中。在user表中所有的entires是这个样子:向现有的mysql用户添加新的主机条目

mysql> select user,host,password from user where host = '1.2.3.4'; 
+--------+---------+----------+ 
| user | host | password | 
+--------+---------+----------+ 
| user1 | 1.2.3.4 | *XXX... | 
| user2 | 1.2.3.4 | *YYY... | 
| user3 | 1.2.3.4 | *ZZZ... | 
etc. 

我想要做的就是增加每个用户的第二个条目,使他们能够从10%使用相同的密码,并授予完全也连接从10.%访问,但留下现有的赠款。

有没有一种方法可以在mysql内部完成所有操作(用于自动化目的),还是我必须编写脚本来转储用户&密码散列,然后为10.%主机发出新的授权语句?

+0

退房https://dev.mysql.com/doc/mysql-utilities/1.6/en/mysqluserclone.html –

回答

7
INSERT INTO user (user, host, password) 
SELECT U.user, '10.x' AS NHost, U.password FROM user AS U 
+0

真棒。谢谢! –

+0

我得到'ERROR 1364(HY000):字段'ssl_cipher'没有默认值'当我尝试这个。任何人都可以启发我,上面哪些字符串是占位符的真实价值(如果有的话)。或者如何改变语法以使其起作用? –

+0

那么我从'SHOW CREATE TABLE用户'中看到''这些东西中有一些没有缺省值:'x509_issuer blob NOT NULL,'所以我需要将它们添加到INSERT节中的列表中以及SELECT节中。 –