本文翻译自:MySQL Docker Containers:Understanding the basics

1.下载MySQL镜像

docker pull mysql:5.6

如此便可以下载最新的MySQL镜像,通过查看下载的镜像列表查看验证

如果列表有显示,说明Docker已经下载了对应的MySQL镜像。

2.安装镜像

  • --name:运行后Container的名称
  • -e:环境变量(也写作-env)
  • -d:后台运行不退出
  • tag:版本号,此处为8.0(mysql),如果缺省则对应latest
docker run --name=mysqldb -p=3306:3306 --env="MYSQL_ROOT_PASSWORD=longtao" mysql:5.6

将Mysql配置文件映射到本机

docker run --name mysqldb -p :  -v $PWD/conf/my.cnf:/etc/my.cnf.d/ -v $PWD/logs:/logs -v $PWD/data:/data -e MYSQL_ROOT_PASSWORD=longtao -d mysql:8.0

对于MySQL8.0以上的版本,报错:Authentication plugin 'caching_sha2_password' cannot be loaded ,解决办法:

docker run --name mysqldb -p :  -v $PWD/conf/my.cnf:/etc/my.cnf.d/ -v $PWD/logs:/logs -v $PWD/data:/data -e MYSQL_ROOT_PASSWORD=longtao -d mysql:8.0 --default-authentication-plugin=mysql_native_password

MySQL默认编码方式不是UTF8,可以在安装时修改指令

docker run --name mysqldb3307 -p 3306:3306  -v $PWD/conf/my.cnf:/etc/my.cnf.d/ -v $PWD/logs:/logs -v $PWD/data:/data -e MYSQL_ROOT_PASSWORD=longtao -d mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

3.安装PostGreSQL

 docker run --name=postgredb -p=: -env="POSTGRES_PASSWORD=longtao" -d postgres:11.1

4.常见错误

错误1:未设置环境变量

错误2:navicat无法连接

进入mysql容器

docker  exec  -it  <63c9e29aelef(容器id)>  bash

进入容器

mysql  --user=root  --password 

然后根据密码提示输入mysql密码

然后输入下面的命令,注意修改密码(newpassword)

ALTER  USER  'root'  IDENTIFIED  WITH  mysql_native_password  BY  'newpassword'; 

错误3:容器时区问题

docker exec -it <容器名> /bin/bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker restart <容器名>

参考

Docker 多种数据库的安装

Docker MySql报2059错误: Authentication plugin 'caching_sha2_password' cannot be loaded

Docker安装MySQL数据库的更多相关文章

  1. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  2. Docker安装Mysql数据库容器(zz)

    zz自:http://blog.csdn.net/chengxuyuanyonghu/article/details/54380032 1.下载mysql的镜像: sudo docker pull m ...

  3. docker 安装mysql数据库 <二>

    一.下载mysql数据库 #网易镜像中心https://c.163.com/hub#/m/home/ #采用网易加速地址,不加速时下载非常的慢 docker pull hub.c..com/libra ...

  4. 使用Docker安装Mysql

    最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...

  5. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

  6. mycat 1.6.6.1安装以及配置docker 安装mysql 5.7.24 双主多从读写分离主主切换

    mycat和mysql的高可用参考如下两个图 简介:应用程序仅需要连接HAproxy或者mycat,后端服务器的读写分离由mycat进行控制,后端服务器数据的同步由MySQL主从同步进行控制. 服务器 ...

  7. Docker 安装mysql、oracle

    来源:唐山网站优化 Docker 安装mysql.oracle 使用ssh工具登录docker docker 的ip一般默认为192.168.99.100可以通过安装docker-machine之后, ...

  8. CentOS 中利用docker安装MySQL

    1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...

  9. docker中mysql数据库

    在docker中安装mysql数据库,直接上代码,pull 并run 补充20190809=============== 如果要挂载数据库实现数据持久化到本地的时候,会出现权限问题,这个原因是: 在执 ...

随机推荐

  1. 从HTTL模板引擎看软件设计原则

    HTTL (Hyper-Text Template Language) 是一个高性能的开源JAVA模板引擎, 适用于动态HTML页面输出, 可替代JSP页面, 指令和Velocity相似.作者是阿里巴 ...

  2. go语言-值类型与引用类型

    https://www.cnblogs.com/java-zhao/p/9942311.html https://blog.csdn.net/TDCQZD/article/details/826836 ...

  3. static 与final abstract关键字

    一.通常访问类的属性与方法需要创建该类的实例,而static关键字的访问不需要某个特定的实例. 1.静态变量 使用类名.变量直接访问 package text5; public class Fathe ...

  4. Day3 Numerical simulation of optical wave propagation之标量衍射理论基本原理(三)

    3.标量衍射理论 光源通常不是简单地平面.球面或高斯光束波.对于更一般的情况,必须使用更老练的方法来求解标量赫姆霍兹方程,需要利用格林定理并灵活使用边界条件. 基本问题:给定源平面光场U(x1,y1) ...

  5. 【学习总结】GirlsInAI ML-diary day-18-下载/保存excel

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day18 使用Python来操作excel文件 Excel的处理与DataFrame格式是分不开的 可以理解为DataFr ...

  6. [转帖]Sqlcmd使用详解

    Sqlcmd使用详解 2018年09月17日 13:36:39 吥輕誩放棄 阅读数:3053   版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...

  7. yum 安装fuser命令

    yum install -y psmisc 转自:https://www.cnblogs.com/saneri/p/5465718.html 有时候我们需要umount某个挂载目录时会遇到如下问题: ...

  8. nginx实现https网站设置

    一.HTTPS简介 1.https简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密, ...

  9. 洛谷 P2042 【[NOI2005]维护数列】

    一直在想要做这道题,但是被那个硕大的Splay标签压垮了 好了,切入正题 这道题应该是我第二次用splay来维护区间问题 我还是太菜了QAQ 其实思路也很简单,就是以每一个位置的下标来进行维护,然后其 ...

  10. 深入理解JVM(3)——类加载机制

    1.类加载时机 类的整个生命周期包括了:加载( Loading ).验证( Verification ).准备( Preparation ).解析( Resolution ).初始化( Initial ...