`
ytfei
  • 浏览: 89698 次
社区版块
存档分类
最新评论

转:mysql用户与权限

阅读更多
MYSQL用户与权限
http://www.cublog.cn/u3/118426/showart_2344972.html
 
在MYSQL中,你可以根据自己的需要定制不同的用户。比如,定制来自某些IP地址的用户可以访问,并且给这些 用户设置密码。搭配权限的设置,你还可以进一步限定用户的权限范围,比如说仅仅让一个用户只能访问某一个库,并且只能对这个数据库拥有insert和 select权限。
1.添加一个mysql用户
有两种方式来添加mysql用户:
①使用grant语句
②使用mysql授权表
事 实上,MYSQL中所有关于用户的信息都保存在名字为mysql的这个库中对应的表当中。使用GRANT语句添加用户,实际上是把你在语句中设定的内容写 入mysql库中对应的表里面。因此,直接操作mysql库中对应的表也可以添加用户。不过推荐大家使用GRANT语句来创建新用户,因为这样更加方便。
使用grant语句添加用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 
'aaa'@'192.168.0.254'
    -> IDENTIFIED BY '123456' WITH GRANT OPTION;
其中,ALL PRIVILEGES 就是所有权限的意思
      ON 语句指定这些权限应用于哪些库和表。*.*代表的是所有的库的所有表
      TO  确定了这些权限给与哪个用户,这里我们把权限赋予给
'aaa'@'192.168.0.254' 这个用户,aaa是用户名,@符号后面确定了只允许该用户通过192.168.0.254这个ip地址访问。
      IDENTIFIED BY 语句是设定用户密码,在这里用户密码设定为123456
      WITH GRANT OPTION 的意思是允许aaa这个用户把它拥有的权限再赋予其他用户
2.删除一个用户
DROP USER语句用于删除一个或多个MySQL账户。要使用DROP USER,您必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。
例:
mysql> DROP USER aaa@192.168.0.254 ;
3.mysql用户权限管理
刚才,我们使用了GRANT语句来创建用户。实际上,GRANT语句本身是具有双重用途的。当GRANT语句中指定的用户不存在时,将创建该用户并赋予权限;当GRANT语句中指
定的用户存在时,仅仅赋予该用户指定的权限。
在MYSQL中可以赋予用户很多种权限。通过刚才的例子,大家应该知道:想要赋予一
个用户权利,只要在GRANT语句的后面跟上权限就可以了。在下面的表格中列出了MYSQL
中可以为用户设定的权限和它们的含义:


mysql>grant all on bookshop.* to aaa@192.168.0.254 ;//定义了aaa用户只可以对bookshop有操作的权利
如果只允许aaa用户对bookshop数据库只能查看和添加,其他的什么也不能干,命令如下
mysql>grant select,insert on bookshop.* to aaa@192.168.0.254
在赋予权限之后,不要忘记执行一下FLUSH PRIVILEGES命令刷新权限缓存,来让你的设置立即生效。
mysql> FLUSH PRIVILEGES;
如果你想对某个用户收回某些权限的话,就要用revoke语句,revoke语句和grant语句类似,例如收回aaa用户的select和insert权限
mysql> revoke select,insert on bookshop.* from aaa@192.168.0.254 ;
4.修改用户密码
修改用户密码的方法有很多种,首先介绍用grant后面跟identified by 语句后面写入新密码,例如:
mysql> grant usage on bookshop.* to aaa@192.168.0.254 identified by ‘654321’;
//这里我们给了aaa一个usage权限,usage的意思就是没权限,然后这样我们就仅仅更该了aaa的密码,没有覆盖权限。
另一个方法是使用 update user 语句,使用这条语句必须切换到mysql库中,因为这条语句实际上就是更新库中的user表内的数据。例如,同样将aaa密码修改成654321
mysql> use mysql;
Database changed
mysql> update user set password=password('654321') where user="aaa";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

5.忘记root密码怎么办?
如果某些普通用户忘记了自己的密码的话,应对的方法很简单,给他重新设置一个密码就好了。可是如果你不小心忘记了root用户的密码,那真的是非常的糟糕。因为只有root用户自己才有权利更改root用户密码的权利。那么该怎么办呢?
首先你需要停掉mysql服务:
#service mysqld stop
或者KILL掉mysql进程
#killall -term mysql
接下来使用mysqld_safe这个命令加上—skip-grant-tables来重新启动mysql。
特别需要提醒你的是,这样启动mysql将允许任何人以root用户和空密码访问mysql服务器!因此,如果你不能断开网络连接的话,那么接下来的所有操作,你必须尽可能的快的去完成。
# mysqld_safe --skip-grant-tables &
# mysql
mysql> use msyql;
mysql> update user set password=password( ‘new_pass’) where user=”root”;
mysql> exit
# service mysqld restart
分享到:
评论

相关推荐

    mysql用户权限设置

    * 查看用户权限:SHOW GRANTS 语句 七、 MySQL 权限控制 MySQL 的权限控制可以在多个层次上进行,包括: * 整个服务器:使用 GRANT ALL 和 REVOKE ALL 语句 * 整个数据库:使用 ON database.* 语句 * 特定表:...

    设置mysql用户权限

    ### 设置MySQL用户权限 在MySQL数据库管理中,正确地配置用户权限是非常重要的步骤之一,它不仅关乎数据的安全性,还能确保不同角色的用户能够高效、安全地访问所需的数据资源。本文将详细介绍如何设置MySQL用户的...

    跟老男孩学Linux运维:MySQL入门与提高实践.zip

    在学习MySQL之前,读者需要对Linux操作系统有基本了解,包括文件系统、用户权限、命令行操作等。Linux的命令行工具是管理MySQL的主要途径,熟悉这些基本概念和命令将对后续的学习大有裨益。 3. **安装与配置MySQL*...

    《数据库原理及应用》教案22:了解MySQL的权限系统、管理数据库用户权限.pdf

    MySQL权限系统和管理数据库用户权限 MySQL 权限系统是 MySQL 数据库管理系统中的一项重要机制,它控制着用户对数据库的访问权限。MySQL 权限系统的工作原理是通过user、db、tables_priv、columns_priv、procs_priv...

    创建MySQL用户赋予某指定库表的权限[文].pdf

    MySQL 用户权限管理和授权 MySQL 是一个广泛使用的关系型数据库管理系统,用户权限管理是 MySQL 安全性的关键组件之一。创建 MySQL 用户并赋予某指定库表的权限是 MySQL 安全性配置的重要步骤。本文将详细介绍 ...

    MySQL用户权限:数据库安全的金钥匙

    下面是一个简单的示例,演示如何在 MySQL 中设置用户权限: ```sql -- 创建用户 CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; -- 授予全局级权限 GRANT ALL PRIVILEGES ON *.* TO 'username'@'...

    MYSQL权限不够解决办法

    7. **使用MySQL用户管理命令** MySQL还提供了`CREATE USER`、`DROP USER`等命令来更细致地管理用户账户。 #### 四、示例 假设您需要为用户`testuser`授予对数据库`mydb`中的所有表的全部权限,但仅限于从本机...

    MYSQL创建用户分配权限命令

    ### MySQL 创建用户与分配权限命令详解 在数据库管理过程中,创建用户、分配权限以及管理这些权限是极其重要的操作。这不仅涉及到数据的安全性,还关乎到应用系统的稳定性和效率。以下将详细介绍MySQL中如何创建...

    Mysql转oracle工具

    在转换时,需要考虑用户权限和角色的迁移。 4. **表空间和分区**: Oracle支持表空间和分区,这是MySQL不具有的特性。在转换过程中,可能需要将MySQL的数据分布策略转换为Oracle的表空间或分区策略。 5. **索引和...

    深入掌握MySQL用户权限管理:安全策略与实践

    本文详细介绍了MySQL用户权限管理的各个方面,并通过代码示例展示了如何实现这些功能。随着数据库技术的不断发展,用户权限管理将继续是数据库管理员需要掌握的核心技能之一。 本文详细介绍了MySQL中用户权限管理的...

    远程用户连接mysql授权

    在MySQL中,每个用户的权限是根据其来源主机地址来确定的。这意味着即使是同一个用户名,从不同的主机登录时所拥有的权限也可能不同。因此,在设置远程访问权限时,必须明确指定用户可以从哪些主机连接到数据库...

    MySQL数据库:用户的权限管理.pptx

    在MySQL中,权限分为四个层次:列权限、表权限、数据库权限和用户权限。新创建的SQL用户默认只能执行有限的操作,不能直接访问其他用户的表或立即创建自己的表,必须通过管理员进行授权。 列权限允许用户对特定表中...

    MySQL :: MySQL yog工具

    9. **权限管理**:能够方便地进行用户管理,分配和修改用户权限,确保数据安全性。 10. **版本支持**:SQLyog 10.2版本可能支持当时的MySQL 5.x系列,但不保证兼容最新的MySQL版本。对于更现代的MySQL版本,可能...

    以普通权限运行MySQL的操作说明

    - 移除其他不必要的用户权限。 #### 四、设置D:盘的权限 为了进一步保障MySQL服务的安全性,还需要对D:盘进行权限设置。 1. **分配“读取权限”**:右键点击D:盘,选择“属性”->“安全”->“高级”->“编辑”。...

    db转mysql数据库转换

    4. **权限和用户管理**:MySQL有其自身的权限系统,如果原DB数据库中有特定的用户和权限设置,可能需要在MySQL中重新配置。 5. **事务处理**:在大量数据迁移时,为了保证数据一致性,可能需要使用事务来确保所有...

    MySql\Mysql创建用户和表.docx

    GRANT 语句用于授予用户权限,语法如下: GRANT 权限 1,权限 2,...权限 n on 数据库名称.表名称 to 用户名@用户地址identified by '连接口令'; 例如,授予用户 joe 来自 10.163.225.87 的权限,可以对数据库 vtdc ...

    c# 基于MySQL的通用权限框架(完整源码)

    本项目以C#作为主要编程语言,利用MySQL数据库存储和管理用户权限,旨在提供一个完整的、可复用的解决方案。下面我们将详细探讨这个框架涉及的主要知识点。 首先,我们要理解C#作为.NET平台的主要编程语言,它提供...

    MYSQL用户管理和权限管理.pdf

    MySQL用户管理和权限管理是数据库系统中的关键组成部分,它确保了数据的安全性和访问控制。MySQL作为一个多用户数据库系统,允许不同的用户根据其角色和需求访问不同的数据资源。在MySQL中,用户分为两类:超级管理...

    MySQL用户权限设置

    ### MySQL用户权限设置详解 #### 一、创建新用户与基本权限设置 在MySQL中,创建新用户是一项基本但至关重要的任务。以下是如何通过root用户登录后创建新用户及其相关权限设置的过程: **命令示例:** ```sql ...

Global site tag (gtag.js) - Google Analytics