授权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前端网发表,如需转载,请注明页面地址。
code前端网
