我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何添加一个mysql用户并给予权限详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何添加一个mysql用户并给予权限详解

一、新建一个用户

老板:给我新建一个用户joytom,密码设置为123321,并任意远程主机都能访问,五分钟完成,实现不了就给我提桶走人!

小王会心一笑,对创建用户的命令早已滚瓜烂熟了,于是熟练的操作了起来:

1、创建用户命令:

CREATE USER ‘username‘@'host' IDENTIFIED BY ‘password';

如何添加一个mysql用户并给予权限详解

2、创建用户

mysql> create user 'hh'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

查看一下是否创建成功: 

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| caona            | %         |
| hh               | %         |
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

二、为用户授权

创建完用户后……

老板:好,比以前有进步了,那你再给joytom这个用户设置一个权限,只允许查询和修改copytest数据库中的student表。

小王信手拈来,又熟练的操作了一波:

1、给用户授权命令

grant privileges on database.tablename to “username”@'host';

privileges:用户的操作权限,如 SELECT,INSERT,UPDATE 等,如果要授予所的权限则使用 ALL。

如何添加一个mysql用户并给予权限详解

 2、给 hh 用户授可查、改的权限。

mysql> grant select,update on mysql.user to 'hh'@'%';
Query OK, 0 rows affected (0.02 sec)

3、在给 hh用户增加一个查看视图的权限,并刷新

