关于mysql操作的文章多如牛毛,他们大同小异,但是操作一番下来总会遇到这样那样的问题,现在记录下来这些实际验证过的命令。
首先用root用户登录
mysql -u root -p
创建用户
创建用户通用命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- username:用户名
- host:指定的用户可以在哪个主机上登录,如果允许所有的主机可以写成”%”通配符
- password: 登录的时候使用的密码
我要配置远程访问,实际操作的命令
CREATE USER 'ilex'@'%' IDENTIFIED BY 'password';
这里需要注意如果密码设置的有问题可能会报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是密码强度的问题,在安装Mysql的时候设置的,有三个等级,LOW,MEDIUM,STRONG ,要求的密码长度和复杂性会都增加。
配置权限
配置权限通用命令:
GRANT privileges ON databasename.tablename TO 'username'@'host'
- privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,授予所的权限则使用ALL
- databasename:数据库名
- tablename: 表的名字,如果所有的表可以用通配符*, 如果是所有的库和所有的表就是*.*
- username@host:和创建用户的时候含义一样
我要配置对所有数据库的可读权限,实际操作的命令:
GRANT SELECT ON *.* TO 'ilex'@'%'
修改用户密码
update mysql.user set authentication_string=password(“新密码”) where User=”test” and Host=”localhost”;
这次操作不需要使用
撤销用户权限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
本次操作也不需要使用
删除用户
DROP USER 'usernamexxx'@'hostxxx';
本次操作同样不需要使用
最后刷新权限
如果要让这些配置生效,还需要刷新一下系统权限表
flush privileges;
这时候可以找个客户端远程用ilex账号测试一下了。
欢迎转载,请注明出处:闪电树熊 » Mysql5.7创建和删除用户,并配置远程访问权限