MySQL 账户及权限管理

php中文网
发布: 2016-06-07 17:31:16
原创
1187人浏览过

MySQL不仅要求你必须值得谁(user_name)能连接,还必须指定从什么地方连接(host_name),也就是说即便两个账户拥有相同的名字,如果

mysql初始账户管理

MySQL的初始账户如下:

[root@lx16 ~]# mysql -u root
mysql> select host,user,password from mysql.user;
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| lx16      | root |          |
| 127.0.0.1 | root |          |
| ::1      | root |          |
| localhost |      |          |
| lx16      |      |          |
| localhost | root |          |
+-----------+------+----------+

MySQL有两类初始用户:

  • root超级账户:拥有全部的权限,可以做任何事。
  • 匿名账户:如何人都可以通过它连接服务器,但它权限很小。
  • 在默认情况下,这些账户都没有口令,因此为了安全起见,我们首先必须得为所有的root账户设置密码。

    设置密码的第一种方法是用SET PASSWORD语句,假如我们现在要给'root'@'localhost'设置口令,只要执行:

    mysql> set password for 'root'@'localhost'=password('*****');

    设置密码的第二种方法是直接update user权限表,这种方法的好处是可以同时给多个账户设置密码,如下面的语句可以一次修改所有root账户的密码:

    mysql> update mysql.user set password=password('***') where user='root';
    mysql> flush privileges;

    如果用update方式修改,必须明确告诉服务器重新加载权限表(flush privileges)

    对于匿名账户,强烈建议将他们删除,删除语句如下:

    mysql> drop user ''@'localhost';
    mysql> drop user ''@'lx16';

    执行完以上操作之后,user权限表里的数据如下:

    mysql> select host,user,password from mysql.user;
    +-----------+------+-------------------------------------------+
    | host      | user | password                                  |
    +-----------+------+-------------------------------------------+
    | lx16      | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 |
    | 127.0.0.1 | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 |
    | ::1      | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 |
    | localhost | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 |
    +-----------+------+-------------------------------------------+

    创建新账户

    MySQL不仅要求你必须值得谁(user_name)能连接,还必须指定从什么地方连接(host_name),也就是说即便两个账户拥有相同的名字,如果他们将从不同客户端连接,你也要为它们各自创建一个账户。

    可以利用以下两个通配符灵活配置主机名的限制:

    网龙b2b仿阿里巴巴电子商务平台
    网龙b2b仿阿里巴巴电子商务平台

    本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,

    网龙b2b仿阿里巴巴电子商务平台 0
    查看详情 网龙b2b仿阿里巴巴电子商务平台
  • ‘%’ - 匹配任何多个字符
  • ‘-’ - 配置一个字符
  • test账户可以从任意IP连接
    create user 'test'@'%' identified by '***';
    test账户只能从本地连接
    create user 'test'@'localhost' identified by '***';
    test账户只能从'192.168.2.%'网段连接
    create user 'test'@'192.168.2.%' identified by '***';
    还可以使用IP掩码
    create user 'test'@'192.168.2.2

    权限管理

    对账户授权需要使用Grant语句,如果账户已存在,Grant语句给它授权,如果账户不存在,Grant语句先创建它,再给它授权。

    可以通过show grants语句获得自己的权限:

    mysql> show grants;
    +----------------------------------------------------------------------------------------------------------------------------------------+
    | Grants for root@localhost                                                                                                              |
    +----------------------------------------------------------------------------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*578EC7851088AC1F2A67B100540344B03BD2BA99' WITH GRANT OPTION |
    +----------------------------------------------------------------------------------------------------------------------------------------+

    也可以通过show grants for 获得其它用户的权限:

    mysql>show grants for ''@'localhost';
    +--------------------------------------+
    | Grants for @localhost                |
    +--------------------------------------+
    | GRANT USAGE ON *.* TO ''@'localhost' |
    +--------------------------------------+

    上面显示的是两种特殊权限,一种是ALL(后面的PRIVILEGES关键字可省略),表示所有操作的权限(但不包括Grant权限,Grant权限由with grant option赋予);另一种是USAGE,,一种特殊的“无权限”的权限。

    在某些少数情况下,我们可能需要更细致的权限控制,MySQL可以做到在列上进行授权,下面这条语句表示把全表的select权限给test,但只把(street,city)这两列的update权限给它:

    grant select, update (street,city) on sampdb.member to 'test'@'localhost';

    推荐阅读:

    生产环境MySQL主主同步主键冲突处理

    MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验

    MySQL 主主同步配置

    CentOS 6.3下MySQL主从复制笔记

    linux

    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号