小组做项目的时候共用一个数据库不能远程连接,找了原因是用户没有授权(我的mysql数据库版本是5.7)
查看用户
-
关于mysql数据库用户的信息都是存放在mysql数据库的user表里面的,我们可以查看一下这个表,只列出对我们有用的字段属性
use mysql;
select host,user from user;
创建用户
-
新增用户:
create user '用户名'@'登录主机' identified by '密码';
-
新增一个用户名为test密码为123456的只可本地登录的用户:
create user 'test'@'localhost' identified by '123456';
- 新增一个用户名为test密码为123456的允许任一台机器登录的用户:
create user 'test'@'%' identified by '123456';
修改用户密码
- 格式:
update mysql.user set authentication_string=password(“新密码”) where User=”用户名” and Host=”登录主机”;
- 修改密码之后需要刷新系统权限表才能生效
flush privileges;
授予权限
对于新建的用户,没有操作任何数据库的权限
给用户授权格式:
grant 权限 on 数据库.* to 用户名@登录主机 identified by ‘密码’;
- 设置本地登录的test用户具有所有数据库的权限
grant all PRIVILEGES on *.* TO 'test'@'localhost' identified by '123456';
- 设置远程登录的test用户具有所有数据库的权限
grant all PRIVILEGES on *.* TO 'test'@'%' identified by '123456';
删除用户
# 删除用户
Delete FROM mysql.user Where User='用户名' and Host='登录主机';
flush privileges;
# 删除账户及权限:
drop user 用户名@localhost;
drop user 用户名@’%’;