如何设置mysql的权限为所有的用户权限

作者&投稿:阎宁 (若有异议请与网页底部的电邮联系)
mysql 如何设置权限~

用ROOT账户登陆(有权限对整个数据库操作的账户)点权限设置,然后添加一用户 。在Database for user 那里选择Create database with same name and grant all privileges 如果只是想指定它对其中一数据库有管理权限就不要选择全局权限中的任何一项 ,点执行 完成创建 ,下面就是新建一数据库,在点权限设置 ,在“按数据库指定权限”那里把你刚新建的数据库选择上,点执行就可以了!这样你新建的账户只对该数据库有完全控制的权限,对其他用户也没访问权限!

用户管理
mysql>use mysql;
查看
mysql> select host,user,password from user ;
创建
mysql> create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储
修改
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; //如果权限不存在会报错

这个设置只要进入 Linux 系统的超级用户状态 # 下面,即可以使用 chmod 命令对 MySQL 数据库系统下面的所有文件进行权限设置。具体的就看你想设置成什么权限,你就可以设置成什么权限了。chmod 的基本用法如下:
#chmod 750 myfile <cr>
该命令对 myfile 这个文件设置成:文件所有者(头 3 位)具有:可读(4)、可写(2)、可执行(1)权限;同组用户(中间 3 位)具有:可读(4)、可执行(1)权限;其他用户(后 3 位):不可读(4)、不可写(2)、不可执行(1)权限。
关于 chmod 更多的参数,你可以使用 man chmod 命令进行查看。

背景

在了解动态权限之前,我们先回顾下 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 上还有其它的动态权限,这里就不做特别说明了。




在CentOS 6.3中安装与配置Mysql-5.5.29的方法
   [root@zck mysql]# ls    bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files 有bin等以上文件的话,则说明成功安装mysql。二、配置mysql 9.设置mysql目录权限 复制代码    ...

如何设置使用mysql
命令行出现“mysql>”字符前缀。现在你就可以使用命令对mysql进行操作了。曾经有没有过这样的经历,原来看见别人在命令行里面咔咔的猛敲时,就一通的崇拜,觉得这人很牛,现在你也可以让别一通崇拜了。mysql的所有命令都以";"或者\\g为结束符 2 新建数据库 在新建数据库之后,我们先设置一下字符集 my...

在MySQL中如何设置主键和外键
工具\/原料 电脑 MySQL 方法\/步骤 设置主键:1、通过终端进入到mysql命令行工具。2、通过use关键字进行到目标数据库里。3、如原表已有主键,先把原来的主键删除掉,通过DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY;。4、主键已经没有了。5、通过命令:ADD PRIMARY KEY来添加ALTER...

mysql 服务器如何设定
第1步,执行“应用程序”\/“系统设置”\/“服务器设置”\/“Samba”菜单命令,将弹出“Samba服务器配置”对话框。第2步,在弹出的“Samba服务器配置”对话框中执行“首选项”\/“服务器设置”命令,将弹出“服务器设置”对话框。在该对话框的“基本”选项卡中设置工具组名称,可与Windows操作系统工作组的...

安装Mysql-Front后如何设置登录信息?
服务器:127.0.0.1或者localhost。如果输入的MYSQL数据库的IP、用户名、密码、数据库都正确后,就可以打开服务器了,然后通过“视图”->“SQL编辑器”将MYSQL的查询语句复制到SQL编辑器中,便可以迅速的将MYSQL数据库导入了。MYSQL管理器的“对象浏览器”、“数据浏览器”可方便的建立、修改数据库表的...

mysql如何设置ID自增
设置自增列 MYSQL的自增列一定要是有索引的列,设置种子值要在表的后面设置 --mysql -- 设置自增ID从N开始 CREATE TABLE empautoinc(ID INT PRIMARY KEY AUTO_INCREMENT ) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)insert into empautoinc(id) values(null);Query OK, 1 row ...

mySQL装好需不需要在环境变量里配置,如何配置
我们需要准备的材料分别是:电脑、Mysql。1、首先,查找到mysql安装目录,例如:D:\\xampp\\mysql。2、右键“我的电脑”,点击“高级系统设置”,点击“环境变量”按钮。3、点击“新建”按钮,变量名输入:MYSQL_HOME,变量值输入mysql的路径,例如:D:\\xampp\\mysql,点击“确定”。4、之后,打开cmd,即可...

mysql workbench怎么设置为中文?(仅菜单项汉化)
设置方法:1、下载汉化的main_menu.xml文件;2、打开MySQL Workbench工具的安装目录,找到并打开data文件夹;3、将下载的main_menu.xml文件放入data文件夹中;3、重启软件即可。(推荐教程:mysql视频教程)MySQL Workbench切换设置成中文(仅菜单项汉化)我们在使用mysql的时候,经常是用到这个工具,那么刚刚...

