docker 连接宿主Mysql操作

今天公司项目要配置docker,顺利在windows上装完了之后,发现连接不上本地的mysql,

一直报权限问题或者地址错误的问题

最后发现

1:地址按照下面这个ipv4来

2:要在宿主Mysql将localhost权限打开,命令如下

mysql -u root -pvmwaremysql>use mysql;

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

mysql>select host, user from user;

好了没了。

补充知识:Docker连接数据库容器无法本地访问,但可以远程访问的问题

前言

以前我用idea连接在阿里云服务器上的docker数据库时,用的都是服务器ip和端口号,后来感觉安全组开放端口号不太安全,想用localhost发现连接不上。

我以为只能用服务器ip不能用localhost,后来突然发现docker的每一个容器居然有自己的ip。

一、 进入容器

docker exec -it 8f00a625f3fb bash

二、查看ip

cat /etc/hosts

可以看到我的ip是172.18.0.2

三、修改链接地址

之后就好使了。

以上这篇docker 连接宿主Mysql操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-11-20

解决Docker之mysql容器数据库更改不生效的问题

用官方的mysql 镜像需要修改一些内容,比如配置文件的修改,DB数据文件的目录等,更改之后如果重新运行容器,改过的文件就无效了,新生成的容器不会有之前改变的内容 第一种是修改官方下载的镜像,修改之后 提交一个新的镜像文件 docker commit -m 等新生成的镜像信息, 第二种MYSQL的DB数据,容器关闭后 如果用 docker restart 重启同一容器,那么数据是正常的,如果重新docker run 容器那么数据就不会显示,因为每个容器都有一个文件地址 这就需要把数据文件挂载出来

Docker容器访问宿主机网络的方法

最近部署一套系统,使用nginx作反向代理,其中nginx是使用docker方式运行: $ docker run -d --name nginx $PWD:/etc/nginx -p 80:80 -p 443:443 nginx:1.15 需要代理的API服务运行在宿主机的 1234 端口, nginx.conf 相关配置如下: server { ... location /api { proxy_pass http://localhost:1234 } ... } 结果访问的时候发现老是报 5

Docker安装MySQL8.0的实现方法

环境:MacOS_Cetalina_10.15.1.Mysql8.0.18.Docker_2.0.0.3 1.docker仓库搜索mysql docker search mysql 2.docker仓库拉取mysql8.0 docker pull mysql:8.0 备注: docker pull mysql //默认拉取最新版本 3.查看本地仓库镜像是否下载成功 docker images mysql:8.0 4.安装运行mysql8.0容器 docker run -p 3307:3306 -

阿里云centos7中安装MySQL8.0.13的方法步骤

1.下载MySQL安装包 (这里是有技巧的,说不定我这时写这个的时候版本还是你看到时的旧版本了,如果已经不是8.0了,可以根据这样来 下新版本) 先进入官网 再将这两者一结合,就是最新版本的了 所以 [root@h1 ~]# rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2.安装mysql [root@localhost ~]# yum install -y mysql-server 或

Docker 部署 Mysql8.0的方法示例

1. 参照官网,安装docker 2.拉取mysql镜像 (默认拉取最新的镜像)8.0.11 docker pull mysql 3.在宿主机创建持久化 mysql data 及mysql.cnf mkdir /usr/local/mysqlData/test/cnf mkdir /usr/local/mysqlData/test/data vi /usr/loal/mysqlData/test/cnf/mysql.cnf 设置本地文件共享: Docker -> Preferences... -

MacOS 下安装 MySQL8.0 登陆 MySQL的方法

按照 官方教程,下载安装包,点击安装后,如需在命令行启动,还需设置命令路径: 在命令行中,打开配置文件 .bash_profile: vim ~/.bash_profile 在最后一行加上: PATH=$PATH:/usr/local/mysql/bin 按 esc 键后 输入wq 进行保存和退出. 在命令行输入: source ~/.bash_profile 之后就可以在命令行用 mysql -u root -p 连接 MySQL 数据库了 总结 以上所述是小编给大家介绍的MacOS 下安装

Windows安装MySQL8.0.16 的步骤及出现错误问题解决方法

一.前言: mysql8之后想比起之前常用的版本改动还是挺大的,因为刚从安装接触,就先从基本的说起.现在的mysql8安装只能采用解压配置版,像以前老版本的傻瓜式安装将不复存在.其实mysql8了解如何安装之后也不是特别麻烦, 现罗列一下注意点: 1,mysql8 之后并不需要my.ini,会自动的生成data文件夹在解压之后的文件,端口默认3306,.若有这个文件,则初始化mysql不成功. 2,自己若新建并设置了my.ini 文件,有data文件的话,在初始化之前要删除.然后再初始化 3,在

mysql-8.0.17-winx64 部署方法

1.官网下载mysql-8.0.17-winx64,选择Zip文件格式下载 2.解压到目标路径,我这里是E盘根目录,即E:\mysql8 3.根目录下创建my.ini,内容如下: [mysqld] #端口 port = 3306 #mysql安装目录 basedir = E:/mysql8 #mysql数据存放目录 datadir = E:/mysql8/data #允许最大连接数 max_connections = 1024 #服务端默认使用字符集 character-set-server =

安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) 我放在了这里 E:\web\mysql-8.0.11-winx64 ,顺便缩短了文件名,所以为 E:\web\mysql-8.0.11. 1.3. 生成data文件: 以管理员身份运行cmd 程序--输入cmd 找到cmd.exe 右键以管理员身份运行 进入E:\web\mysql-8.0.11\

CentOS7.5 安装 Mysql8.0.19的教程图文详解

一.前言 此篇文章安装mysql部分没有截图,适合有一定基础的同学. 安装方法是通过mysql官网下载的tar文件,解压后安装rpm文件. 因为公司网络慢,使用yum方法安装时,文件经常下载一半就不行了,所以使用这种方法.只要tar文件在,拷到哪安装都可以(网速好的同学请忽略). 二.安装文件下载 打开地址:https://www.mysql.com,点击红框链接: 页面拉到最后,点击红框链接: 在打开的页面,点击红框链接: 在打开的页面这样选择(CentOS 是基于红帽的,所以这样选择),然后

CentOS8部署LNMP环境之编译安装mysql8.0.29的教程详解

一.前提 由于我安装了几次,我就不再讲述报错了,有点打脑壳!!!提前把相关依赖和报错就地解决. 1.所需源码包 mysql-8.0.19.tar.gz boost_1_70_0.tar.gz //安装mysql-8所需要的boost版本 rpcsvc-proto-1.4.tar.gz //后面出错所需要的源码包 mysql-8.0.19下载地址:http://mirrors.sohu.com/mysql/ boost_1_70_0下载地址:https://dl.bintray.com/boost

Linux yum 命令安装mysql8.0的教程详解

一 ,做好安装前的清理工作 rpm -pa | grep mysql 或者 rpm -qa | grep -i mysql yum remove mysql-xxx-xxx find / -name mysql rm -rf /xxx/xxx/xxx 二 , 下载对应的安装包 下载链接:https://dev.mysql.com/downloads/repo/yum/  三 , 安装mysql 执行rpm文件 rpm -ivh mysql57-community-release-el7-11.n