Navicat连接远程服务器里docker中mysql的方法(已解决)

 更新时间:2024年04月16日 11:34:43   作者:辞寒o  
相信大家都有在远程服务器上进行开发吧,其中MySQL的使用率应该也会挺高,这篇文章主要给大家介绍了关于Navicat连接远程服务器里docker中mysql的相关资料,需要的朋友可以参考下

1. 开启端口映射

docker中,我们需要将允许外界访问的端口通过配置文件映射出来,本文不需要将3306端口映射,但是该部分还是有实际用途的,因此在此记录。着急可以跳过第一部分。在创建并运行镜像的时候,我们会初始化参数,例如:

docker run -p 20000:22 -p 3000:3000 --name my_docker_sercer -itd docker_image:1.0 # 创建并运行docker_image:1.0镜像

但是,我们有时候会在创建后增加映射端口,此时,我们可以通过修改配置文件的方式处理。

  • 在容器外,使用root用户登录
docker ps -a # 查看所有容器信息
docker inspect xxx |grep Id # 查看需要添加端口映射的容器的id(xxx是需要添加端口映射的容器的名称)

  • 进入目录/var/lib/docker/containers

如果容器还在运行,需要先停止docker服务:systemctl stop docker

查看该目录下的所有容器,进入需要增加端口号的容器。

编辑hostconfig.json添加端口映射(参考其他端口格式):

编辑config.v2.json公开添加的端口(参考其他端口格式):

  • 重启容器:
systemctl start docker # 启动docker服务
docker start kob_server # 后面为自己的容器名称
# 启动容器后记得重启自己的服务(mysql, java, nginx等)
  • 到服务器中添加安全组(ip可以根据实际需求只放行本地ip):

2. 修改mysql配置

正文开始。

  • 修改mysql中的root用户访问权限

将mysql中的user表的root用户的host字段修改为%

show databases;
use mysql;
SELECT user, host FROM user;
UPDATE user SET host = '%' WHERE user = 'root';
# 最后记得刷新一下
FLUSH PRIVILEGES;

  • 修改配置文件

其实如果我们后面使用ssh连接容器,这一步修改没有必要,因为我们连接容器后就能够通过127.0.0.1访问数据库,但是可能有的同学想通过其他当时连接,这里将方法说明。着急的直接进入下一节。

这里有个坑,很多教程修改的是my.conf文件,但是mysql8以后就不在该文件中了,而是在mysqld.cnf中。

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

进入文件之后查找到bind-address,将这一行注释掉(需要一点点vim知识)

  • 最后重启mysql服务
service mysql restart

3. 在navicat中连接mysql

  • 在navicat中连接mysql数据库,选择ssh

需要注意的是,端口应选择容器的运行端口,密码是用户登录密码,不是mysql的密码。

  • 然后选择常规:

注意这里的主机是服务器容器中的本地ip,因为我们是通过ssh连接到容器了。

  • 最后点击测试连接并确定

总结

到此这篇关于Navicat连接远程服务器里docker中mysql的文章就介绍到这了,更多相关Navicat连接远程docker中mysql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL正则表达式REGEXP使用详解

    MySQL正则表达式REGEXP使用详解

    MySQL中正则表达式通常被用来检索或替换符合某个模式的文本内容,根据指定的匹配模式匹配文中符合要求的特殊字符串,下面这篇文章主要给大家介绍了关于MySQL正则表达式REGEXP使用的相关资料,需要的朋友可以参考下
    2022-09-09
  • MySQL SELECT ...for update的具体使用

    MySQL SELECT ...for update的具体使用

    本文主要介绍了MySQL的SELECT ...for update的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Java连接Mysql 8.0.18版本的方法详解

    Java连接Mysql 8.0.18版本的方法详解

    这篇文章主要介绍了Java和Mysql 8.0.18版本的连接方式,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • mysql 存在该记录则更新,不存在则插入记录的sql

    mysql 存在该记录则更新,不存在则插入记录的sql

    非常不错的功能,主要用于更新特定的记录,如果存在这条记录则更新一下,如果不存在则插入记录。应用于配置文件等。
    2010-04-04
  • MySQL存储过程中实现执行动态SQL语句的方法

    MySQL存储过程中实现执行动态SQL语句的方法

    这篇文章主要介绍了MySQL存储过程中实现执行动态SQL语句的方法,实例分析了MySQL中构造及执行动态SQL语句的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 将图片保存到mysql数据库并展示在前端页面的实现代码

    将图片保存到mysql数据库并展示在前端页面的实现代码

    这篇文章主要介绍了将图片保存到mysql数据库并展示在前端页面,本文给的大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • mysql 设置查询缓存

    mysql 设置查询缓存

    查询缓存绝不返回过期数据。当数据被修改后,在查询缓存中的任何相关词条均被转储清除。
    2009-08-08
  • windows下mysql 5.7.20 安装配置方法图文教程

    windows下mysql 5.7.20 安装配置方法图文教程

    这篇文章主要为大家详细介绍了windows下mysql 5.7.20 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • MySQL实战之Insert语句的使用心得

    MySQL实战之Insert语句的使用心得

    这篇文章主要给大家介绍了关于MySQL实战之Insert语句的使用心得的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • MySQL中order by排序语句的原理解析

    MySQL中order by排序语句的原理解析

    这篇文章主要介绍了MySQL中order by排序语句的原理,本文结合示例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12

最新评论