mysql 8 修改用户权限,限制ip远程连接

因为数据库的安全的问题,不建议使用root用户用来连接数据库进行操作,所以需要创建一个新用户,并且需要指定ip,这样就会更安全,因为不是指定的ip,那么就连接不到mysql

因为有多个服务器需要连接到mysql, 并且最好是使用一个账号来连接,因为账号太多不易管理,所以就需要创建一个账号,并且指定多个ip限制访问。根据一些教程根本就行不通…,最后根据自己摸索和查询资料,总结一下操作:
Mysql版本基于mysql8.0,其他版本基本一致,有可能就是语法不一致

创建用户并指定多IP访问
创建用户并设置密码模式(mysql8.0的密码加密方式不一致)
CREATE USER 'test'@'139.xxx.xxx.xx' IDENTIFIED WITH mysql_native_password BY 'qwe123';
说明:
- 'test'@'139.xxx.xxx.xx' 指定账号和可访问的ip
- mysql_native_password BY 'qwe123'; 指定加密规则为mysql_native_password 并且密码为qwe123

给创建的账号赋权

这里直接赋所有的权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'139.xxx.xxx.xx'
如果需要指定权限,就将ALL改为SELECT DELETE UPDATE INSERT等四种权限任选即可
如果还需要设置到另一个ip, 那么就需要重复上面的步骤:

虽然是重复步骤,但是用户名、密码保持和上面一致,不会重复

(1)CREATE USER 'test'@'129.xxx.xxx.xx' IDENTIFIED WITH mysql_native_password BY 'qwe123';

(2)GRANT ALL PRIVILEGES ON *.* TO 'test'@'129.xxx.xxx.xx'

因为在mysql中一个用户名对应一个ip 才算是一条记录,就相当于创建了多个记录,但是账号、密码都相同,可访问的IP不同。
另: 如果创建错了,可以使用下面语句删除用户:
 drop user 'test'@'106.xxx.xx.xx';

删除指定ip的用户
这样就完成了相同的账号密码,但是指定多个IP访问

posted @ 2023-10-09 11:51  onecyl  阅读(722)  评论(0编辑  收藏  举报