在实际开发过程中,有时候只读用户要安全得多,特别是对于查询和备份,下面是建立一个针对指定数据库只读的用户,并允许其远程登录,实现异地备份的功能,安全问题需要自己把握好哦
首先,咱们需要创建一个新的用户。在MySQL中,可以使用以下命令:
CREATE USER '用户名'@'%' IDENTIFIED BY 'password';
然后,我们需要给这个新用户赋予abc库的只读权限,可以使用以下命令:
GRANT SELECT ON abc.* TO '用户名'@'%';
这个命令将给用户newuser赋予了对数据库abc的SELECT权限,也就是只读权限。
最后,我们需要刷新权限,让刚刚设置的权限生效:
FLUSH PRIVILEGES;
以上就是在MySQL中设置一个可以远程登录,并且对特定数据库有只读权限的用户的步骤。 现在就简单得多了。
如果你已经有用户了记得先清除权限,在MySQL中,用户的权限是累积的。也就是说,如果你先前为该用户授予了其他权限,那么即使你后来只授予SELECT权限,该用户仍然会保留先前的权限。
可以通过执行REVOKE命令来撤销用户的特定权限。远程用户记得把localhost改成%,想撤销指定用户的所有权限,可以执行以下命令:
REVOKE ALL PRIVILEGES ON *.* FROM '你的用户名'@'localhost'; FLUSH PRIVILEGES;
然后,你可以重新授予SELECT权限,数据库和表你就自己指定吧,这里就用*了:
GRANT SELECT ON *.* TO '你的用户名'@'localhost'; FLUSH PRIVILEGES;
这样,指定用户就只会有SELECT权限了。
另外,你可以通过执行下列命令来查看该用户的所有权限。
SHOW GRANTS FOR '用户名'@'localhost';