MySQL 跨服务器连接

mysql 跨服务器链接的问题

将阿里服务器上的MySQL服务暴露出来
众所周知, MySQL服务默认是只能当前机器本地才能链接上,是不会对外曝光的, 所以当你有两台服务器时, 并且想将服务器A安装上MySQL服务, 方便服务器B上的项目去操作服务器A的MySQL数据库时怎么办呢?

场景:
     一台专门放置MySQL数据库的服务器A --- 一般来说这台服务器只能内网链接, 安全
     一台放置你运行项目的服务器B

操作步骤:

  • 在服务器A上安装MySQL服务
    • Ubuntu sudo apt-get install mysql-server
  • 修改MySQL用户权限
    •   use mysql;
        update user set host = '%' where user root;
        flush privileges;
      
    • MySQL中的mysql 库里有个user 表, 这个表存着所有用户的信息, 我这里假设我的MySQL的登陆用户(user字段)为root来做操作, 其中host表明用户的来源, 可以理解为,用户通过哪里才能进来,通俗的来说就是授权,它默认的localhost, 也就是说这个用户只能本地登陆, 将他修改为%标明用户可以通过任何途径来访问MySQL数据库, 关于localhost和%的区别, 你可以理解为 % 是模糊匹配,可以根据自己的需求模糊比配某几个来源, 例如 %.23, 只要IP是.23 结尾的都可以访问MySQL服务。
  • 修改MySQL监听的TCP/Ip
    •   vim /etc/mysql/mysql.conf.d/mysqld.cnf
        # bind-address = 127.0.0.1
        # or
        bind-address = 0.0.0.0
      
    • 这里是MySQL的配置文件中的, 我是Ubuntu默认安装后生成的MySQL配置文件的地址
  • 修改阿里云的安全组
    • 这里最主要, 如果在阿里的安全组中没有将3306(默认的MySQL端口)端口抛出的话, 你是没有办法通过服务器B去访问的, 下面是我配置安全组的截图


      阿里安全组的配置
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容