mysql> grant SHOW VIEW on mysql.user to 'hh'@'%';
Query OK, 0 rows affected (0.01 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

三、撤销用户权限

老板:咳咳,很好,现在 joytom 不是有三个权限了么(查询,修改,查询视图),那你把查询视图的权限给去掉,只留查询和修改。

小王心中暗喜,这我都学了,很基础的啊……

1、撤销用户权限命令

revoke privileges ON database.tablename FROM ‘username‘@'host';

撤销(revoke)的和授予(grant)的基本一样,除了 revoke(对应 grant)和 from(对应 to)

2、撤销 joytom 用户的查看视图的权限

mysql> revoke SHOW VIEW on mysql.user from 'hh'@'%';
Query OK, 0 rows affected (0.01 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

再次查看: 

 mysql> show grants for 'hh'@'%';
+----------------------------------------------------+
| Grants for hh@%                                    |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `hh`@`%`                     |
| GRANT SELECT, UPDATE ON `mysql`.`user` TO `hh`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

发现已经没了查看视图的权限。

grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

四、删除一个用户

老板:把 joytom 这个用户删掉让我看看。

小王:好嘞,40 秒完事。

1、删除用户命令

drop user username@host

2、删除用户

先查看一下现在的所有用户:

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| caona            | %         |
| hh               | %         |
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

 删除 hh:

mysql> drop user hh@'%';
Query OK, 0 rows affected (0.01 sec)

再次查看,发现已经没了 joytom 这个用户:

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| caona            | %         |
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

五、修改用户的密码

老板:把 joytom 这个用户密码修改一下。

小王:好嘞老板。

mysql5.*版本使用如下语句:

要想为匿名账户指定密码,可以使用SET PASSWORD或UPDATE。在两种情况中,一定要使用PASSWORD()函数为密码加密

在Windows/Unix中使用PASSWORD的方法:

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'%' = PASSWORD('newpwd');

为匿名账户指定密码的另一种方法是使用UPDATE直接修改用户表。

在Windows和Unix中的过程是相同的。

下面的UPDATE语句同时为两个匿名账户指定密码:

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') WHERE User = '';
mysql> FLUSH PRIVILEGES;

mysql8.*版本使用如下语句:

1、 修改用户登录密码

ALTER USER 'caona'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456';

六、密码过期和锁定用户

老板大喜:非常好非常好,加薪 2k,继续努力,另外给其它同事讲一下密码过期和锁定用户的问题。

感谢老板,我会继续努力,我这就去整理一下课件。

1、关于密码过期

在 MySQL5.6.6 版本起,增加了 password_expired 功能,它允许设置 MySQL 数据库用户的密码过期时间。这个特性已经添加到 mysql.user 数据表,它的默认值是”N”,表示已禁用密码过期功能

强制设置为密码过期:

如何添加一个mysql用户并给予权限详解

强制设置密码过期后,虽然能够登陆,但是一切权限都为空了。

2、关于 mysql5.7 锁定用户

在创建的时候锁定用户:

如何添加一个mysql用户并给予权限详解

已存在的时候锁定用户:

如何添加一个mysql用户并给予权限详解

解锁账号:

如何添加一个mysql用户并给予权限详解

七、权限常用关键字

老板:现在你对 mysql 的权限管理掌握的还算可以了,咳咳,今天下班前给我整理一个权限常用关键字,整理不好就加会班吧。

小王想,幸亏这个我在学的时候就已经整理过啊,看样今天不用加班了!

权限

意义

ALL [PRIVILEGES]

设置除GRANT OPTION之外的所有简单权限

ALTER

允许使用ALTER TABLE

ALTER ROUTINE

更改或取消已存储的子程序

CREATE

允许使用CREATE TABLE

CREATE ROUTINE

创建已存储的子程序

CREATE TEMPORARY TABLES

允许使用CREATE TEMPORARY TABLE

CREATE USER

允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。

CREATE VIEW

允许使用CREATE VIEW

DELETE

允许使用DELETE

DROP

允许使用DROP TABLE

EXECUTE

允许用户运行已存储的子程序

FILE

允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE

INDEX

允许使用CREATE INDEX和DROP INDEX

INSERT

允许使用INSERT

LOCK TABLES

允许对您拥有SELECT权限的表使用LOCK TABLES

PROCESS

允许使用SHOW FULL PROCESSLIST

REFERENCES

未被实施

RELOAD

允许使用FLUSH

REPLICATION CLIENT

允许用户询问从属服务器或主服务器的地址

REPLICATION SLAVE

用于复制型从属服务器(从主服务器中读取二进制日志事件)

SELECT

允许使用SELECT

SHOW DATABASES

SHOW DATABASES显示所有数据库

SHOW VIEW

允许使用SHOW CREATE VIEW

SHUTDOWN

允许使用mysqladmin shutdown

SUPER

允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。

UPDATE

允许使用UPDATE

USAGE

“无权限”的同义词

GRANT OPTION

允许授予权限

总结

到此这篇关于如何添加一个mysql用户并给予权限的文章就介绍到这了,更多相关添加mysql用户并给权限内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何添加一个mysql用户并给予权限详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何添加一个mysql用户并给予权限详解

目录一、新建一个用户1、创建用户命令:二、为用户授权1、给用户授权命令 2、给 hh 用户授可查、改的权限。3、在给 hh用户增加一个查看视图的权限,并刷新三、撤销用户权限1、撤销用户权限命令2、撤销 joytom 用户的查看视图的权限四、
2023-03-01

怎么添加一个mysql用户并给予权限

这篇“怎么添加一个mysql用户并给予权限”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么添加一个mysql用户并给予权限
2023-07-05

mysql如何给用户赋予权限

在MySQL中,给用户赋予权限可以通过以下步骤实现:登录MySQL数据库:mysql -u root -p创建新用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password';其中,use
mysql如何给用户赋予权限
2024-04-17

如何创建一个新用户并授予sudo权限

要创建一个新用户并授予sudo权限,可以按照以下步骤进行:打开终端窗口,并使用root用户登录或者普通用户登录后切换为root用户。使用以下命令创建一个新用户,例如我们创建一个名为newuser的用户:sudo adduser newus
如何创建一个新用户并授予sudo权限
2024-03-12

mysql如何添加用户权限

添加 mysql 用户权限的过程包括:创建用户:create user 'username'@'hostname' identified by 'password';授予权限:grant on .* to 'username'@'host
mysql如何添加用户权限
2024-06-15

ubuntu如何给用户添加管理员权限

在Ubuntu中,可以通过以下步骤给用户添加管理员权限:1. 打开终端,以管理员身份登录。2. 创建一个新用户(如果需要)。可以使用以下命令来创建新用户:```sudo adduser 新用户名```3. 将新用户添加到sudo用户组中。s
2023-08-16

如何给oracle的用户添加所有权限

要给Oracle用户添加所有权限,可以使用以下步骤:以具有sysdba角色的用户身份登录到Oracle数据库。执行以下命令创建一个新的角色,并授予该角色所有系统特权:CREATE ROLE dba_role;GRANT ALL PRIV
如何给oracle的用户添加所有权限
2024-04-09

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL 是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用 MySQL 进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在 MySQL 中创建新用户并授予权限的方法。 创建
2023-08-21

Linux如何实现添加FTP用户并设置权限

这篇文章主要为大家展示了“Linux如何实现添加FTP用户并设置权限”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux如何实现添加FTP用户并设置权限”这篇文章吧。Linux添加FTP用户
2023-06-09

详解Linux如何将一个文件夹的所有内容授权给某一个用户?

【问题分析】 我们可以使用chown命令,ch这里代表change(改变)的意思,own代表英文单词的owner(拥有者),连在一起就是 change owner ,改变某个文件或者文件夹的拥有者。 一般只有root用户有使用这个命令的权限
2022-06-04

如何使用MySQL和Ruby实现一个简单的用户权限管理功能

要实现一个简单的用户权限管理功能,可以按照以下步骤使用MySQL和Ruby:1. 创建一个MySQL数据库和相应的表来存储用户信息和权限信息。可以创建一个名为“users”的表来存储用户信息,包括用户ID、用户名和密码等字段。另外,可以创建
2023-10-20

如何设计一个安全的MySQL表结构来实现用户权限管理功能?

如何设计一个安全的MySQL表结构来实现用户权限管理功能?在现代的软件系统中,用户权限管理是非常重要的一个功能。通过合理的设计和管理,我们可以确保用户的数据安全,并且防止未授权的用户访问敏感信息。在本文中,我们将介绍如何设计一个安全的MyS
如何设计一个安全的MySQL表结构来实现用户权限管理功能?
2023-10-31

linux如何设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限

在Linux中设置SUID位,允许非root用户获得所有者权限以执行二进制文件。步骤包括识别文件、检查所有权、设置SUID位和验证。SUID位带来安全风险,因此仅在必要时使用。撤销SUID位,使用chmodu-s命令。最佳实践包括谨慎使用、定期审查和考虑更安全的授权机制,如sudo或RBAC。
linux如何设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
2024-04-02

编程热搜

目录