在mysql中创建具有多个IP地址的用户

时间:2012-09-20 11:17:08

标签: mysql database database-administration

我正在使用mysql workbench 5.5来访问远程服务器。通过mysql workbench我创建了用户sms,用户只能通过一个主机IP地址访问数据库。但是,现在我想创建一个应该从2个IP地址访问数据库的用户。我插入了这个10.103.1.32/10.103.1.166的IP地址。在此之后,第一个IP地址10.103.1.32无法连接数据库

1 个答案:

答案 0 :(得分:0)

您可以简单地更新旧记录,例如

UPDATE tableName
   SET IP =  CONCAT(IP, '/', 'newIP')
WHERE  userID = valueHere

但它会是一个糟糕的表设计,最好的方法是为某个用户的IP创建一个单独的表,就像这个简单的模式

CREATE TABLE userList
(
   ID int AUTO_INCREMENT,
   User_Name VARCHAR(50,
   -- other columns
   CONSTRAINT use_pk PRIMARY KEY (ID)
);

CREATE TABLE user_IP
(
    RecordID INT AUTO_INCREMENT,
    UserID INT,
    IPADDRESS VARCHAR(20),
    CONSTRAINT ip_pk PRIMARY KEY (RecordID),
    CONSTRAINT ip_uq UNIQUE(UserID, IPADDRESS),
    CONSTRAINT ip_fk FOREIGN KEY (ID) REFERENCES userList(ID)
)