【踩坑】在linux服务器上配置mysql并开放3306端口

article/2025/10/3 13:42:43

在做大作业,数据库零基础,折腾了一天才搞成功,特此记录一下踩过的坑。希望能帮到其他同学吧……
有不对欢迎指出,谢谢啦!

安装mysql

首先

sudo apt update
sudo apt install mysql-server -y

嗯,安装完了。
然后输入

sudo systemctl status mysql.service

如果看到:
在这里插入图片描述
尤其是这个绿绿的active,就表示已经启动了。
如果没有active的话,就手动输入命令:

sudo systemctl start mysql.service

修改密码

进入mysql

mysql -u root -p

其中-u后面是用户名,-p后面理论上是直接输入密码,但貌似mysql会建议你不要这么干。如果出现让你输密码的提示的话,直接回车即可,初始密码为空。
在这里插入图片描述
看到这样的界面就进入mysql的操作了。如果要退出,输入quit并回车即可。
然后在mysql中输入:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '123456';

即可修改密码。123456是你准备改的密码(它可能会阻止你改成这么弱的密码,那就换个强点的密码吧)

远程编辑数据库

我的服务器没有图形化界面,所以为了方便起见,我用了mysql workbench来远程操作数据库。

去官网下载并安装,一路next就行没什么难的。

打开mysql workbench,点击加号。
在这里插入图片描述
然后填好信息,记得第二栏选Standard TCP/IP over SSH。
在这里插入图片描述
先点底下的Test Connection,如果弹出了OK的界面的话,再点最右侧的OK按钮
再点最右侧的OK按钮,最右侧的OK按钮,最右侧的OK按钮。重要的事说三遍。Test Connection只是检查是否能连上数据库的,点OK才能保存设置。
然后主界面的“Mysql Connection”应该就多了一个格子,双击即可进入远程数据库的编辑界面。

开放端口

本地mybatis没过ssh,连不上数据库,因此我们需要开放端口。
数据库的默认端口号是3306,不用改。
终端依次输入以下指令即可开放端口:

sudo apt-get install iptables
sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
sudo iptables-save

然后可以安装一个netcat测试一下是否成功:

sudo apt-get install netcat
nc -zv 127.0.0.1 3306

以下是成功和失败的输出结果:
在这里插入图片描述
好,重点来了,你的本地机器想连服务器的数据库,当然是不能用127.0.0.1的,然而如果你nc -zv输入服务器ip地址,会发现Connection refused。
输入

netstat -an|grep 3306

红色的那一行,如果显示的是:::3306,表示可以对外开放。如果显示的是127.0.0.1:3306,表示只对本地开放。如果你是后者,那么跟着我继续应该就能成功解决了,否则……呃……再排排错找找教程?
在这里插入图片描述
首先我们需要编辑一个文件:

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

打开后长这样,如果你红框里的内容没有注释掉,将它注释掉。另外,如果你发现你的数据库端口不是3306,把prot=3306那句的注释去掉。
在这里插入图片描述
:wq保存并退出后,终端输入

service mysql restart

重启mysql,然后

netstat -an|grep 3306
nc -zv 服务器ip地址 3306

检查一下,都和上文说的结果一样,就表明3306端口开放成功。

开放数据库权限

接下来要对外开放数据库权限。
首先还是

mysql -u root -p

进mysql
然后输入:

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

如果报错说没选择数据库的话,可以用:

show databases;

命令查看一下有哪些数据库,一般来说

use mysql;

(不是你自己建的要开放的数据库)
然后再输入上面的指令就可以了。
最后

flush privileges;

刷新,再quit退出。
最后终端输入:

sudo service mysql restart

重启一下数据库。
现在你的远程连接大概没问题了。
另外我的另一踩坑是mysql-connector-java的版本号问题,要和你的服务器mysql版本对应不然可能连不上。你登入mysql的时候会出一大段文字,里面就有版本号。不知道有没有人会犯和我一样的错……

后记

对着防火墙折腾了个把小时才发现连不上是mysql配置文件的问题,端口只开放给本地了,枯了。
愿天堂对小白友好点。


http://chatgpt.dhexx.cn/article/Fhn314B3.shtml

相关文章

MySQL报错端口3306解决方法

安装MySQL时候回报错一些错误,比如文件中文名,但是比较最常见的就是端口号3306的占用。 在之前的MySQL安装:https://blog.csdn.net/qq_41879385/article/details/82215828,我就有遇到过这个问题。接下来看下面。 我们在安装的时…

mysql 的 3306、33060 端口区别,33060、33061、33062的区别,如何查看以及验证

当连接sql主机时,端口号3306、33060 端口有不同 如何验证 MySQL 服务器上的这些端口的值,以及这些端口的区别 MySQL使用不同的端口,在于使用的组件,启用的功能和应用程序的连接方式以及环境各方面因素 客户端 - 服务器连接端口…

如何实现 请在微信客户端打开链接

那就是判断useragent if (navigator.userAgent.match(/MicroMessenger/i) ! MicroMessenger){window.location.hrefwxerror.jsp;}

模拟微信接口时,提示“请在微信客户端打开链接”

背景描述 相信有模拟微信页面请求的测试都有看到过这个页面,简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面。大概在1年前,专门安排了一个人去解决这个技术问题,遗憾的是当时没有找到解决方案,接下来所有微信端的接口测试和性能测试都无法进行,今天和大家分…

绕过“请在微信客户端打开链接”如微师下载视频等。

UA(User Agent)的问题。 微信内置的浏览器设置了特定的 UA,在网页加载时会识别这个 UA 修改UA:浏览器不同地方不同 360浏览器: F12 点击 右上角"更多工具"-"网络状态" 找到下面的用户代理( User Agent),…

