zoukankan      html  css  js  c++  java
  • Docker安装MySQL数据库

    本文翻译自: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 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

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

    docker run --name mysqldb -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 --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=5432:5432 -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

     

  • 相关阅读:
    交换变量方法总结
    Java Object Model(一)
    Git命令文本手册
    移动端浏览器touch事件的研究总结
    jQuery中的end()方法
    AngularJs开发——控制器间的通信
    网站收藏
    HTTP Content-type 对照表
    ViewData和ViewBag的那些事
    jQuery选择器
  • 原文地址:https://www.cnblogs.com/imstrive/p/10185459.html
Copyright © 2011-2022 走看看