0

0

[MySQL]账户及权限管理_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:31:16

|

1025人浏览过

|

来源于php中文网

原创

bitsCN.com

[mysql]账户及权限管理

 

动易网上商城管理系统 2006 Sp6 Build 1120 普及版
动易网上商城管理系统 2006 Sp6 Build 1120 普及版

将产品展示、购物管理、资金管理等功能相结合,并提供了简易的操作、丰富的功能和完善的权限管理,为用户提供了一个低成本、高效率的网上商城建设方案包含PowerEasy CMS普及版,主要功能模块:文章频道、下载频道、图片频道、留言频道、采集管理、商城模块、商城日常操作模块500个订单限制(超出限制后只能查看和删除,不能进行其他处理) 无订单处理权限分配功能(只有超级管理员才能处理订单)

下载

MySQL初始账户管理

 

MySQL的初始账户如下:

[sql] [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'设置口令,只要执行:

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

 

 

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

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

 

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

 

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

[sql] mysql> drop user ''@'localhost';  mysql> drop user ''@'lx16'; 

 

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

[sql] 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),也就是说即便两个账户拥有相同的名字,如果他们将从不同客户端连接,你也要为它们各自创建一个账户。

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

‘%’ - 匹配任何多个字符

‘-’ - 配置一个字符

[sql] 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语句获得自己的权限:

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

 

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

[sql] 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权限给它:

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

 


bitsCN.com

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

0

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

53

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

57

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

15

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

130

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

138

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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