怎么设置mysql的权限,mysql 修改权限

如何用phpmyadmin设置mysql数据库用户的权限

第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。如果创建用户时选择了“创建与用户同名的数据库并授予所有权限”选项,则可以勾选【删除选中的用户】模块中的“删除与用户同名的数据库”,将数据库和用户一起删除。

如何设置Mysql root权限

利用 GRANT 语句进行授权。

具体步骤如下:

1、首先使用一个没有权限的账号链接mysql,成功之后执行:show databases;这时会发现没有权限的用户只能看到一个数据库,mysql和test等数据库是看不到的;

2、如果已经安装了phpmyadmin,打开127.0.0.1/phpmyadmin,在菜单栏找到用户,然后找到没有权限的用户,点击编辑权限;

3、跳转到设置页面,找到全局权限,在全选checkbox打勾,点击右下角的执行,完成后该用户就获得了mysql数据库的所有权限;

4、再次用该账号再次链接mysql,链接成功后执行:show databases;你会发现所有数据库都会显示出来,而且使用该账号可以进行任意编辑;

5、也可以直接在cmd窗口命令行设置,设置权限的命令为:

REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

MySQL数据库设置远程访问权限方法小结

MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机。

1,设置访问单个数据库权限

复制代码

代码如下:

mysqlgrant

all

privileges

on

test.*

to

'root'@'%';

说明:设置用户名为root,密码为空,可访问数据库test

2,设置访问全部数据库权限

复制代码

代码如下:

mysqlgrant

all

privileges

on

*.*

to

'root'@'%';

说明:设置用户名为root,密码为空,可访问所有数据库*

3,设置指定用户名访问权限

复制代码

代码如下:

mysqlgrant

all

privileges

on

*.*

to

'liuhui'@'%';

说明:设置指定用户名为liuhui,密码为空,可访问所有数据库*

4,设置密码访问权限

复制代码

代码如下:

mysqlgrant

all

privileges

on

*.*

to

'liuhui'@'%'

IDENTIFIED

BY

'liuhui';

说明:设置指定用户名为liuhui,密码为liuhui,可访问所有数据库*

5,设置指定可访问主机权限

复制代码

代码如下:

mysqlgrant

all

privileges

on

*.*

to

'liuhui'@'10.2.1.11';

说明:设置指定用户名为liuhui,可访问所有数据库*,只有10.2.1.11这台机器有权限访问

还可以设置指定访问某个数据库下的某个数据表,请继续关注MySQL基础知识系列。

mysql局域网访问权限怎么设置

第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。

或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。

第二:在系统防火墙添加例外端口:3306,并允许例外。错误提示:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

的解决方法: 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysqluse mysql;mysqlupdate user set host = '%' where user = 'root';mysqlselect host, user from user; 2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

3.在window自带的防火墙里的例外添加3306端口

总结:mysql -u root -p

mysqluse mysql;

mysqlselect 'host' from user where user='root';

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

mysqlflush privileges;

mysqlselect 'host' from user where user='root';

第一句是以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

第五句:刷新MySQL的系统权限相关表

第六句:再重新查看user表时,有修改。。

重起mysql服务即可完成。

如何设置mysql用户的权限

用户管理

mysqluse mysql;

查看

mysql select host,user,password from user ;

创建

mysql create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储

修改

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

删除

mysqldrop 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 权限设置

背景

在了解动态权限之前,我们先回顾下 MySQL 的权限列表。

权限列表大体分为服务级别和表级别,列级别以及大而广的角色(也是MySQL 8.0 新增)存储程序等权限。我们看到有一个特殊的 SUPER 权限,可以做好多个操作。比如 SET 变量,在从机重新指定相关主机信息以及清理二进制日志等。那这里可以看到,SUPER 有点太过强大,导致了仅仅想实现子权限变得十分困难,比如用户只能 SET 变量,其他的都不想要。那么 MySQL 8.0 之前没法实现,权限的细分不够明确,容易让非法用户钻空子。

那么 MySQL 8.0 把权限细分为静态权限和动态权限,下面我画了两张详细的区分图,图 1 为静态权限,图 2 为动态权限。

图 1- MySQL 静态权限的权限管理图

图 2-动态权限图

那我们看到其实动态权限就是对 SUPER 权限的细分。 SUPER 权限在未来将会被废弃掉。

我们来看个简单的例子,

比如, 用户 'ytt2@localhost', 有 SUPER 权限。

mysql show grants for ytt2@'localhost';+---------------------------------------------------------------------------------+| Grants for ytt2@localhost                                                       |+---------------------------------------------------------------------------------+| GRANT INSERT, UPDATE, DELETE, CREATE, ALTER, SUPER ON *.* TO ytt2@localhost |+---------------------------------------------------------------------------------+1 row in set (0.00 sec)

但是现在我只想这个用户有 SUPER 的子集,设置变量的权限。那么单独给这个用户赋予两个能设置系统变量的动态权限,完了把 SUPER 给拿掉。

mysql grant session_variables_admin,system_variables_admin on *.* to ytt2@'localhost';Query OK, 0 rows affected (0.03 sec)mysql revoke super on *.* from ytt2@'localhost';Query OK, 0 rows affected, 1 warning (0.02 sec)

我们看到这个 WARNINGS 提示 SUPER 已经废弃了。

mysql show warnings;

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

| Level   | Code | Message                                      |

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

| Warning | 1287 | The SUPER privilege identifier is deprecated |

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

1 row in set (0.00 sec)`

mysql show grants for ytt2@'localhost';

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

| Grants for ytt2@localhost                                                         |

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

| GRANT INSERT, UPDATE, DELETE, CREATE, ALTER ON *.* TO ytt2@localhost          |

| GRANT SESSION_VARIABLES_ADMIN,SYSTEM_VARIABLES_ADMIN ON *.* TO ytt2@localhost |

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

2 rows in set (0.00 sec)

当然图 2 上还有其它的动态权限,这里就不做特别说明了。


标题名称:怎么设置mysql的权限,mysql 修改权限
URL地址:http://scyanting.com/article/hcseeh.html