MySql怎么给列设置默认值 mysql修改默认值
命令语法如下 create table 表名(列名称 数据类型 default 默认值);2 如果图形化界面操作,如phpmyadmin的话,一般直接默认值就可以设置选择呢 END 修改数据库表的列默认值 命令行界面 若本身存在默认值,则先删除 alter table表名alter column字段名drop default;然后设置默认值(若本身不存在则可以...

如何通过命令行创建和设置一个MySQL用户
mysql> GRANT ALL ON *.* TO 'myuser'@'localhost';你也可以将用户现有的权限删除。使用以下命令废除"myuser"帐号的现有权限:mysql> REVOKE <privileges> ON <database>. FROM 'myuser'@'localhost';为用户添加资源限制 在MySQL中,你可以为单独的用户设置MySQL的资源使用限制。可用的资源限制如下...

红河县17820901468: 如何设置mysql的权限为所有的用户权限 -
茌狄舍雷: 这个设置只要进入 Linux 系统的超级用户状态 # 下面,即可以使用 chmod 命令对 MySQL 数据库系统下面的所有文件进行权限设置.具体的就看你想设置成什么权限,你就可以设置成什么权限了.chmod 的基本用法如下:#chmod 750 myfile <cr> 该命令对 myfile 这个文件设置成:文件所有者(头 3 位)具有:可读(4)、可写(2)、可执行(1)权限;同组用户(中间 3 位)具有:可读(4)、可执行(1)权限;其他用户(后 3 位):不可读(4)、不可写(2)、不可执行(1)权限.关于 chmod 更多的参数,你可以使用 man chmod 命令进行查看.

红河县17820901468: 如何设置Mysql root权限 -
茌狄舍雷: 展开全部 利用 GRANT 语句进行授权.具体步骤如下:1、首先使用一个没有权限的账号链接mysql,成功之后执行:show databases;这时会发现没有权限的用户只能看到一个数据库,mysql和test等数据库是看不到的;2、如果已经安装了...

红河县17820901468: mysql中怎样设置用户和管理员的权限? -
茌狄舍雷: MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么.MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限...

红河县17820901468: mysql怎么设置用户权限? -
茌狄舍雷: 用户权限设置 1、以root(也可用其它有权限的用户)身份登录 2、下面创建一个test用户,密码为test,并且只能对picture数据库进行操作的命令 mysql>GRANT ALL ON picture.* TO test IDENTIFIED BY "test"; GRANT语句的语法看上去...

红河县17820901468: mysql怎么给数据库里面的表最高权限 -
茌狄舍雷: 语法:1.grant 权限 on 数据库.数据表 to '用户' @ '主机名'; 例:给 xiaogang 分配所有的权限 grant all on *.* to 'xiaogang'@'%'; 这个时候 xiaogang 就拥有了 所有权限了3 如何更精准的控制用户的权限呢?1.grant 权限 on 数据库.数据表 to '用户' ...

红河县17820901468: mysql 权限设置 -
茌狄舍雷: 在mysql命令行中,用grant语句创建用户 grant 权限 on 数据库名.数据库表 to username@'%' identified by 'userpwd'.你的情况 可以 grant all on dbname.table0 to 'username'@'%' identified by 'pwd'; grant all on dbname.table1 to 'username'@'%' ...

红河县17820901468: mysql 怎么设置本机访问权限 -
茌狄舍雷: 方法/步骤1 在未配置MySQL之前,根据MySQL服务端的信息,用navicate客户端进行连接测试,如图一、图二所示2 在MySQL所在机器上登录root用户,如图三e799bee5baa6e78988e69d8331333361306462所示3 切换到mysql库,并查看user...

红河县17820901468: 如何给mysql用户分配权限 -
茌狄舍雷: 查看用户权限 mysql> show grants for zx_root; 赋予权限 mysql> grant select on dmc_db.* to zx_root; 回收权限 mysql> revoke select on dmc_db.* from zx_root; //如果权限不存在会报错 设置权限时必须给出一下信息1,要授予的权限2,被授予访问权限的数据库或表3,用户名 grant和revoke可以在几个层次上控制访问权限1,整个服务器,使用 grant ALL 和revoke ALL2,整个数据库,使用on database.*3,特点表,使用on database.table4,特定的列5,特定的存储过程

红河县17820901468: 请问MYSQL的数据库权限应该怎么设置啊???
茌狄舍雷: 进入数据库里面,在database users 后面有一项点进去是修改其用户权限的.

红河县17820901468: 如何给mysql增加一个用户,要求只对某一数据库拥有一切权限 -
茌狄舍雷: 可以用phpMyAdmin通过输入语句的方法建立用户,或者一般的图形界面的SQL管理程序也可以建立和编辑用户.这里只说使用GRANT语句的方法,当然还有直接修改MySQL表的方法,不过很麻烦,用的人不多~前提是有MySQL root权限例子:...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网