连接远程linux中的mysql

连接远程linux中的mysql

为什么要写这篇文章?原因很简单,就是在第一次连接的时候翻车了……
之前服务器系统是Window的,一切都依赖于BT面板,后来就将系统重置为了linux,然后在连接mysql的时候出现了问题,其实问题的产生也很简单,就是没有开放linux系统的3306端口,刚开始以为只要在阿里云中开放端口即可,但是一直连不上,后面在B站上看到一个视频才解决了问题。linux是一个封闭的系统,需要通过特定的端口访问系统中的资源。而mysql在默认的情况下也是不允许远程连接的,因此,我们要做两方面的设置,具体步骤如下:

一、设置mysql允许在别的主机上连接

  1. 首先登录到mysql中
  2. 敲入命令:GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY "数据库密码" WITH GRANT OPTION;(设置所有主机都可以通过root用户登录到本机的mysql密码是by后面的)
  3. select * from mysql.user where user='root' \G; //查看是否设置好了远程访问
  4. 退出mysql界面,输入firewall-cmd --zone=public --add-port=3306/tcp --permanent,开放3306端口
  5. systemctl restart firewalld.service 重启防火墙进行生效
  6. firewall-cmd --list-ports 查看端口是否开放

二、设置阿里云或者腾讯云服务器的安全组

  1. 登录阿里云/腾讯云找到服务器安全组
    连接远程linux中的mysql

  2. 添加防火墙规则
    连接远程linux中的mysql

  3. 开放服务器3306端口
    连接远程linux中的mysql