dos查mysql的用户权限_mysql登陆,创建用户,权限控制

一.如何登陆mysql:

1.下载安装mysql数据库:( 我们以5.5版本为例进行学习)

注意:

(1)下载安装时文件路径中不要有中文,不然路径不能解析,安装会失败。

(2)一般的数据库软件中有很多插件,选择性的安装,一般只需要client,server,database

(3)在安装数据库的过程中会创建root用户及可以备选的用户,及密码。

2.登陆mysql:

(1)第一种方式(一般本地连接):通过client登陆,默认使用的是root用户,直接输入密码就可以登陆。如下图所示:

b62a77f2-fcbf-40fd-a7fa-768981e96871.png

5358c551ea3d0f5eb0bd5dbc0407cf08.png

(2)第二种方式(本地或者远程连接):

以windows为例:在dos窗口中cd到mysql安装目录下的bin目录,然后输入一下命令

>mysql -hlocalhost -uroot -p123456        -h后面的参数是请求连接的机器地址(一般本地连接时省略),-u后面接的是用户名,-p后面接的是密码

79e5c67e7415c98dcabec00f2d3a2c9c.png

二.mysql数据库用户创建及权限管理:

1.创建用户并赋权限:

(1)第一种方式:grant命令

mysql>grant all privileges on *.* to username@hostname identified by 'password';

mysql>flush privileges;                  //权限修改之后一定要记得刷新系统权限表才能生效

格式:grant 权限 on 数据库.表 to 用户名@登录主机 identified by "密码";

1db46ae91384b4916d1717f8e8abe25c.png

通过grant命令可以创建用户同时分配权限,也可以给已有的用户赋权限,而且权限可以重复附加(第一次给查的权限,第二次给删的权限)

hostname如果用“%”表示所有的机器都可以连接此数据库。

(2)第二种方式:create user命令:

mysql>create user ‘jwang13’@'localhost' identified by 'jwang13';

mysql>flush privileges;

cd7a6b59df58c2c34d6adf5df928d1a8.png

注:通过这种方式创建用户之后可以通过grant命令进行权限赋值。在创建用户时identified by password为可选项,不设置默认不用密码

(3)第三种方式:直接往user表中插入一条记录

mysql>insert into user (user,host,password,.......) values('jwang12','localhost',password('jwang12'),.......);

mysql>flush privileges;

然后通过grant命令给用户赋权限,这种方式一般很少用。

说明:user表中不同的数据库版本中字段的名字不太一致,比如password字段在高版本的user表中就没有,并且在插入时很多字段是默认不能为空的,所以在创建用户并赋权限的时候多采用第一种方式。

2.查看用户及主机:

mysql库中有一张user表,记录了用户的名称,主机,密码等信息

mysql>select user,host,password from user;

9ec7d2ffafa19a20e3a70e5625428888.png

3.修改用户的密码:

(1)第一种方式:修改用户密码实际上就是根据主机和用户名来更改user表中的密码,如下图所示:

mysql>update mysql.user set password='jwang13' where user='jwang' and host='localhost';

mysql>flush privileges;

ed64b1c04d8f66005dacd1763b87202d.png

(2)第二种方式:在登陆时通过mysqladmin命令修改密码;

cd到mysql的安装bin目录,然后执行:

mysqladmin -u username -p password newpassword

Enter Password:*******      输入旧密码回车即可

mysql -u username -p

Enter Password:*******       输入新密码回车即可进入数据库环境

6788be1850a788251a215656132939f4.png

4.删除用户信息:

(1)删除用户:这种方式只是删除了user表中的记录

mysql>Delete FROM user Where User='jwang' and Host='localhost';

mysql>flush privileges;

(2)删除账户及权限:这种方式清除了有关该用户的所有信息,包括权限信息

mysql>drop user 用户名@'%';

mysql>drop user 用户名@ localhost;

7012d5141bc1fc6194760d2610735376.png

注意:如果只是删除了user表中的记录的话权限信息依然存在,如果重新添加一个用户和原先删除的用户一样的话,那他默认会拥有原先同名用户的权限信息。

5.mysql权限验证过程:

常识1:在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有:

user,db,host,table_priv,columns_priv,proc_priv

bb763bf758b1538e1a9874630b0bebf4.png

常识2:MySQL存取控制包含2个阶段:

阶段1:服务器检查你是否允许连接。

阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施某个具体的请求(如select)。

常识3:user表中有很多字段,大致分为3类:

(1)用户列:host,user,password(有的版本的user表中没有这个字段)

(2)权限控制列:select_priv,insert_priv等以priv结尾的字段

(3)安全控制列:ssl_type,ssl_cipher,x509_issuer,x509_subject(ssl用于加密,x509可以用来标识用户)

(4)资源控制列:max_questions:每小时可以允许有多少次查询

max_updates:每小时可以允许执行多少次更新

max_connections:每小时可以建立多少次链接

max_user_connects:单个用户可以同时具有的连接数。

注意:有的版本中没有password,而是多了几个与密码相关的字段。在使用insert into user方法新建用户时,user表中部分字段不能为空,要设置默认值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值