Code前端首页关于Code前端联系我们

授权mysql服务器权限、mysql授权用户权限

terry 2年前 (2023-09-30) 阅读数 43 #Mysql
文章标签 Mysql

本文内容列表:

  • 1.如何通过mysql数据库提取服务器权限
  • 2. MySQL权限是什么?
  • 3.如何在MYSQL数据库中授予远程IP访问权限

如何通过mysql数据库提取服务器权限

1。授权root用户使用密码jb51从任意主机连接mysql服务器:

代码如下:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb51 ' 带授予选项;

刷新权限;

2。授权root用户使用密码jb51从指定IP 218.12.50.60的主机连接mysql服务器:

代码如下:

GRANT ALL PRIVILEGES ON *.* TO 'root'@ ' 218.12.50.60' 标识为 'jb51',带授予选项;

刷新权限;

什么是 MySQL 权限

各种MySQL授权(共27个)

(以下操作均通过root登录授权,p1@localhost登录执行各种命令)

1.使用

连接(登录)的权限,创建用户时,会自动授予使用权限(默认授予)。

mysql将*.*上的使用权限授予'123'标识的'p1'@'localhost';

该权限只能用于登录数据库,不能执行任何操作;并且使用权限不能回收,即REVOKE用户不能删除用户。

2。 select

要使用 select table

mysql grant select on pyt.* on 'p1′@'localhost' 你必须具有 select 权限;

mysql select * from store;

3. create

您必须拥有create

权限才能创建表mysql grant create on pyt.* to 'p1′@'localhost';

4。创建例程

在使用 {create |alter|drop} {procedure|function} 之前,您必须具有创建例程权限}

mysql 授予在 'p1′@'localhost' 上的 pyt.* 上创建例程;

授予例程创建权限时,会自动授予其创建者 EXECUTE、ALTER ROUTINE 权限:

mysql show grants for 'p1' @'localhost';

+———————————— —— ————————————+

p1@localhost

+———— ———————————————————— —— ———–+

|使用 GRANT TO *.* TO 'p1′@'localhost' 识别密码 '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257′ |

|将 `pyt`.* 上的选择、创建、创建例程授予 'p1'@'localhost'|

|授予执行权限,将过程 `pyt`.`pro_shop1` 上的过程更改为 'p1'@'localhost ' |

+———————————————————————— ———— —— —————-+

5。创建临'localhost';

[mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt

mysql 创建临时表 tt1(id int);

6。 create view

为了能够使用create view

mysql,您必须拥有在 pyt.* on 'p1′@'localhost ' 上创建视图的权限;

mysql create view v_shop 如何从商店中选择价格;

7。 create user

要使用CREATE USER,您必须具有mysql数据库的CREATE USER全局权限或具有INSERT权限。

mysql grant create user on *.* to 'p1′@'localhost';

或者:mysql grant put on *.* to p1@localhost;

8. insert

必须有 insert 在使用 insert into ….. 值之前….

9 您必须拥有更改权限。 alter

要使用 alter table

alter table shop,您必须拥有 alter char(15);

10 权限。 alter 例程

在使用 {alter |drop} {procedure|function}

mysqlgrant alterroutine to pyt.* to 'p1′@' localhost ';

mysql drop 您将能够使用 pro_shop 例程 alter权限;

查询正常,0 行受影响(0.00 秒)

mysql 从 'p1′@'localhost' 在 pyt.* 上调用 alter 例程;

[mysql@mydev ~]$ 本地主机 - h - h u p1 -p pyt

mysql drop procedure pro_shop;

错误 1370 (42000):用户“p1′@”localhost”被拒绝对例程“pyt.pro_shop”

11 执行更改例程命令。 update

在使用 update table

mysql update shop set Price=3.5 之前,必须有 update 权限 wherearticle=0001 and Dealer='A';

12。删除

在使用delete from….where….(删除表中的记录)之前,您必须拥有删除权限。

13. drop

必须有drop权限才能使用drop db_name数据库; drop table tab_name;

drop view vi_name;删除_name 中的索引;

14。 show database

仅通过 show database 您可以查看您拥有特定权限的数据库,除非您具有全局 SHOW DATABASES 权限。

用户 p1@localhost 没有 mysql 数据库权限,因此使用此查询身份登录时无法查看 mysql 数据库:

mysql showdatabases;

+——— ——— – +

|数据库 |

+——————–+

| information_schema|

|包|

|测试|

+——————–+

15。 view view

您必须拥有view view权限才能执行view create view。

mysql 授予 pyt.* 上的视图视图地址 p1@localhost;

mysql 视图创建视图 v_shop;

16。索引

要执行[创建|删除]索引

索引

在p1@localhost上的pyt.*上授予索引mysql,您必须拥有索引权限;

mysql在商店上创建索引ix_shop(文章);

mysql 将索引 ix_shop 放在 shop 上;

17。 excute

执行已有的函数、程序

mysql call pro_shop1(0001,@a);

+————+

|文章|

+————+

| 0001 |

| 0001 |

+————+

mysql select @a;

+——+

| @a |

+——+

| 2 |

+——+

18。锁表

在使用锁表

mysql之前,您必须拥有pyt上的锁表权限。 * 在 p1@localhost 上;

mysql 锁定表 a1 读取;

mysql 解锁表;

19. references

启用 REFERENCES 后,用户可以使用不同表的字段作为特定外键约束表的字段。

20。重新加载

执行刷新[表|您必须拥有重新加载日志的权限 |权限]

在pyt.*上重新加载mysql grant到p1@localhost;

错误1221(HY000):GRANT DB和GLOBAL PRIVILEGES的使用不正确

@''p1在*.* localhost上重新加载mysql grant ';

查询正常,0行受影响(0.00秒)

mysql刷新表;

21。复制客户端

有此权限查询主服务器和从服务器的状态。

mysql显示主要状态;

错误1227(42000):访问被拒绝;您需要 SUPER,REPLICATION CLIENT

权限才能执行此操作mysql grant Replication Client on *.* to p1@localhost;

或者:mysql grant super on *.* to p1@localhost;

mysql show status of master;

+——————+ — — ——+————–+——————+

|文件 |位置 | Binlog_Do_DB | Binlog_Ignore_DB |

+——————+——————-+————– +——————+

| mysql-bin.000006 | 2111 | 2111 | |

+——————+——————-+——————+—————— +

mysql显示slave状态;

22.复制从服务器

拥有此权限,您可以查看从服务器并从主服务器读取二进制日志。

mysql显示从属主机;

错误1227(42000):访问被拒绝;此操作需要 REPLICATION SLAVE 权限

mysql show binlog events;

错误 1227 (42000): 访问被拒绝;执行此操作需要 REPLICATION SLAVE 权限

mysql 将 *.* 上的复制从属授予 p1@localhost;

mysql 显示从属主机;

空集(0.00 秒;

显示事件)

我的+——————+——-+——————-+————–+————-+————–+

|日志名称 |位置。 |事件类型 |服务器 ID|结束日志位置|信息 | +—————+——-+————–+————–+————-+——————+

|

mysql-bin.000005 | 4 |格式描述 | 1 | 98 | 98服务器版本:5.0.77-log,

Binlog 版本:4 | |mysql-bin.000005|98|查询|1|197|使用 `mysql` ;创建

表 a1(i int)engine=myisam|

………………………… mydev ~]$ shutdown mysqladmin

