mysql用户管理操作实例分析

本文实例讲述了mysql用户管理操作。分享给大家供大家参考,具体如下:

本文内容:

  • 用户的介绍
  • 查看用户
  • 创建用户帐户
  • 修改账户
  • 删除帐户
  • 关于匿名用户

首发日期:2018-04-19


用户的介绍:

  • mysql的客户端连接是以用户名来登录服务端。
  • 服务端可以对用户的权限来进行更改,所以每个用户对数据库或对数据表的权限都是不一样的。
  • 一般来说不应该使用root用户登录,因为root用户拥有最高的权限,可以进行删除数据库等“危险”操作。为了安全,应该使用其他用户登录,并且给他分配合适的权限。
  • 并且用户应该是有密码的,使用匿名用户(没有密码)是非常危险的,如果这个匿名用户又是开放远程登录的话那别人只要检测到你的端口是开放的就可以登录你的mysql了。

查看用户:

  • MySQL用户账号和信息存储在名为 mysql 的MySQL数据库中。
  • mysql 数据库有一个名为 user 的表,它包含所有用户账号。 user表有一个名为 user 的列,它存储用户登录名。
  • 使用select * from user\G来获取完整的表数据时
    • 其中后缀是priv是权限的意思,N代表没有。
    • host是代表允许登录的主机,%为允许本地和非本地主机登录
    • user是用户名
    • authentication string是密码的散列值。

创建用户帐户:

  • 方式1:create user 用户名@可登录地址 identified by '密码';

    • 没有可登录地址代表所有地址都能登录
    • 如果只允许本地登录,应该设置成localhost
  • 方式2:grant 权限 on 数据库.数据表 to 用户名@可登录地址 identified by '密码';
  • 方式3:可以使用Insert直接往user表中插入数据,但不建议使用。

修改账户:

  • 重命名用户:rename user 原用户名@可登录地址 to 新用户名@可登录地址; 【原用户名的可登录地址是必须的,而新用户名的可登录地址是可选的,但不填的话就会默认成%即允许远程登录】
  • 更改密码:set password for '用户名'@可登录地址 = password('密码');【在不指定用户名的情况下,为修改当前用户的密码】【可登录地址是可选的,必须是原来的可登录地址】
  • 修改账户权限将在另外一篇博文中讲述。超链接:mysql之用户权限管理

删除帐户:

  • drop user 用户名;

补充:

  • 在mysql5.0之前drop user命令只会删除用户,而不删除权限,在5.0之前需要先用revoke删除权限。

关于匿名用户:

  • 在旧版本默认情况都会有一个匿名用户,这使得你不需要使用用户及密码就能登录mysql
  • 如何创建匿名用户
  • 一般情况下不应该创建匿名用户,即使是因为学习方便而创建也应该设置成本地的。

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》

希望本文所述对大家MySQL数据库计有所帮助。

(0)

相关推荐

  • php实现mysql数据库连接操作及用户管理

    文件列表..文件内容.. dbconn.php userListt.php editUser.php editDo.php detailUser.php deleteUser.php addUser.php addDo.php <dbconn.php> <?php // 创建数据库连接 $con = mysql_connect("localhost",'root','') or die('error:'.mysql_error()); mysql_select_db(

  • MySQL用户权限验证与管理方法详解

    本文实例讲述了MySQL用户权限验证与管理方法.分享给大家供大家参考,具体如下: 一.Mysql权限分两阶段验证 1. 服务器检查是否允许连接:用户名.密码,主机地址. 2. 检查每一个请求是否有权限实施. 二.Mysql权限列表 权限 权限级别 权限说明 create 数据库.表或索引 创建数据库.表或索引权限 drop 数据库或表 删除数据库或表权限 grant option 数据库.表或保存的程序 赋予权限选项 references 数据库或表 外键权限 alter 表 更改表,比如添加字

  • MySQL用户管理

    MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么.MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限.两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法.CREATE和REVOKE语句影响4个表:授权表内容 user 能连接服务器的用户以及他们拥有的任何全局权限 db 数据库级权限 tables_priv 表级权限 c

  • mysql命令行下用户管理方法分享

    mysql安装后好,会有一个名字为mysql的数据库,存放用户的表是user,mysql数据库的用户管理就是围绕这个表展开的,当然还有一些表,例如:tables_priv,procs_priv,clumns_priv,information_schema数据库里面的USER_PRIVILEGES等. 如果有mysql管理工具phpmyadmin的话,我们可以通过图形画界面来对用户进行管理,但是如果没有phpmyadmin这样的管理工具怎么办呢?这个时候,我们可以通过命令行执行sql语句来管理my

  • MySQL用户账户管理和权限管理深入讲解

    前言 MySQL 的权限表在数据库启动的时候就载入内存,当用户通过身份认证后,就在内存中进行相应权限的存取,这样,此用户就可以在数据库中做权限范围内的各种操作了. 下面话不多说了,来一起看看详细的介绍吧 mysql 的权限体系大致分为5个层级: 全局层级 全局权限适用于一个给定服务器中的所有数据库.这些权限存储在mysql.user表中.GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤销全局权限. 数据库层级 数据库权限适用于一个给定数据库中的所有目标.这些权限存储

  • MySQL用户与权限的管理详解

    本文实例讲述了MySQL用户与权限的管理.分享给大家供大家参考,具体如下: 用户连接到MySQL,可以做各种查询,这都是MySQL用户与权限功能在背后维持着操作. 用户与数据库服务器交互数据,分为两个阶段: (1)你有没有权连接上来 (2)你有没有权执行本操作 1.你有没有权连接上来 服务器如何判断用户有没有权连接上来? 依据: 1)你从哪里来?host 2)你是谁?user 3)你的密码是多少?password 用户的这三个信息,存储在mysql库中的user表中. 修改host域,使IP可以

  • Mysql数据库高级用法之视图、事务、索引、自连接、用户管理实例分析

    本文实例讲述了Mysql数据库高级用法之视图.事务.索引.自连接.用户管理.分享给大家供大家参考,具体如下: 视图 视图是对若干张基本表的引用,一张虚表,只查询语句执行结果的字段类型和约束,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变),方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性. 1.----创建视图: create view 视图名称(一般以v_开头) as 查询语句; 2.----查看视图: select * from 视图名称; 3.----删除视图: dro

  • MySQL用户权限管理详解

    用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库.哪些表 2. 可以限制用户对哪些表执行SELECT.CREATE.DELETE.DELETE.ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户 一.用户授权 复制代码 代码如下: mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;  

  • Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理

    利用 MySQL proxies_priv(模拟角色)实现类似用户组管理 角色(Role)可以用来批量管理用户,同一个角色下的用户,拥有相同的权限. MySQL5.7.X以后可以模拟角色(Role)的功能,通过mysql.proxies_priv模拟实现 1.配置proxy mysql> show variables like "%proxy%"; #查看当前proxy是否开启,下图表示没有开启 mysql> set global check_proxy_users =on

  • MySQL中基本的用户和权限管理方法小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户: CREATE USER username IDENTIFIED BY 'password'; 新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下: GRANT ALL PRIVILEGES ON *.

随机推荐