Android使用WebView加载Url时提示“请在微信客户端打开链接”

前言 最近在使用webView加载一个url时 提示弹出这样的图片 解决方法 在设置webView属性的时候 修改ua参数 我们通过这个链接拿到自己的ua参数 点击获取自己的UA参数 如图所示 我用的红色表框的ua 复制以后 设置在webView中 代码参考 String ua "Mozilla/5.0 (Win…

解决请在微信客服端打开链接问题

现象:在浏览器打开链接,显示如图 现象原因:调用了微信的接口 解决:不调用微信的接口即可 应用场景:如果需要在浏览器调试微信公众号网页,可以模拟调用必要微信接口的信息或者阻塞非必要微信接口调用

浏览器怎么打开微信客户端连接服务器,微信“请在微信客户端打开链接”怎么办?-在浏览器中打开微信链接的方法 - 河东软件园...

自从出现了电脑版的微信之后,很多用户都会在电脑中下载安装一个客户端,可就是电脑客户端中打开链接也会出错!微信中有的时候朋友或是公众号会发送一些链接,若是使用电脑单击打开就会被提示“请在微信客户端打开链接”,…

模拟微信接口时,提示“请在微信客户端打开链接”(转)

背景描述 相信有模拟微信页面请求的测试都有看到过这个页面,简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面。大概在1年前,专门安排了一个人去解决这个技术问题,遗憾的是当时没有找到解决方案,接下来所有微…

H5请在微信客户端打开链接

H5判断必须在微信中打开 效果 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body></body><script type"text/javascript">var ua navigator.userAgent…

浏览器查看,请在微信客户端打开链接

需求&#xff1a;微信公众号登录转跳到网址&#xff0c;想打开控制台&#xff0c;遂复制到浏览器&#xff0c;结果给我提示这个。。 解决方法&#xff1a;设置用户代理字段&#xff0c;把浏览器伪装成微信客户端 就这玩意儿 修改用户代理字段 打开控制台&#xff0c;切换成…

chorme 显示“请在微信客户端打开链接”

今天从微信公众号里面复制了一个链接&#xff0c;在微信的浏览器中能够打开网页&#xff0c;但是在chomre里面就显示“请在微信客户端打开链接”。 想在chrome里面运用调试工具&#xff0c;但苦苦无法实现。 在网上看了更换ua的方法&#xff0c;链接&#xff1a;https://blog.…

完美解决 请在微信客户端打开链接

背景描述 相信有模拟微信页面请求的测试都有看到过这个页面&#xff0c;简单点说就是爬虫爬微信页面&#xff0c;进行回放的时候会出现这个页面。大概在1年前&#xff0c;专门安排了一个人去解决这个技术问题&#xff0c;遗憾的是当时没有找到解决方案&#xff0c;接下来所有微…

最新解决“请在微信客户端中打开链接”的教程分享

正文: 在浏览器访问网站&#xff0c;却提示“请在微信客户端打开链接”。虽然这个情况你可能从未遇到过&#xff0c;但对于爱折腾的小伙伴&#xff0c;确是一道拦路虎&#xff0c;但其实解决办法很简单&#xff0c;教程我就打包在Word文档了&#xff0c;有需要的朋友自己去查看…

“请在微信客户端打开链接”解决方案

当我们将微信页面地址复制到电脑自带的浏览器上打开时候就会提示“请在微信客户端打开链接”如图所示&#xff1a; 百度上很多都是告诉我们用什么抓包工具破解什么的&#xff0c;结果呢没 luan用&#xff01;这给我们开发人员调试带来了诸多不便。下面我教大家如何解决&#xf…

QinQ技术原理

基本QinQ&#xff1a; 基于接口方式实现&#xff0c;收到数据包后为数据包打上外层接口的缺省vlan tag。需要将外网设备与内网相连接的接口的类型改成隧道&#xff0c;然后配置需要打上的固定标签。 灵活QinQ&#xff1a; 可以对于同一个接口收到的数据可以根据需求打上不同…

QinQ与Vlan Mapping讲解与实验配置

目录 QinQ Vlan扩展 QinQ实现方式 QinQ实验配置 Vlan Mapping Vlan映射 映射方式 配置命令 QinQ Vlan扩展 QinQ全称为802.1Q-in-802.1Q&#xff0c;为Vlan扩展技术&#xff0c;在802.1Q标签报文的基础上再增加一层802.1Q标签&#xff0c;实现扩展Vlan空间&#xff1b;可…

配置QinQ

配置基于接口的 QinQ 网络中有两个大企业&#xff0c;企业 1 有两个办公地&#xff0c;企业 2 有三个办公地&#xff0c;这两个企业的各办公地的企业网都分别和运营商网络中的 SwitchG 或 SwitchF 相连。企业 1 的网络中使用 VLAN1000&#xff5e;VLAN1500&#xff0c;企业 2 的…

qinq的抓包实验

一、基本 QinQ 又称为 QinQ 二层隧道&#xff0c;是基于接口方式实现的。开启接口的基本 QinQ 功能后&#xff0c;当该 接口接收到报文&#xff0c;设备会为该报文打上本接口缺省 VLAN 的 VLAN Tag。如果接收到的是已经带 有 VLAN Tag 的报文&#xff0c;该报文就成为双 Tag 的…

5.2 VLAN:QinQ

文章目录 1.介绍2.华为2.1 基本QinQ2.2 灵活QinQ 3.思科 1.介绍 首先要知道QinQ的字面意思&#xff0c;大家都知道数据帧在二层传输中一般是用802.1q协议在源MAC地址后面加一个vlan 标签&#xff08;内层标签&#xff09;,而QinQ就在数据帧源MAC地址和内层标签之间再加一个vlan…