1、#创建用户
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
2、修改密码
ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'passwd;
update mysql.user set password=password('passwd') where user='user' and host='%';
##刷新权限
flush privileges;
3、授权,修改权限
GRANT privileges ON databasename.tablename TO 'username'@'host';**
/*
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名
*/
grant all privileges on 想授权的数据库.* to '用户名'@'%';
授予所的权限
#如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.* all授予所的权限,all 可以替换为 select,delete,update,create,drop
grant all privileges on *.* to '用户名'@'%'; ----#8.0
grant all privileges on databaseName.* to 'root'@'%' identified by 'password'; ----#8.0之前
# 授权
# 报开头的错主要是版本问题
# mysql8.0之前
GRANT ALL PRIVILEGES ON *.* TO root @'%' IDENTIFIED BY "mypassword";
# mysql8.0之后
grant all privileges on *.* to 'root'@'%';
GRANT privileges ON databasename.tablename TO 'username'@'host'
# 语句说明
# privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
# databasename:数据库名
#tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
#改权限
update user set host = '%' where user ='data' and host = 'localhost'
删除
DROP USER 'username'@'host';
视图
grant create view on databaseName.* to 'root'@'%';
grant show view on databaseName.* to 'root'@'%';
刷新权限
flush privileges;