权限控制


1.权限控制

权限控制就是对库、表、记录的权限管理以及账号的创建
PS:mySQL默认的端口为3306

  1. 创建账号(可以insert插入到user表中,但是不建议,推荐使用专门的语法!)
#本地账号,只能在服务器上登录  ,可以将'localhost'写成'127.0.0.1'
create user 'dasheng'@'localhost' identified by 'abc123';
#终端的登录方式为:mysql -udasheng -pabc123  

#远程账号  
create user 'dasheng'@'192.168.31.10' identifided by 'abc123';
#远程登录 mysql -udasheng -pabc123 -h 服务端的ip 

create user 'egon3'@'192.168.31.%' identified by '123'; 
# mysql -uegon3 -p123 -h 服务端的ip  -- 这个允许在某个网段都可以登录,前提是可以相互ping通

create user 'egon3'@'%' identified by '123'; 
# mysql -uegon3 -p123 -h 服务端的ip   -- 这个在所有的ip都能连接,前提是可以相互ping通


创建完的账号并没有权限,需要root用户(只有root有授权和回收权限的能力)

  1. 授权操作 (有四张表分别存放不同级别账号的信息)
    • user *.* 所有库下面的所有表都有权限
    • db db1.* 库级别
    • tables_priv db1.t1 某张表
    • columns_priv id,name 某个字段
      如下
grant all on *.* to 'dasheng'@'localhost';
# all 代表授权所有的权限,对该账户,授予的所用库下面所有表的所有权限
# 这个账号除了不能授予grant权限,其他的都可以

grant select on *.* to 'dasheng'@'localhost';
#select代表只授权select权限
revoke select on *.* from 'dasheng'@'localhost';
#回收权限

#特定库库
grant select on db1.* to 'dasheng'@'localhost';
revoke select on db1.* from 'dasheng'@'localhost';

#特定表
grant select on db1.t2 to 'dasheng'@'localhost';
revoke select on db1.t2 from 'dasheng'@'localhost';

#特定字段
grant select(id,name),update(age) on db1.t2 to 'dasheng'@'localhost';
revoke select(id,name),update(age) on db1.t2 from 'dasheng'@'localhost';


2.navicat工具的介绍

navicat是可视化操作数据库的一个工具,使用非常方便,但是在开发环境下一般不使用这个工具。一般在调试的时候使用。
navicat MySQL版下载http://www.formysql.com/xiazai_mysql.html

如果对navicat for MySQL感兴趣,可以参考https://www.cnblogs.com/neuedu/p/5876874.html

posted @ 2018-04-24 16:17  哈哈大圣  阅读(261)  评论(0编辑  收藏  举报