MySQL创建只读用户

两种方法都可以进行创建:

       第一种:客户端操作

-- 首先查看mysql中所有的用户
SELECT user,host FROM mysql.user;

-- 查看指定用户的权限情况
SELECT * FROM mysql.user WHERE user='root'

-- 查看当前用户(自己)权限
show grants;

-- 查看其他 MySQL 用户权限
show grants for dba@localhost;

-- 修改指定用户密码
update user set password=password('new_password') where user='hail' and host='localhost';



-- 1.创建一个用户
CREATE USER 'name'@'%' IDENTIFIED BY 'password';

-- 解释:
        name:是创建的名字   %:表示将其与任何主机关联   password:密码自行设置


-- 2.给用户赋予只读权限
GRANT SELECT ON post.post_data TO 'name'@'%';
 
GRANT [权限] 
ON [库.表] 
TO [用户名]@[IP] 
IDENTIFIED BY [密码]

-- 3.MySQL 赋予用户权限命令的简单格式可概括为:

grant 权限 on 数据库对象 to 用户

-- 以下是 grant 普通数据用户,查询、插入、更新、删除 以及所有权限,数据库中所有表数据的权利。

grant select on testdb.* to common_user@’%’    
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’


-- 赋予某用户 库的所有表的只读权限
GRANT SELECT ON Entry_volume.* TO 'postuser'@'%';    
     
-- 赋予某用户 所有库的所有表的只读权限          
GRANT SELECT ON *.* TO 'postuser'@'%';                              



-- 4.刷新权限
FLUSH PRIVILEGES;


-- 5.删除账户及权限

drop user 用户名@’%’

drop user 用户名@localhost

        第二种:是Linux上登陆mysql的root账号  mysql -uroot -p 

        输入密码 进入之后就和客户端的操作一致

可能出现的问题:

        再给用户赋予表权限的时候可能出现一下问题:

解决方案:

        第一:报错可能是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的’’@'localhost’可以看出来。
解决方法:删除mysql数据库user表里用户名为空的用户。

        第二:可能是权限不够

-- 更新权限:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

        第三:可以在pycharm中进行修改

 

-- MySQL服务的 启动:

service mysqld start


-- MySQL服务的停止

service mysqld stop


-- MySQL的重启

service mysqld restart

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值