在linux服务器上配置mysql并开放3306端口的操作步骤

 更新时间:2022年09月27日 09:56:38   作者:litble  
这篇文章主要介绍了在linux服务器上配置mysql并开放3306端口,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

安装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配置文件的问题,端口只开放给本地了,枯了。

到此这篇关于在linux服务器上配置mysql并开放3306端口的文章就介绍到这了,更多相关linux开放3306端口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解MySQL数据库insert和update语句

    详解MySQL数据库insert和update语句

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。接下来通过本文给大家介绍MySQL数据库insert和update语句,需要的朋友一起学习吧
    2016-04-04
  • MySQL索引数据结构入门详细教程

    MySQL索引数据结构入门详细教程

    这篇文章主要为大家介绍了MySQL索引数据结构入门详细教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Linux远程部署MySQL数据库详细步骤

    Linux远程部署MySQL数据库详细步骤

    这篇文章主要介绍了Linux远程部署MySQL数据库的详细步骤,文中步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 解析MSSQL跨数据库查询的实现方法

    解析MSSQL跨数据库查询的实现方法

    本篇文章是对MSSQL跨数据库查询的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 跳槽必备之你设计索引的原则是什么?怎么避免索引失效?

    跳槽必备之你设计索引的原则是什么?怎么避免索引失效?

    索引的设计可以遵循一些已有的原则,创建索引的时候请尽量符合这些原则,便于提升索引地使用效率,更高效地使用索引。今天给大家介绍跳槽必备之你设计索引的原则是什么?怎么避免索引失效?感兴趣的朋友一起看看吧
    2021-05-05
  • mysql 5.7.14 安装配置方法图文详细教程

    mysql 5.7.14 安装配置方法图文详细教程

    这篇文章主要为大家分享了mysql 5.7.14安装配置方法图文教程,详细介绍了mysql 5.7.14安装可能遇到的一系列问题,感兴趣的朋友可以参考一下
    2016-08-08
  • 解析SQL语句中Replace INTO与INSERT INTO的不同之处

    解析SQL语句中Replace INTO与INSERT INTO的不同之处

    本篇文章是对SQL语句中Replace INTO与INSERT INTO的不同之处进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql 无法连接问题的定位和修复过程分享

    mysql 无法连接问题的定位和修复过程分享

    开发的一款网站防护产品中出现了一个客户端上安装后Mysql每隔一段时间就出现问题,这个问题是客户反馈的,所以需要去复现和定位
    2013-03-03
  • MySql 8.0及对应驱动包匹配的注意点说明

    MySql 8.0及对应驱动包匹配的注意点说明

    这篇文章主要介绍了MySql 8.0及对应驱动包匹配的注意点说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • MySQL 触发器(TRIGGER)的具体使用

    MySQL 触发器(TRIGGER)的具体使用

    本文主要介绍了MySQL 触发器(TRIGGER)的具体使用,包含INSERT 触发器,UPDATE触发器和DELETE触发器这三种,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05

最新评论