0


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
标签: mysql 数据库

本文转载自: https://blog.csdn.net/zibo_CXY/article/details/134383745
版权归原作者 玫瑰有了花期 所有, 如有侵权,请联系我们删除。

“MySQL创建只读用户”的评论:

还没有评论