MySQL的访问控制与用户管理

  MySQL服务器的安全基础是用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。管理访问控制需要创建和管理用户账号。

  使用MySQL Administrator,MySQL Administrator提供了一个图形用户界面,可以用来管理用户及账号权限。

  防止无意的错误,访问控制的目的不仅仅是防止用户的恶意企图。数据梦魇更为常见的是无意识的错误的结果,如打错MySQL语句,在不合适的数据库中操作或其它一些用户错误。通过保证用户不能执行它们不应该执行的语句,访问控制有助于避免这些情况的发生。

  不要使用root,应该严肃对待root登录的使用。尽在绝对需要的时候使用它(或许在你不能登录其它管理账号时使用)。不应该在日常的操作中使用root。

  MySQL用户账号和信息存储在名为mysql的MySQL的数据库中。一般不需要直接访问mysql数据库和表,但有时需要直接访问。需要访问的时机是在需要获得所有用户账号列表时。为此,可以用以下代码:

USE mysql;
SELECT user FROM user;

  mysql数据库有一个名为user的表,它包含所有用户账号。user表中有一个名为user的列,它存储登录用户名。新安装的服务器可能只有一个用户。

  创建用户账号

  为了创建一个新用户账号,使用CREATE USER语句,如下所示:

CREATET USER ben IDENTIFIED BY ‘[email protected]$$w0rd‘;

  CREATE USER创建了一个新用户账号。在创建用户账号时不一定需要口令,不过这个例子用IDENTIFIED BY ‘[email protected]$$w0rd‘ 给出了一个口令。

  指定散列口令:IDENTIFIED BY 指定的诶纯文本,MySQL将在保存到user表之前对其进行加密,为了作为散列值指定口令,使用IDETIFIED BY PASSWORD。

  使用GRANT和INSERT

  使用GRANT也可以用来创建用户账号,但一般来说,CREATET USER是最清楚和最简答的句子。此外,也可以通过直接插入行到user表来增加用户,不过为了安全起见,一般不建议这么做。MySQL用来存储用户账号信息的表(以及表模式等)极为重要,对它们的任何毁坏都可能严重伤害到MySQL服务器。因此,相对于直接处理来说,最好是用标记和函数来处理这些表。

  

原文地址:https://www.cnblogs.com/luoshengjie/p/10173130.html

时间: 2024-10-05 09:05:31

MySQL的访问控制与用户管理的相关文章

mysql 访问控制和用户管理

mysql 访问控制和用户管理 目的:确保数据的安全.用户的访问权限不能多也不能少. root对数据库有完全的控制. 在日常工作中,不要使用root,而是使用有限权限的一系列账户,根据使用者的身份,给予不同的权限. select user(): 查看当前用户: SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 设定了一个查看所有的用户的格式:简单的写法是select user,

学学MySQL(一)——用户管理和权限管理

在实际应用中,我们经常会有这样一种需求--某一个项目的开发团队只能对其正在进行项目的数据库及数据表进行增删改查操作,而无权对其他项目的数据库进行上述操作,这就不能单单使用一个 root 用户来搞定,需要我们为 MySQL 添加普通用户并赋予相应权限. 1.创建/ 移除一个MySQL 普通用户: mysql> createuser 'newuser'@'%' identified by 'thepassword'; 一旦用户被创建,包括加密的密码.权限和资源限制在内的所有账号细节都会被存储在名为

MySql:局域网和权限用户管理

MySql 5.6(XP)/5.7(win7) 添加用户和设置局域访问权限操作.请在 http://sourceforge.net/  下载MySql Control Center(不是安装版本). 1 use mysql; 2 3 select * from user; 4 5 update user set authentication_string=password('0214') where user='geovindu'; 6 7 update user set plugin='mys

十二、MySQL用户管理

MySQL是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定允许的权限.MySQL用户可以分为普通用户和root用户.root用户是超级管理员,拥有所有权限,普通用户只拥有被授予的各种权限. 12.1.权限表 MySQL服务器通过权限来控制用户对数据库的访问,权限表存放在MySQL数据库中,由MySQL_install_db脚本初始化.存储账户权限信息表主要有:user,db,host,table_priv.columns_priv.procs_priv. user表 user表

MySQL用户管理

1.mysql数据库表结构 1)mysql数据库的所有表: 2)user表的结构 3)db表结构 4)权限表(tables_priv和columns_priv表) ①tables_priv表结构: ②columns_priv表结构: 6)procs_priv表结构 2.账户管理 1)使用命令行命令登入mysql 2)新增用户 ①使用grant user语句新增用户 ②使用insert语句添加用户 ③使用GRANT语句新建普通用户 3)删除用户 ①使用drop user语句删除用户 ②使用dele

mysql中的用户管理

由于工作的需要,要新建一个mysql的用户,在查阅了mysql的手册之后,做了如下的一些方法记录. #新增一个mysql用户custom,密码为obscure,只能从本机访问和操作数据库testGRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on test.* TO 'custom'@'localhost' IDENTIFIED by 'obscure';#执行完成后会发现user表中多了一条记录,db表中也多了一条记录,并且权限是写入db表的 GRA

MySQL 用户管理及权限管理

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

mysql用户管理及授权管理

mysql用户和权限管理 mysqld进程在启动的时候,将table,host,db,table_privs,clumn_privs,procs_privs,proxies_privs载入内存. 用户账号: 用户名+主机 用户名:16字符以内. 主机: 主机名: mytest IP地址:172.168.1.20 网络地址:172.168.1.0/255.255.0.0 通配符: 172.168.%.% 172.168.1.2__ %.qq.com,注如果是域名,则mysql需要进行解析,如果取消

MySQL 用户管理与权限管理

-- 操作环境mysql> show variables like 'version';  +---------------+--------+| Variable_name | Value  |+---------------+--------+| version       | 5.6.25 |+---------------+--------+1 row in set (0.04 sec) 背景知识补充:user   表中 host 列的值的意义%            匹配所有主机loc