文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql创建用户且只能访问指定数据库表

2023-09-02 16:38

关注

创建用户 testUser, 只允许此用户查看 dbtest库的task表;

    #创建用户testUser, 密码12345,%表示所以机器,可以自行指定ip
    CREATE USER 'testUser'@'%' IDENTIFIED BY '12345';
     
    #给此用户分配task表的select权限
    GRANT SELECT ON `dbtest`.task TO 'testUser'@'%';

     
    #给此用户分配task表的全部权限
    GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `dbtest`.task TO 'testUser'@'%';
     
    #刷新
    FLUSH PRIVILEGES;
     
    #查看当前用户及权限
    SELECT user,host FROM mysql.user;
 

    CREATE DATABASE dbtest;
     
    CREATE USER 'testUser'@'%' IDENTIFIED BY '123456';
     
    GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `dbtest`.* TO 'testUser'@'%';
     
    GRANT GRANT OPTION ON `dbtest`.* TO 'testUser'@'%';
  上面创建了用户testUser,密码是123456,用户接入数据库之后,只能对dbtest这个库具有全部的访问权限,不能访问其他的数据库,有时候对一个Mysql实例需要分开创建若干个库,不同的人员只能访问其对应得数据库,这样就能排上用场了;
 

进入数据库
use mysql;

创建新用户
create user 用户名 identified by '密码';

设置权限
grant all on 数据库名.* to 用户名;

刷新权限
flush privileges;
过程可能报错

如果报错 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
参考MySQL8更改密码设置规则
使用Navict连接时可能报错 1215在这里插入图片描述
更改用户密码即可(%是用于远程连接,本地连接也可用localhost)
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY 'mysql的密码';
刷新权限
flush privileges;
重新连接即可
 

MySQL设置用户只能访问某个表

用管理员登录MySQL,创建一个用户,名为webuser,密码123456,只能访问bbs数据库中的user表,并且对这个表的操作权限为:只能读和更改,其他一律不准做。

以下语句实现:

grant select,update on bbs.user to webuser@'%'  identified by '123456';  --允许通过远程访问
grant select,update on bbs.user to webuser@'localhost'  identified by  '123456';  ---只允许本地访问。

 

创建用户,并授权SELECT查询权限,授权远程访问权限,注意,命令中username/password指用户名密码,请自己指定。若要限制仅指定IP可以使用此用户访问Mysql,将%改为具IP即可,dbname指定限制的数据库,如果是全部则改为*。

GRANT SELECT ON dbname.* TO 'username'@'%' IDENTIFIED BY "password";

刷新mysql权限,使用户创建、授权生效。

FLUSH PRIVILEGES;

privilege代表select,update,insert,delete还有存储过程,函数,执行等等的操作也可以用ALL代表所有。

------------------------------------------------
只能查某个数据库中的某张表(只读)
grant select on allindata_deb.user to lhz@% identified by 123456;
grant select on test.test to test@% identified by 123456;

------------------------------------------------

创建用户

create user 'discuz'@'localhost' identified by 'discuz';

更改用户访问数据库的权限

grant all on discuz.* to 'discuz'@'localhost';

更改非本机使用数据库用户连接数据库的权限的更改

update mysql.user set host='%' where host='localhost';

grant all privileges on *.* to 'root'@'%' with grant option;

flush privileges;

删除权限

revoke privileges on databasename.tablename to 'username'@'host';

查看权限

show grants;

来源地址:https://blog.csdn.net/eagle89/article/details/128561957

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