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;