向现有mysql用户添加新的主机条目

时间:2013-10-09 19:54:02

标签: mysql

我在mysql数据库中有一个包含50个左右用户的相当明确的列表。用户表中的所有内容都是这样的:

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.%主机发出新的授权声明?

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

如果您已经知道用户的凭据,您也可以这样做。

CREATE USER 'some_user_name'@`some_new_host_or_ip` IDENTIFIED BY 'existing_password';

FLUSH PRIVILEGES;

顺便说一下,如上面的帖子所述,我找不到 password 字段,不确定它是否与 MySQL 版本相关。就我而言,就像下面一样。所以只要这件事可以帮助别人

insert into mysql.user (user,host,authentication_string)
    select user,'some_new_host_or_ip',authentication_string 
    from mysql.user where user = 'some_user_name' limit 1

FLUSH PRIVILEGES;