一、创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
ps:
username:用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
举例:
# 创建 python 用户,密码为123456,允许在任意机器上登录
CREATE USER 'python'@'%' IDENTIFIED BY '123456';
# 创建 python 用户,密码为123456,仅允许在本地登录
CREATE USER 'python'@'localhost' IDENTIFIED BY '123456';
# 创建 python 用户,密码为123456,仅允许在ip为 192.168.0.222 的机器上登录
CREATE USER 'python'@'192.168.0.222' IDENDIFIED BY '123456';
# 创建 python 用户,无密码登录
CREATE USER 'python'@'%' IDENTIFIED BY '';
# 创建 python 用户,无密码登录
CREATE USER 'python'@'%';
二、授权用户
GRANT privileges ON databasename.tablename TO 'username'@'host'
ps:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名,* 表示允许操作所有数据库
tablename:表名,* 表示允许操作所有表
host:以上权限允许用户在哪台机器上操作
举例:
# 赋予 python 用户在 所有机器上 对 所有数据库和数据表 拥有 所有操作权限
GRANT ALL ON *.* TO 'python'@'%';
# 赋予 python 用户在所有机器上拥有查询、插入 datacenter 数据库下 book 表的权限
GRANT SELECT, INSERT ON datacenter.book TO 'python'@'%';
# 赋予 python 用户在 所有机器上 对 datacenter 下的所有数据表 拥有所有操作权限
GRANT ALL ON datacenter.* TO 'python'@'%';
三、删除用户
DROP USER 'username'@'host';
ps:
username:要删除的用户
host:该用户对应的机器ip
举例:
# 删除 python 用户
DROP USER 'python'@'%';
四、用户密码修改
ALTER USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
ps:
username:要修改密码的用户名
password:新密码
host:该用户对应的机器ip
举例:
# 将 python 用户的登录密码修改为 123456
ALTER USER 'python'@'%' IDENTIFIED WITH mysql_native_password BY '123456';