远程连接ubuntu虚拟机mysql出错总结

最近在学习服务器安装mysql用来做项目,需要用到远程连接,但是经过排错用navicat连接后一直出现下面这种情况解决后顺便记录下ubuntu安装mysql及远程连接。

mysql卸载

//首先如果之前安装过的话,先要彻底卸载掉,以下命令依次执行
//purge可以将包以及软件的配置文件全部删除,remove仅仅可以删除包,不会删除配置文件

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

mysql安装

ubuntu20.04通过apt-get命令得到的是mysql8的版本,所以无需指定,下载完成后会设置root登录密码。

//更新源
sudo apt-get update
sudo apt-get upgrade


//下载
sudo apt-get install mysql-server

mysql管理命令

sudo service mysql status    //查看服务状态
sudo service mysql start    //启动服务
sudo service mysql stop    //停止服务
sudo service mysql restart  //重启服务
exit                       //退出mysql

登录

安装完成之后使用命令登录

mysql -u root -p

远程连接(出现问题最多)

登录之后,一般为了安全性考虑,通常不会用root作为远程连接对象,可以新创建一个用户

create user '用户名'@'%' identified by '密码';

grant all on *.* to '用户名'@'%';

flush privileges;        //刷新权限

创建好之后可以查看新建用户权限,如果像下图那样便是授权创建成功。

use mysql;

select user,host from user;

接下来可以试试用navicat登录试试,如果出现第一张图的错误信息,尝试一下办法

solution1:

首先是查看启动状态,如果是正在运行的话,网上很多的办法是更改配置文件,去找bind-address 退出mysql。

sudo vim /etc/mysql/my.cnf

执行完之后可能会出现这种情况

然后在看一下其他的配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

如果找到了bind-address,将它注释后,重启mysql尝试连接。

solution2

第一种解决办法中可能找不到bind-address,(巧了我就是没找到)。然后试一下检查网络和端口情况。在windows命令行

ping ip 可以通

telent ip 3306 //发现失败,问题可能是防火墙的原因,端口号没开放。

查看防火墙信息

sudo ufw status

该命令可能会显示防火墙已经关闭。这个地方是个误区。但是执行下面命令发现防火墙是运行着的

//查看防火墙
systemctl status firewalld

这里要解释一下误区

常见的linux系统的防火墙有:UFW、firewall、和iptables,其中,UFW是Debin系列默认的防火墙,firewall是红帽系列7以上的防火墙(CentOS7.x)。

而且他们很可能同时安装在同一个系统上,并且相互影响,就比如我这次的ubuntu20.04是同时存在ufw跟firewall的,就导致了3306端口没有放开。

找到问题所在了就开放一下3306端口,当然也可以把两个防火墙都给禁了(虚拟机无所谓一蹴而就)。

//查看3306端口状态
firewall-cmd --zone=public --query-port=3306/tcp
//如果是no,那么打开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//防火墙重载
firewall-cmd --reload
//再次查看状态显示yea说明成功开启3306
再次连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值