用户管理,选择mysql数据库
mysql>use mysql;
查看有哪些用户
mysql> select host,user,password from user ;
创建用户
mysql> create user '用户名'@'访问地址' IDENTIFIED by '密码';
//identified by 会将纯文本密码加密作为散列值存储
修改用户名
mysql>rename user oldusername to newusername;
删除用户
mysql>drop user newuser;
更改密码
mysql> set password for user =password('密码');
mysql> update mysql.user set password=password('xxxx') where user='otheruser'
查看用户权限
mysql> show grants for zx_root;
赋予权限
mysql> grant select on dbname.tablename to user;
回收权限
mysql> revoke select on dbname.tablename from user; //如果权限不存在会报错
上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔
mysql> grant select,update,delete ,insert on dmc_db.* to zx_root;
其中dbname如果是所有的db,用‘*’代替,tablename亦是如此。
如果想立即看到结果使用
flush privileges ;
命令更新
设置权限时必须给出一下信息
要授予的权限
被授予访问权限的数据库或表
用户名
grant和revoke可以在几个层次上控制访问权限
整个服务器,使用 grant ALL 和revoke ALL
整个数据库,使用on database.*
特点表,使用on database.table
特定的列
特定的存储过程
user表中host列的值的意义
% 匹配所有主机
localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接
127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;
::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1