mysql如何不安比远程访问?

之前为了本地调试mysql方便,开启了服务器mysql远程访问功能,现在想关闭,搜索了一圈的结果都是

use mysql;

update user set host = "localhost" where user = "root" and host= "%";

flush privileges;

可跟着输入命令发现了错误

Duplicate entry 'localhost-root' for key 'PRIMARY'

clipboard.png

询问如何关闭远程访问,mysql5.7 服务器信息ubuntu 16

阅读 2.5k
4 个回答

找到你的 mysql 配置文件,比如 /etc/mysql/my.cnf ,修改:

bind-address=127.0.0.1

把3306端口关了。

可以远程访问mysql,说明你做了至少两步操作:

  1. mysql端口(一般3306)允许远程访问(防火墙允许),并且在配置中配置了监听所有ip
  2. 至少有一个远程访问mysql的用户

解决办法

  1. 最简单的是用防火墙关闭3306端口,这样外界就访问不了3306端口了,就无法远程访问mysql。
  2. 在mysql的设置里不绑定所有ip,只绑定本地地址,bind-address=127.0.0.1,就像这位老哥 @rife 说的。
  3. 最后还可以清理一下mysql库里,user表里允许远程访问的用户,可以直接删掉。改成localhost失败是因为你本地已经有了一个localhost的root用户了,改不了。
推荐问题