ubuntu18.04安装mysql5.7无法远程连接-湖北来凤百姓网

湖北来凤百姓网-公司开发一个基于arm64硬件的盒子项目,盒子中装的aarch64 GNU/Linux Ubuntu 18.04.1系统,我在该系统上装了mysql5.7,能成功启动mysql,也能成功登入,但是就是在远程连接时始终提示无法访问,于是开始各种查找解决方案,最终花了大半天时间终于搞定!

安装说明

先说下我是怎么安装支出aarch6版的mysql的,一开始想从mysql官网寻找下相关tar包,但是始终找不到合适的,支持Ubuntu要么是rpm的要么是deb的,两种都试过,没成功,基本原因都是和arm64不兼容,导致无法安装,最后还是在线通过如下指令直接安装的,估计也正是这种安装方式导致后面无法连接的问题。

# 安装服务端 阿里云镜像默认5.7版本
apt-get install mysql-server
# 安装客户端
apt-get install mysql-client

解决方案

遇到mysql本地连接成功,但远程连接不上的问题,无非从以下几个方面入手:

1、user表问题

mysql库中user表的root用户的host没有指定为%,而是默认的localhost,在mysql客户端执行如下操作即可

# 1、切换到mysql库
use mysql;
#2、查看root用户的host是不是 %,如果是localhost继续下面操作
select user,authentication_string,host from user where user = 'root';
# %为任意主机,就是任意主机可以通过用户名root + 密码 进行连接,你也可以指定只允许某IP的主机进行连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码';
# mysql重新加载用户权限
flush privileges;

2、防火墙问题

如果上面操作之后仍然无法远程连接mysql,就需要检查防火墙问题。我这里是ubuntu系统(其他系统自己找对应的指令)
潘老师首先查看了防火墙是否开启:

# 查看防火墙状态
ufw status

解决ubuntu18.04安装mysql5.7无法远程连接的问题
发现并没有开启,因此排除防火墙问题。

3、3306端口开放的问题

如果3306端口没有开发也会导致无法远程连接,潘老师通过指令发现3306开放了。

netstat -tunlp

解决ubuntu18.04安装mysql5.7无法远程连接的问题
但是仔细看图,有一点奇怪,就是它开放的是127.0.0.1:3306而不是0.0.0.0:3306,这才是本次问题的突破点,127.0.0.1:3306只对本机开放访问,其他ip都不行,那么该怎么解决呢?重点来了~
1)由于是apt在线安装的,mysql在目录/etc/mysql/mysql.conf.d下有个默认配置文件mysqld.cnf,打开编辑发现:
解决ubuntu18.04安装mysql5.7无法远程连接的问题

2)原来罪魁祸首就在这里,bind-address绑定的ip是127.0.0.1,我们只需将127.0.0.1改为0.0.0.0表示任意ip主机都能访问即可:
解决ubuntu18.04安装mysql5.7无法远程连接的问题

3)最后,重启mysql服务即可。

重启成功后再去远程连接就发现能正常连上了,但有可能会提示mysql client版本太低导致无法连接的情况,需要你更新client版本即可,但至少是可以远程访问mysql了。

终于舒了一口气哦,解决了这麻烦的mysql5.7无法远程连接的问题!

本文《ubuntu18.04安装mysql5.7无法远程连接-湖北来凤百姓网》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。

随机文章

SEO教程
站长导航
搜素引擎算法
关键词排名优化
网站内容优化
SEO教程
站长导航
关键词排名优化

百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/52191.html