创建用户
以root用户登录数据库,运行以下命令:
>mysql
>CREATE USER 'usernamexxx'@'hostxxx' IDENTIFIED BY 'passwordxxx';
- usernamexxx:用户名
- hostxxx:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost、127.0.0.1。从任意远程主机登陆,可以使用通配符%
- passwordxxx:用户密码
用户授权
>GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx'
- privilegesxxx:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
- 所有的权限为:
- Alter 修改表和索引
- Create: 创建数据库和表
- Delete: 删除表中已有的记录
- Drop: 抛弃(删除)数据库和表
- INDEX: 创建或抛弃索引
- Insert: 向表中插入新行
- REFERENCE: 未用
- Select: 检索表中的记录
- Update: 修改现存表记录
- FILE: 读或写服务器上的文件
- PROCESS: 查看服务器中执行的线程信息或杀死线程
- RELOAD: 重载授权表或清空日志、主机缓存或表缓存。
- SHUTDOWN: 关闭服务器
- ALL: 所有;ALL PRIVILEGES同义词
- USAGE: 特殊的“无权限”权限
- databasenamexxx:数据库名
- tablenamexxx:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
设置与更改用户密码
>SET PASSWORD FOR 'usernamexxx'@'hostxxx' = PASSWORD('newpasswordxxx');
- usernamexxx:用户名
- hostxxx:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost、127.0.0.1。从任意远程主机登陆,可以使用通配符%
- newpasswordxxx:新密码
撤销用户权限
>REVOKE privilegexxx ON databasenamexxx.tablenamexxx FROM 'usernamexxx'@'hostxxx';
- privilegesxxx:用户的操作权限
- databasenamexxx:数据库名
- tablenamexxx:表名
- usernamexxx:用户名
- hostxxx:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost、127.0.0.1。从任意远程主机登陆,可以使用通配符%
删除用户
>DROP USER 'usernamexxx'@'hostxxx';
- usernamexxx:用户名
- hostxxx:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost、127.0.0.1。从任意远程主机登陆,可以使用通配符%