ysql中,創(chuàng)建新用戶需要使用CREATE USER語(yǔ)句。下面是CREATE USER語(yǔ)句的語(yǔ)法:
CREATE USER '用戶名'@'主機(jī)名' IDENTIFIED BY '密碼';
其中,用戶名是新用戶的用戶名,主機(jī)名是新用戶所在的主機(jī)名,IDENTIFIED BY后面是新用戶的密碼。主機(jī)名可以是具體的IP地址或者是通配符'%',表示該用戶可以從任何主機(jī)連接到MySQL服務(wù)器。如果沒(méi)有指定主機(jī)名,則默認(rèn)為localhost。
下面是一個(gè)具體的例子,創(chuàng)建一個(gè)用戶名為testuser,密碼為testpass的新用戶,可以從任何主機(jī)連接到MySQL服務(wù)器:
CREATE USER 'testuser'@'%' IDENTIFIED BY 'testpass';
創(chuàng)建用戶后,需要給新用戶授權(quán),才能訪問(wèn)數(shù)據(jù)庫(kù)。授權(quán)可以使用GRANT語(yǔ)句完成,下面是GRANT語(yǔ)句的語(yǔ)法:
GRANT 權(quán)限列表 ON 數(shù)據(jù)庫(kù)名.表名 TO '用戶名'@'主機(jī)名';
其中,權(quán)限列表是新用戶被授予的權(quán)限,可以是ALL PRIVILEGES表示所有權(quán)限,也可以是具體的權(quán)限,如SELECT、INSERT、UPDATE等。數(shù)據(jù)庫(kù)名和表名表示新用戶可以訪問(wèn)的數(shù)據(jù)庫(kù)和表,如果是所有數(shù)據(jù)庫(kù)和表,則可以使用通配符'*'。用戶名和主機(jī)名與創(chuàng)建用戶時(shí)一致。
下面是一個(gè)具體的例子,給testuser用戶授予所有權(quán)限,可以訪問(wèn)所有數(shù)據(jù)庫(kù)和表:
GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'%';
最后,需要使用FLUSH PRIVILEGES語(yǔ)句刷新權(quán)限:
FLUSH PRIVILEGES;
這樣,新用戶就可以使用用戶名和密碼連接到MySQL服務(wù)器,并訪問(wèn)授權(quán)的數(shù)據(jù)庫(kù)和表了。