设为首页 收藏本站
查看: 701|回复: 0

[经验分享] MYSQL 用户的操作

[复制链接]

尚未签到

发表于 2018-10-3 07:46:10 | 显示全部楼层 |阅读模式
  MYSQL 用户的授权
  为什么要授权?
  MYSQL 的默认用户是 root ,由于 root 的权限太大,也是为了安全方面考虑,一般只在管理数据库的时候才用,如果在项目中要连接一个MYSQL数据库,则建议新建一个权限较小的用户
  作用:限制指定的用户可以登陆哪台主机、访问哪个数据库和对某个数据库有什么样的权限。
  

一、创建用户    (mysql 不区分大小写)  


  命令格式: create user  "username"@"host">  --username   你将创建的用户名
  --host       指定该用户可以在哪个主机上登陆,如果是本地用户则可以用localhost,如果想让该用户可以任意远程主机登陆,则可以使用通配符 “%”
  --password   该用户的密码,密码可以为空,为空则代表用户不需要密码就可以登陆
  下面写几种例子:

  create user "china"@"192.168.8.128">
  create user "china"@"localhost">
  create user "china"@"%">
  create user "china"@"%">  create user "china"@"%";
  

  二、授权
  

    命令的格式: grant privileges on dataname.tablename to "username"@"host" ;  --privileges      用户的权限,如 select   insert    update 等, 如果要授予所有权限的话就使用 all
  --dataname.tablename   库.表名   指定该用户对哪个数据库的表有操作的权限,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*
  在客户端登陆时: mysql -h"服务端的IP"  -u"指定的用户"  -p"密码"
  grant select,insert on db1.table1 to "china"@"localhost" ;
  grant all on db1.table1 to "chian"@"localhost";
  
注意:用以上名令授权的用户是没有授权的权限,让该用户拥有授权的权限,可以在后面加上  with grant option
  例子:grant all on db1.table1 to "china"@"localhost"  with grant option;
  

  三、设置与更改用户密码
  

命令格式: set password for "username"@"host" = password ("new password");  这是未登陆的用户  set password = password ("new password");
  

  四、撤销用户的权限
  

            命令格式: revoke privileges on db1.table1 from "username"@"host";  例子: revoke select on  *.*  from "china"@"%";
  

  注意:  撤销权限后,用户名会保存下来,但若在撤销权限前把用户给删除了的话,那么用户的权限也会删除
  

  五、删除用户
  

         命令格式: drop user  "username"@"host";  

  附录:
  查看用户的权限:  show grants for "username";
  权限列表:
  ALTER: 修改表和索引。
  CREATE: 创建数据库和表。
  DELETE: 删除表中已有的记录。
  DROP: 抛弃(删除)数据库和表。
  INDEX: 创建或抛弃索引。
  INSERT: 向表中插入新行。
  REFERENCE: 未用。
  SELECT: 检索表中的记录。
  UPDATE: 修改现存表记录。
  FILE: 读或写服务器上的文件。
  PROCESS: 查看服务器中执行的线程信息或杀死线程。
  RELOAD: 重载授权表或清空日志、主机缓存或表缓存。
  SHUTDOWN: 关闭服务器。
  ALL: 所有权限,ALL PRIVILEGES同义词。
  USAGE: 特殊的 "无权限" 权限。
  用 户账户包括 "username" 和 "host" 两部分,后者表示该用户被允许从何地接入。tom@'%' 表示任何地址,默认可以省略。还可以是 "tom@192.168.1.%"、"tom@%.abc.com" 等。数据库格式为 db@table,可以是 "test." 或 ".*",前者表示 test 数据库的所有表,后者表示所有数据库的所有表。
  子句 "WITH GRANT OPTION" 表示该用户可以为其他用户分配权限



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-607861-1-1.html 上篇帖子: MySQL-PHP 下篇帖子: mysql -prompt选项
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表