3306 端口

  • 此前确保3306端口是打开的(服务器防火墙)
  • 在服务器中查看端口状态

    1
    netstat -an|grep 3306
  • 如果仅仅出现👇下面的信息,则说明3306端口仅仅对localhost开放,外网是无法访问的

    1
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
  • 你需要找到mysql.cnf mysql 的配置文件,有可能不止一个,且不一定和我的文件名一样,

  • 找到.cnf配置文件中的,将其注释

    1
    #bind-address = 127.0.0.1
  • 如果像我这样,就说明端口是开放的,且已经有主机连接
    1.jpg

mysql用户权限

  • 在mysql的mysql表中,有用户信息
  • 查看你的用户是否允许,除localhost以外的ip访问

    1
    select host,user from user;
  • 如图,想要外网访问的用户,其对应的host应该是外网ip

  • 如果想要任意ip访问,其对应的host设置为“%
    2.jpg

  • 或者你可以直接创建一个新用户,给他权限

1
2
grant all on database_name.* to user_name@'%' identified by 'user_password';
flush privileges;