mysql创建用户,并授权
1.创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
host分下列3种情况: '%' - 所有情况都能访问 ‘localhost’ - 本机才能访问 ’111.222.33.44‘ - 指定 具体ip 才能访问 |
新用户默认只能看到test数据库和information_schema数据库。
2.修改密码
UPDATE USER SET password=password('新密码') where user='username';
password('密码') ,password方法为密码加密 |
3. 授权
GRANT ALL PRIVILEGES ON databasename.tablename TO 'username'@'host' IDENTIFIED BY 'password';
ALL 可以替换成 select,delete,update,create,drop ,多个权限用逗号分隔 |
例1: 授权给用户‘user1’在本地机器以外的任意机器上用密码‘123456’访问jstudio数据库的所有权限
GRANT ALL PRIVILEGES ON jstudio.* TO 'user'@'%' IDENTIFIED BY '123456';
例2: 授权给用户‘user1’在本地机器以外的任意机器上用默认密码访问jstudio数据库中的table1表的所有权限
GRANT ALL PRIVILEGES ON jstudio.table1 TO 'user'@'%' ;
例3: 授权给用户‘user1’在本地机器上用默认密码访问j所有数据库的所有权限
GRANT ALL PRIVILEGES ON *.*TO 'user'@'localhost' ;
例4: 授权给用户‘test’在除本地以外的任意机器上用密码123456访问test数据库,拥有select和update的权限
GRANT select,update on test.* to 'test'@'%' IDENTIFIED BY '123456';
@"%" 表示对所有非本地主机授权,不包括localhost。(ocalhost地址设为127.0.0.1) |
4.删除用户
DROP user
用户名@
'%'
;
DROP user
用户名@ localhost;
当没有给用户分配数据库的时候需要以下方式进行用户删除:
DELETE FROM user WHERE User='Username' and Host='localhost';
5.立即生效
flush privileges;