**创建用户并分配权限**
all
=
select, insert, update, delete
*.* = 所有的数据库.数据库下所有的表
%
= 任何机器都可以连接
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
刷新
flush privileges;
在阿里云中却发现登录不了。
查看后台,在阿里云中默认用了 阿里云机器实例名称(host)来登录于是创建用户是'myuser'@'阿里云实例名称' 。
**MySQL中的用户账号是由 username@hostname 两部分组成。 相同username不同的hostname则是不同的账号。**
通过这点也可以实现 同一个myuser用户有两条 @host 记录,意味着,从不同的地点登录,权限也不一样。
**mysq 用户修改密码**
update user set password=password("新密码") where user="myuser";flush privileges;
**MySQL取消权限和删除用户**
要取消某个用户的权限,可以使用REVOKE语句。该语句的语法格式如下:
Revoke privileges (columns) on what from user ;
其中privileges是要取消的权限,user是要被取消权限的用户名。
示例: 下面的代码实现了取消myuser用户的所有权限的功能。
> revoke all on *.* from myuser@%;
Query OK, 0 rows affected (0.00 sec)
REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。
该语句的语法格式如下: Delete from user where user = "user_name" and host = "host_name" ;
mysql> use mysqlDatabase changedmysql> delete from user where user='mysql' and host='%' ;mysql>flush privileges ;