MySQL的权限有哪些,第1张

1 usage

连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。

2 select

必须有select的权限,才可以使用select table

3 create

必须有create的权限,才可以使用create table

4 create routine

必须具有create routine的权限,才可以使用{create |alter|drop} {procedure|function}

5 create temporary tables

必须有create temporary tables的权限,才可以使用create temporary tables

6 create view

必须有create view的权限,才可以使用create view

7 create user

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

8 insert

必须有insert的权限,才可以使用insert into … values…

9 alter

必须有alter的权限,才可以使用alter table

10 alter routine

必须具有alter routine的权限,才可以使用{alter |drop} {procedure|function}

11 update

必须有update的权限,才可以使用update table

12 delete

必须有delete的权限,才可以使用delete from …where…(删除表中的记录)

13 drop

必须有drop的权限,才可以使用drop database db_name; drop table tab_name;

14 show database

通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。

15 show view

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

16 index

必须拥有index权限,才能执行[create |drop] index

17 excute

执行存在的Functions,Procedures

18 lock tables

必须拥有lock tables权限,才可以使用lock tables

19 references

有了REFERENCES权限,用户就可以将其它表的一个字段作为某一个表的外键约束。

20 reload

必须拥有reload权限,才可以执行flush [tables | logs | privileges]

21 replication client

拥有此权限可以查询master server、slave server状态。

22 replication slave

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

23 Shutdown

关闭MySQL

24 grant option

拥有grant option,就可以将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)

25 file

拥有file权限才可以执行 select into outfile和load data infile…操作

26 super

这个权限允许用户终止任何查询;修改全局变量的SET语句;使用CHANGE MASTER,PURGE MASTER LOGS。

27 process

通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。

1,sqlyog客户端,用root用户远程链接mysql时,提示“访问被拒绝”,在网上搜索了一下原因。

  原来是mysql没有授权其远程链接,所以你只能在客户端里面链接。

  怎么解决呢?

  原表数据

  mysql> use mysql

  mysql> select Host,User,Password from user ;

  +---------------+---------+-------------------------------------------+

  | Host | User | Password |

  +---------------+---------+-------------------------------------------+

  | localhost | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | www | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | 127001 | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | ::1 | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  创建一个新用户

  格式:grant 权限 on 数据库名表名 to 用户@登录主机 identified by "用户密码";

  grant select,update,insert,delete on to komiles@12345689 identified by "komiles1234";

  执行完上面语句后,再执行

  mysql> select Host,User,Password from user ;

  +---------------+---------+-------------------------------------------+

  | Host | User | Password |

  +---------------+---------+-------------------------------------------+

  | localhost | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | www | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | 127001 | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | ::1 | root | DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  | 12345689 | komiles | 50663F1ECEAB844897BC272EC1AE7E83F442F649 |

  +---------------+---------+-------------------------------------------+

  此时,就可以用你刚才创建的用户进行远程访问了。

  以下是转载http://wwwcnblogscom/smallstone/archive/2010/04/29/1723838html

  2、实现远程连接(授权法)

  将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。

  update user set host = ’%’ where user = ’root’;

  将权限改为ALL PRIVILEGES

  mysql> use mysql;

  Database changed

  mysql> grant all privileges on to root@'%' identified by "root";

  Query OK, 0 rows affected (000 sec)

  mysql> select host,user,password from user;

  +--------------+------+-------------------------------------------+

  | host | user | password |

  +--------------+------+-------------------------------------------+

  | localhost | root | 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

  | 192168112 | root | 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

  | % | root | 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

  +--------------+------+-------------------------------------------+

  3 rows in set (000 sec)

  这样机器就可以以用户名root密码root远程访问该机器上的MySql

  3、实现远程连接(改表法)

  use mysql;

  update user set host = '%' where user = 'root';

  这样在远端就可以通过root用户访问Mysql

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

代码如下:

GRANT ALL PRIVILEGES ON TO 'root'@'%' IDENTIFIED BY 'jb51' WITH GRANT OPTION;

flush privileges;

2授权用户root使用密码jb51从指定ip为218125060的主机连接到mysql服务器:

代码如下:

GRANT ALL PRIVILEGES ON TO 'root'@'218125060' IDENTIFIED BY 'jb51' WITH GRANT OPTION;

flush privileges;

第1步:打开phpMyAdmin,点击菜单栏的用户按钮,进入用户管理页面。

第2步:用户管理页面列出了现有用户信息,点击添加用户创建新用户。

第3步:输入用户名User name。有两个选项:任意用户、使用文本域,它们之间没有明显区别,推荐选择“使用文本域”,然后在文本框中输入用户名,如sky。

第4步:输入主机Host信息。这里有四个选项:任意主机(%)、本地( localhost)、使用主机表(host)、Use text field(即使用文本域)。

任意主机表示匹配所有主机;本地表示仅限本地主机(默认填写localhost);使用主机指以MySQL数据库中的host表中的数据为准,不需填写任何信息(如果填写则此选项无效);使用文本域表示自行填写主机地址信息。此处选择“本地”选项。

第5步:输入密码和Re-type(确认密码)。有两个选项:无密码、使用文本域。此处选择“使用文本域”,可以手动输入密码,也可以点击生成按钮,自动生成密码并在最下方文本框中显示。

第6步:为用户分配权限。权限管理分为两大块:用户数据库和全局权限。

用户数据库包括两个选项:创建与用户同名的数据库并授予所有权限;给以用户名_开通的数据库授予所有权限。可根据需要自行选择。此处两个都未选,仅创建新用户。

全局权限包括四部分:数据、结构、管理和资源限制。可根据需要自行选择。这里我选择了“全选”。

第7步:权限分配好后,点击右下角的执行按钮,执行创建新用户操作。

2 编辑用户权限

第1步:进入phpMyAdmin用户管理页面,我们可以看到刚才创建的用户sky,如图所示。

第2步:点击用户sky对应的编辑权限按钮,进入编辑页面。

第3步:根据需要修改勾选权限选项后,点击执行按钮保存修改。

3 修改用户信息

第1步:用户的用户名、主机、密码等信息的修改也在“编辑权限”页面。所以首先也要点击用户sky对应的编辑权限按钮,进入编辑页面。

第2步:修改用户信息主要涉及“修改密码”和“修改登录信息/复制用户”两块,分别填写相应内容,并点击对应的执行按钮完成操作即可。

4 删除用户

第1步:进入phpMyAdmin用户管理页面,选中需要删除的用户,以sky为例。

第2步:点击右下角的执行按钮,删除用户sky。如果创建用户时选择了“创建与用户同名的数据库并授予所有权限”选项,则可以勾选删除选中的用户模块中的“删除与用户同名的数据库”,将数据库和用户一起删除。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » MySQL的权限有哪些

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情