博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL创建用户与授权方法
阅读量:4288 次
发布时间:2019-05-27

本文共 2245 字,大约阅读时间需要 7 分钟。

-- 创建用户 ---单个数据库授权 create user 'testone'@'localhost' identified by '123';grant all privileges on testone.* to testone ;-- 创建用户2create user 'testtwo'@'localhost' identified by '123';grant all privileges on *.*  to testtwo@'localhost';grant all privileges on *.*  to testtwo@'localhost';-- 授予用户 远程访问 (启用远程访问后备份的时候localhost失效)grant all privileges on *.*  to wlliuxue@'%' identified by '123' with grant option;flush privileges;grant all privileges on *.*  to testone@'192.168.1.126' identified by '123' with grant option;flush privileges;grant all privileges on *.* to root@'%' identified by '123' with grant option;  flush privileges;

注意:新版本中 TO 'username'@'host' 中单引号是必须的

一, 创建用户: 

命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器. 

例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
二,授权: 
命令:
GRANT privileges ON databasename.tablename TO 'username'@'host'
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*. 

例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; GRANT ALL ON *.* TO 'pig'@'%';
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
三.设置与更改用户密码 

命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword"); 例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

四.撤销用户权限 

命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON *.* FROM 'pig'@'%'; 

注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限. 

具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看. 

五.删除用户 

命令: DROP USER 'username'@'host'; 

转载地址:http://cragi.baihongyu.com/

你可能感兴趣的文章
XMPP - 实现即时通讯相关库
查看>>
即时通讯协议 MQTT
查看>>
OpenCore框架
查看>>
vitamio简介.java
查看>>
VLC-流媒体开源库
查看>>
android 流媒体开源库
查看>>
android-各种动画加速器,各种插值器
查看>>
ActiveMQ 推送服务
查看>>
ActiveMQ API 详解
查看>>
ActiveMQ 实现负载均衡+高可用部署方案
查看>>
包管理工具(语言或者系统)
查看>>
几行代码看懂android View的事件传递机制(视图逻辑)
查看>>
android Handler的核心原理,核心代码关键词
查看>>
图片处理的几种算法(毛玻璃效果,高斯模糊效果,旧时光效果,lomo效果,暖意效果)
查看>>
Android打包,如何打包时不包含依赖包(gradle各种依赖方式)
查看>>
RTMP协议
查看>>
HTTP协议详解-简要
查看>>
MQTT协议通俗讲解
查看>>
XMPP协议分析-简要版
查看>>
mqtt实现库对比
查看>>