公司里面要求做一个小demo 学习java相关的东西

然后使用了mysql数据库

很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了  所以这里总结一下 docker化运行mysql数据库的方法

1. 先说 mariadb

其实mariadb 就是mysql创始人反抗oracle的一个硬分支 里面的 环境变量和数据文件的路径还基本上相似.

我这里就使用一个比较简单的 mariadb:10.1 的镜像进行演示

先看下 我这里的三个 iamges

. 创建目录
mkdir /mariadbstorage . 运行 mariadb 的 容器 docker run -d -p : -v /mariadbstorage:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Test6530 --name mariadbtest --restart=always mariadb:10.1 . 使用工具进行验证 备注: 1. 3306 是默认mysql的端口号
2. /var/lib/mysql 是默认的 mysql数据存放路径
3. MYSQL_ROOT_PASSWORD 是默认的传送密码的环境变量.

工具显示的版本号:

2. mysql 8.0.17  我直接pull mysql  2019.7.31 pull 下来的 mysql的版本是 8.0.17

 docker run -d -p : -v /mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Test6530 --restart=always --name mysql mysql

这里面 其实命令 是完全一样的 不过里面有一个坑, 我通过一个网页学习了下

https://blog.csdn.net/wcuuchina/article/details/85674891

设置了 MYSQL_ROOT_PASSWORD 的环境变量之后 navicat 还是不能用 需要再进入容器内部修改一下

我怀疑肯定有别的办法来处理.  但是 还不是很清楚.

mysql已经将之前的mysql_native_password认证,修改成了caching_sha2_password认证方式。

所以,使用类似于navicat或是sqlyog这些客户端时,默认使用还是mysql_native_password认证方式,所以即使输入正确的用户和密码依然登录不成功。

解决方法

. 进入容器

docker exec -it mysql /bin/bash

.在容器内部执行命令

mysql -u root -p
#输入 MYSQL_ROOT_PASSWORD的密码
#然后执行
use mysql alter user 'root'@'%' identified with mysql_native_password by 'Test6530'; #执行刷新权限的命令
flush privileges #完成

验证版本

3. mysql 5.7.26

指定版本进行pull

然后执行命令即可

mkdir /mysql5726

docker run -d -p : -v /mysql5726:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Test6530 --name mysql5726  --restart=always mysql:5.7.

验证版本

Docker 运行 MYSQL 数据库的总结的更多相关文章

  1. docker运行mysql数据库

    1.搜索镜像源是否有mysql镜像 执行语句: sudo docker search mysql  2.拉取需要版本的mysql,执行语句: docker pull mysql:5.7  3.查看安装 ...

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

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

  3. Docker运行mysql,redis,oracle容器和SpringBoot项目

    dokcer运行SpringBoot项目 from frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/demo-0.0.1-SNAPSHOT ...

  4. Docker运行Mysql,Redis,SpringBoot项目

    Docker运行Mysql,Redis,SpringBoot项目 1.docker运行mysql 1.1拉取镜像 1.2启动容器 1.3进入容器 1.4开启mysql 1.5设置远程连接 1.6查看版 ...

  5. 在 树莓派(Raspberry PI) 中使用 Docker 运行 MySQL

    在 树莓派(Raspberry PI) 中使用 Docker 运行 MySQL 本文主要利用 biarms 提供的 Dockerfile 进行安装. 笔者最新发现! MySQL 5.7 Docker ...

  6. 使用docker运行mysql

    以前开发的时候都是用本地的sqlite开发,但是极少数情况下,sqlite支持的语法发布到服务器上链接mysql会报错. 为了避免这种现象,还是链接本地mysql开发还是更稳定的, 可是开发的项目多了 ...

  7. 使用docker容器运行MySQL数据库并持久化数据文件

    1.下载mysql镜像 # docker pull mysql 2.启动mysql容器 # docker run -itd -v /data:/var/lib/mysql -p 33060:3306 ...

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

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

  9. Docker安装MySQL数据库

    本文翻译自:MySQL Docker Containers:Understanding the basics 1.下载MySQL镜像 docker pull mysql:5.6 如此便可以下载最新的M ...

随机推荐

  1. JAVA实现四则运算的简单计算器

    开发环境eclipse java neon. 今天用JAVA的swing界面程序设计制作了一个四则运算的简易计算器.代码以及截图如下: computer.java: ///////////////// ...

  2. 数学函数(C/C++)

    C中包含头文件<math.h> C++包含头文件<cmath> 函数 double cos(double) 该函数返回弧度角(double型)的余弦 double tan(do ...

  3. Python回归分析五部曲(三)—一元非线性回归

    (一)基础铺垫 一元非线性回归分析(Univariate Nonlinear Regression) 在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条曲线近似表示,则称为一元非线性回归 ...

  4. Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to 'pthread_create'的解决办法

    在CLion中开发讯飞的linux语音库时编译出现以下问题: undefined reference to 'pthread_create' CLion的cmake配置:修改CMakeLists.tx ...

  5. Django基础之初识视图

    编写视图 一个视图函数,或者简短来说叫做视图,是一个简单的Python函数,它接受web请求,并且返回web响应. 响应可以是一个网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一 ...

  6. jupyter login

    anaconda2/lib/python2.7/site-packages/notebook/auth/login.py """Tornado handlers for ...

  7. Zookeeper系列(十四)Zookeeper的数据与存储

    作者:leesf    掌控之中,才会成功:掌控之外,注定失败. 出处:http://www.cnblogs.com/leesf456/p/6179118.html尊重原创,奇文共欣赏: 一.前言 前 ...

  8. redis事务机制和分布式锁

    Redis事务机制 严格意义来讲,Redis的事务和我们理解的传统数据库(如mysql)的事务是不一样的:Redis的事务实质上是命令的集合,在一个事务中要么所有命令都被执行,要么所有事物都不执行.  ...

  9. Java-Unsafe

    Unsafe 是 sun.misc 包下的一个类,可以直接操作堆外内存,可以随意查看及修改 JVM 中运行时的数据,使 Java 语言拥有了类似 C 语言指针一样操作内存空间的能力. Unsafe 的 ...

  10. ios-Realm数据库的使用

    [集成 Realm] 本 Demo 使用 OC 创建,所以先进入 Realm 官网 (我记得之前都是有官方中文教程的,但现在最新版没有中文了),到 Objective-C -> Getting ...