centos7 mysql设置一个远程登录用户并且管理用户权限

版权声明:转载注明出处,大家一起交流 https://blog.csdn.net/qq_38231051/article/details/83184708

在mysql默认的设置下,root是不可以通过远程连接进行登录的。如果需要进行远程登录怎么办呢?

这里我们可以通过添加用户及访问权限来完成。

要么直接在root用户的基础上在加一个记录。

通过命令:

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

flush privileges;   * 刷新刚才的内容*


这里的grant是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, insert, update, delete on testdb.* to common_user@'%'

还有其他挺多功能。这里就不一一介绍了:https://www.cnblogs.com/crxis/p/7044582.html

扫描二维码关注公众号,回复: 3683668 查看本文章

all privileges on *.*

这里的意思是所有权限在*.*。其中privileges关键词可以缺省。all on *.*的作用是一样的。

*.*是什么意思呢?首先。我们要知道*是SQL语句中的通配符。

点前代表的是数据库。点后的代表是对应数据库中的表。所以,*.*是所有数据库中的所有表。

我们也可以指定,例如:grant all on database.* 代表将database这个数据库的所有表给出权限。其他数据库的权限不给出。


to 创建的用户名 @"%" identified by "密码"

这个应该还是比较好理解的。把之前选择的权限赋值到一个用户中。这个用户的密码也在这里设定。

这里要注意的是:"%"这个是统配符。他匹配所有的ip连接。如果把localhost替换掉%,那这个用户就是只允许本地登录连接。

其实解释到这里,就应该明白了如何创建一个允许远程登录的用户了。

不过呢。还有一点,你设置好了用户后,还需要将电脑/服务器的端口打开。否则还是无法远程登录的。

猜你喜欢

转载自blog.csdn.net/qq_38231051/article/details/83184708