一、創建用戶
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:你需要創建的用戶名
host:指定創建的用戶可以在哪里訪問,如果寫了localhost
,那么該用戶只能在當前安裝MySQL
的服務器上訪問,如果寫192.168.0.1
,那么,該用戶可以在192.168.0.1
上發起對MySQL的訪問。寫%
表示該用戶可以在任意主機上對MySQL
發起訪問。
password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器
二、用戶授權
GRANT privileges ON databasename.tablename TO 'username'@'host'
privileges:給定用戶訪問權限,ALL、SELECT、INSERT、UPDATE,太多了,暫時寫這些,夠用。
databasename:數據庫名
tablename:表名
username:用戶名
host:同上面一、創建用戶
的host
ps:privileges
如果想給多權限,比如只給插入和更新,可以這么寫
GRANT INSERT,UPDATE ON test01.* TO 'test01rw'@'%'
另外,如果
privileges
給的不是ALL
,則databasename
后面的tablename
必須寫具體表名,也可以.*
。
額,發現個問題。如果授權的時候,你是這么寫的
GRANT INSERT,UPDATE ON test01 TO 'test01rw'@'%'
很神奇的事情發生了,你在連接MySQL
的客戶端會看不到test01
這個database
,但是,如果你這么寫
GRANT INSERT,UPDATE ON test01.* TO 'test01rw'@'%'
就闊以看到,有知道的老哥留個言,謝謝。