mysql用户与授权操作简要说明
mysql安装后紧默认创建root用户,这个权限是比较大的,作为日常学习用可以这样做,但在生产机器上不会选择root用户来登录mysql。
一.创建用户
命令:
CREATE USER '用户名'@'可登录主机ip' IDENTIFIED BY '密码';
举几个🌰
-- 仅本机登录
CREATE USER 'myuser'@'localhost' IDENTIFIED BY '123456';
-- 允许某台远程主机登录
CREATE USER 'myuser'@'198.0.0.1' IDENTIFIED BY '123456';
-- 允许所有远程主机登录
CREATE USER 'myuser'@'%' IDENTIFIED BY '123456';
如果不输入密码,那么该用户可直接连接
CREATE USER 'myuser'@'%' I
如果你拼写错了,创了个错误用户,直接删除即可。
DROP USER 'myincorrectuser'@'198.0.0.1';
二.更改密码
这个不用说明了吧,直接举几个🌰
SET PASSWORD FOR 'myuser'@'198.0.0.1' = PASSWORD('654321');
-- 如果设置当前登录用户的密码,可以简化为
SET PASSWORD = PASSWORD('654321');
三.授权
mysql的权限有很多,常见的有CREATE(创建数据库、表和索引)、DROP(删除数据库、表和索引)、ALTER(更改表)、SELECT(查询)、INSERT(插入表记录)、UPDATE(更新表记录)。
可以用如下命令去配置数据库权限
GRANT 权限1,权限2,...,权限N ON 数据库.表 TO 'myuser'@'%';
举几个🌰
-- 将mydatabase数据库的mytab的查增改权限赋予myuser用户
GRANT SELECT,INSERT,UPDATE ON mydatabase.mytab TO 'myuser'@'%';
-- 将mydatabase数据库的mytab的所有权限赋予myuser用户
GRANT ALL ON mydatabase.mytab TO 'myuser'@'%';
-- 将所有表的权限赋予myuser用户
GRANT ALL ON *.* TO 'myuser'@'%';
-- 如果想让用户能够给其它用户授权
GRANT SELECT ON mydatabase.mytab TO 'myuser'@'%' WITH GRANT OPTION;
三.撤销授权
其实就是授权改个单词,语法基本一样,直接举个🌰
REVOKE SELECT ON mydatabase.mytab FROM 'myuser'@'%';
结语:
随笔这么丑,我也没办法,这是我第一次写博客,也是第一次写markdown文档。如果有看客,那将就下吧,😝。