• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Workbench连接不上阿里云服务器Ubuntu的Mysql解决方法(已测)

    这两天为了解决workbench连接不上阿里云服务器的问题,搞得头大,网上搜到的教程都大同小异,但唯独到我这就是行不通。不过好在最后终于解决了,记录一下这个坑爹的过程。

    使用的环境:

    系统:

    Ubuntu 18.04.2 LTS
    Mysql:mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper

    MySQL Workbench8.0CE

    1. 无法连接到服务器

    一开始连接的时候是出现下面这种状态。

    遇到的坑之一

    网上查到的大多数方法就是修改bind_address的值

    先检查以下mysql的端口状态

    netstat -anp|grep mysql

    ps:如果显示127.0.0.1:3306 则说明需要修改,若为: : :3306,则不用

    因为我显示的状态是127.0.0.1:3306是这个值,所以得去修改。

    网上查到的大多数修改配置文件路径均说是在**/etc/mysql/my.cnf**,但这是对旧版本而已,由于我装的是最新版,所以打开这个文件之后发现里面并没有bind_address这个给值。后来查了一下才发现,新版的是在**/etc/mysql/mysql.conf.d/mysqld.cnf**。既然发现问题所在,那么改过来就很方便了。找到下面这部分,然后注释掉即可。

     # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address = 127.0.0.1

    2. 修改mysql.user表的信息

    为了能让root用户远程访问数据库,所以得去改一些信息。

    mysql -u root -p password
    mysql>use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> select user,host from user;
    +------------------+----------------+
    | user    | host   |
    +------------------+----------------+
    | root    | localhost  |
    | debian-sys-maint | localhost  |
    | mysql.session | localhost  |
    | mysql.sys  | localhost  |
    +------------------+----------------+
    

     上面的host表示用户可以从那些地址访问数据库。由于是localhost,所以只能本地访问。一共查到了两种修改方法,一个是直接将原本root对应的host改成**%**,或者新添一个可以远程访问的用户 。

    方法一:

    在进入mysql数据库中的状态下执行下面命令

    update user set host='%' where user='root'

    方法二:新添一个用户:

    grant all privileges on *.* to new_user@'%' identified by "password";

    无论用了上面哪一种最后都得刷新一下刚才的设置

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    这两个方式都试了,还是不行,出现说我们目前的ip不允许连接。

    后来试了好多次发现, 远程连接的用户名不要用root。经过几次重装尝试发现,设置root可以远程连接,就一直失败。

    3. 关闭防火墙

    # 先重启一下数据库
    sudo service mysql restart
    # 检查MySQL端口状况是否为 : : :3306
    netstat -anp|grep mysql
    # 关闭防火墙
    sudo ufw disable
    # 查看防火墙状态
    sudo ufw status

    4. 开放端口

    阿里云或者其他云服务的用户一定要注意去开防对应的端口,默认状态mysql的端口为3306。

    打开阿里云的控制台,添加安全组规则

    有一个安全组限制的设置,设置一下入方向可以允许3306端口再尝试以下,瞬间就好了

    阿里云ECS MySQL无法远程连接,如果你试了网上所有的教程还是无法连接请看下面

    首先要检查防火墙,这是最基本的,很多教程会提到,开启3306端口
    检查阿里云服务器安全组,看一下是否开启3306的出入站规则,这个真的好坑,不知道什么时候阿里云linux服务器上还有这个东西了,印象中只在Windows server上有
    通过工具连接有的时候还是连接不上,会提示跟SSL有关的,我是用IDEA和MySQL workbench连接,IDEA是要在连接的URL上面添加

    useSSl=false

    至于MySQL workbench我没有找到如何连接,所以还可选的是服务器禁用SSL
    找到my.cnf文件,一般在/etc/my.conf
    向内容中添加skip_ssl命令关闭SSL

    service mysqld restart

    重启mysql

    设置所有IP可以访问,修改localhost为127.0.0.1等就不说了,网上有很多文章可以参考,对安全组和SSL不熟悉的可以参考以上方法

    连接数据库时useSSL=false的作用

    useSSL=false
    MySQL在高版本需要指明是否进行SSL连接

    1.true 需要连接
    2.false 不需要连接

    5. 搞定

    到此文章就介绍了,这样基本上什么都解决了。 

    您可能感兴趣的文章:
    • MySQL WorkBench管理操作MySQL教程
    • MySQL Workbench的使用方法(图文)
    • Mysql Workbench查询mysql数据库方法
    • Mysql WorkBench安装配置图文教程
    • MySQL Workbench下载与使用教程详解
    • Ubuntu下mysql与mysql workbench安装教程
    • MAC下Mysql5.7+ MySQL Workbench安装配置方法图文教程
    • mysql 5.7.17 以及workbench安装配置图文教程
    • mysql中workbench实例详解
    • centOS下mysql workbench安装配置教程
    • 详解MySQL Workbench使用教程
    上一篇:MySQL 的覆盖索引与回表的使用方法
    下一篇:MySQL延迟问题和数据刷盘策略流程分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Workbench连接不上阿里云服务器Ubuntu的Mysql解决方法(已测) Workbench,连接,不上,阿里,