重新连接:

[mysql@mydev ~]$ mysql 错误2002(HY000):无法通过套接字'/tmp/mysql.sock'连接到本地MySQL服务器(2)

[mysql@mydev ~]$ cd /u01/mysql/bin

[mysql @ mydev bin]$ ./mysqld_safe

[mysql@mydev bin]$ mysql

24。 grant option

使用grant选项,您可以将您拥有的权限授予其他用户(仅限于您已经拥有的权限)

mysql grant grant option to pyt.* to p1@localhost;

mysql grant选择 pyt .* at p2@localhost;

25。 file

只有具有文件权限,您才可以执行 select ..do outfile 操作并加载数据输入文件...,但不要向 admin 以外的帐户授予文件、进程和超级权限。 ,造成严重的安全隐患。

mysql 将文件授予 *.* 到 p1@localhost;

mysql 将输入数据文件“/home/mysql/pet.txt”加载到 pet 表中;

26。 super

此权限允许用户终止任何查询;编辑全局变量SET命令;使用更改主日志、清除主日志。

mysql grant super on *.* to p1@localhost;

mysql在‘mysql-bin.000006’之前清除主日志;

27. process

拥有此权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,任何用户都可以运行 SHOW PROCESSLIST 命令,但只能查询该用户的进程。

mysql显示进程列表;

+——-+——+————–+——+————+——+——-+——————+

|身份证 |用户|主持人|数据库 |命令 |时间 |状态|信息|

+——-+——+————–+——+————+——+——-+——————+

| 12 | 12 p1 |本地主机 |包|需求| 0 |空|显示进程列表 |

+---+——+———–+——+———+——+——-+— ——————+

另外

管理权限(如super、进程、文件等)不能指定数据库,必须后面跟*.*

mysql grant super on pyt.* to p1@localhost;

ERROR 1221 (HY000):错误使用 DB GRANT 和 GLOBAL PRIVILEGES

mysql grant super on *.* to p1@localhost;

查询正常,0行受影响(0.01s)

如何在 MYSQL 数据库中授予远程 IP 访问权限

你的MYSQL数据库中有一个数据库。名称是mysql。它包含一个名为 user 的表。如果你看看这个表的结构和现有数据,你就会知道该怎么做。比如可以添加数据部分,主机指定的IP,用户可以是%,密码忽略,后面可以设置相应的权限(都可以是Y),这样计算机就可以连接到数据库,无论它使用什么用户和密码,并且具有您指定的权限。

耐心点,相信你一看就明白了。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门