用户管理和权限和设置——mysql

mysql是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。本节内容主要讲述了mysql 用户管理和权限设置的相关命令整理。

用户管理

mysql>use mysql;

登录后复制

查看

mysql>select host,user,password from user ;

登录后复制

创建

mysql>create user zx_root;

登录后复制

修改

mysql>rename user feng to newuser; //mysql 5之后可以使用,之前需要使用update 更新user表

登录后复制

删除

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

登录后复制

更改密码

mysql>set password for zx_root =password('xxxxxx');mysql>update  mysql.user  set  password=password('xxxx')  where user='otheruser'

登录后复制

 
查看用户权限

mysql>show grants for zx_root;

登录后复制

赋予权限

mysql>grant select on dmc_db.*  to zx_root;

登录后复制

回收权限

mysql>revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

登录后复制

上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔

mysql>grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;

登录后复制

如果想立即看到结果使用

flush  privileges ;

登录后复制

命令更新 
 
设置权限时必须给出一下信息

1,要授予的权限

2,被授予访问权限的数据库或表

3,用户名

grant和revoke可以在几个层次上控制访问权限

1,整个服务器,使用 grant ALL  和revoke  ALL

2,整个数据库,使用on  database.*

3,特点表,使用on  database.table

4,特定的列

5,特定的存储过程
 
user表中host列的值的意义

%              匹配所有主机

localhost      localhost不会被解析成IP地址,直接通过UNIXsocket连接

127.0.0.1      会通过TCP/IP协议连接,并且只能在本机访问

::1            ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@'%'grant insert on testdb.* to common_user@'%'grant update on testdb.* to common_user@'%'grant delete on testdb.* to common_user@'%'

登录后复制

或者,用一条 MySQL 命令来替代:

grant select, insert, update, delete on testdb.* to common_user@'%'

登录后复制

9>.grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to developer@'192.168.0.%';grant alter on testdb.* to developer@'192.168.0.%';grant drop on testdb.* to developer@'192.168.0.%';

登录后复制

grant 操作 MySQL 外键权限。

grant references on testdb.* to developer@'192.168.0.%';

登录后复制

grant 操作 MySQL 临时表权限。

grant create temporary tables on testdb.* to developer@'192.168.0.%';

登录后复制

grant 操作 MySQL 索引权限。

grant index on testdb.* to developer@'192.168.0.%';

登录后复制

grant 操作 MySQL 视图、查看视图源代码 权限。

grant create view on testdb.* to developer@'192.168.0.%';grant show view on testdb.* to developer@'192.168.0.%';

登录后复制

grant 操作 MySQL 存储过程、函数 权限。

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure statusgrant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a proceduregrant execute on testdb.* to developer@'192.168.0.%';

登录后复制

10>.grant 普通 DBA 管理某个 MySQL 数据库的权限。

grant all privileges on testdb to dba@'localhost'

登录后复制

其中,关键字 “privileges” 可以省略。

11>.grant 高级 DBA 管理 MySQL 中所有数据库的权限。

grant all on *.* to dba@'localhost'

登录后复制

12>.MySQL grant 权限,分别可以作用在多个层次上。

1. grant 作用在整个 MySQL 服务器上:

grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库

登录后复制

2. grant 作用在单个数据库上:

grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。

登录后复制

3. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to dba@localhost;

登录后复制

4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

登录后复制

5. grant 作用在存储过程、函数上:

grant execute on procedure testdb.pr_add to 'dba'@'localhost'grant execute on function testdb.fn_add to 'dba'@'localhost'

登录后复制

注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。

相关推荐:

MySQL查询时间的相关知识

PHP和MySQL之间的关系

php、apache、mysql三者之间的关系

以上就是用户管理和权限和设置——mysql的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2493132.html

(0)
上一篇 2025年3月5日 01:26:00
下一篇 2025年2月23日 06:43:00

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • golang怎么操作mysql数据

    在现代软件工程中,构建高效可靠的服务器应用程序所需的技术具有很高的要求。其中,使用 go 语言调用关系型数据库是一个不可或缺的基础。在本文中,我们将使用 go 语言中的标准包实现对 mysql 数据进行查询和插入操作。 什么是 MySQL …

    编程技术 2025年3月5日
    400
  • go语言怎么查询mysql数据

    golang是一种新兴的编程语言,与其他语言一样,它可以与多种数据库进行交互。在本文中,我们将讨论如何使用golang中的mysql驱动程序来查询mysql数据库。 为了使用MySQL驱动程序,我们需要通过以下命令将其安装到我们的Go项目中…

    编程技术 2025年3月5日
    400
  • 在Go语言中使用MySQL:完整指南

    随着互联网应用的不断涌现, 数据库成为了不可或缺的组成部分。而mysql作为最流行的关系型数据库之一, 在开发中得到了广泛的应用。而在go语言中, 如何使用mysql进行数据库开发呢?本篇文章将为读者详细介绍在go语言中使用mysql所需的…

    编程技术 2025年3月4日
    200
  • Go语言实战:使用MySQL存储数据

    随着互联网快速发展,大数据量的存储和处理成为了不可避免的趋势。而关系型数据库mysql作为一款开源且易用的数据库系统,经常被用来存储应用数据。本篇文章将介绍如何使用go语言与mysql进行交互,存储和查询数据。 环境搭建首先需要安装Go语言…

    编程技术 2025年3月4日
    200
  • Go语言操作Mysql语言基础知识

    通常情况下,我们程序员和数据库打交道是最多的。要然我们怎么会被称为码农呢。 存用户信息需要数据库,存订单需要数据库,等等等等,现在真是数据驱动着发展。 但是数据库种类有很多,有Mysql,Oracle,SQL Server。 本篇就示例如何…

    2025年3月4日 编程技术
    200
  • Go语言中支持哪些流行的数据库系统?

    标题:Go语言中支持的流行数据库系统及示例 Go语言作为一种高效、简洁的开发语言,其对数据库的支持也是非常广泛的。在Go语言中,开发者可以方便地操作多种流行的数据库系统,包括MySQL、PostgreSQL、MongoDB等。本文将介绍Go…

    2025年3月4日
    200
  • Go语言库大全:让您轻松调用功能丰富的第三方库

    go语言拥有大量的第三方库,为开发人员提供即用解决方案。本文介绍了以下热门库和其实战案例:网络:net/http:用于构建和处理http服务和客户端。数据库:github.com/go-sql-driver/mysql:提供对mysql数据…

    2025年3月4日
    200
  • 字节 Golang 招聘:求职指南和面试准备

    字节跳动 golang 招聘:求职过程:查看职位、编写简历、投递申请。面试准备:复习技术基础、数据结构、算法、系统设计、项目经验。实战案例:设计 api、编写代码片段,展示技能和对 golang 的掌握程度。注意事项:修改案例、注意错误处理…

    2025年3月4日
    200
  • 探索Go语言在Web开发中的无限可能

    go 语言因其高并发性、内存安全性以及基于 web 的框架,已成为 web 开发的热门选择。它支持与流行数据库的原生集成,如 mysql 和 postgresql,并通过 goroutine 和通道,使开发者能够轻松处理并发请求,从而提高应…

    2025年3月4日
    200
  • Go 语言生态系统:顶尖库一览

    go语言生态系统提供了丰富且强大的库,其中包括:gin(用于构建web应用程序的框架)gorm(用于管理数据库交互的orm)zap(用于高性能日志记录)viper(用于管理应用程序配置)prometheus(用于监控和报警)这些库帮助开发人…

    2025年3月4日
    200

发表回复

登录后才能评论