Docker 运行 MYSQL 数据库的总结

摘要:
该公司需要一个小演示来学习Java,然后很久以前就使用MySQL数据库在容器中运行MySQL。现在我想我几乎忘记了,所以这里总结了在Docker模式下运行MySQL数据库的方法。1.首先,让我们说mariadb实际上是MySQL的一个硬分支,MySQL的创始人反对。环境变量和数据文件的路径基本相似。我将使用一个简单的mariadb:10.1图像进行演示。首先,让我们看看我

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

然后使用了mysql数据库 

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

1. 先说 mariadb

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

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

先看下 我这里的三个 iamges

Docker 运行 MYSQL 数据库的总结第1张

1. 创建目录
mkdir /mariadbstorage

2. 运行 mariadb 的 容器

docker run -d -p 3307:3306 -v /mariadbstorage:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Test6530 --name mariadbtest --restart=always mariadb:10.1

3. 使用工具进行验证

备注: 1. 3306 是默认mysql的端口号
2. /var/lib/mysql 是默认的 mysql数据存放路径
3. MYSQL_ROOT_PASSWORD 是默认的传送密码的环境变量.

Docker 运行 MYSQL 数据库的总结第2张

工具显示的版本号:

Docker 运行 MYSQL 数据库的总结第3张

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

 docker run -d -p 3308:3306 -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认证方式,所以即使输入正确的用户和密码依然登录不成功。

解决方法

1. 进入容器

docker exec -it mysql /bin/bash

2.在容器内部执行命令

mysql -u root -p
#输入 MYSQL_ROOT_PASSWORD的密码
#然后执行
use mysql

alter user 'root'@'%' identified with mysql_native_password by 'Test6530';

#执行刷新权限的命令
flush privileges

#完成

验证版本

Docker 运行 MYSQL 数据库的总结第4张

3. mysql 5.7.26

指定版本进行pull

然后执行命令即可

mkdir /mysql5726

docker run -d -p 3309:3306 -v /mysql5726:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Test6530 --name mysql5726  --restart=always mysql:5.7.26

验证版本

Docker 运行 MYSQL 数据库的总结第5张

免责声明:文章转载自《Docker 运行 MYSQL 数据库的总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇最新BIOS设置中英文对照表linux操作提示:“Can't open file for writing”或“operation not permitted”的解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

liunx安装mysql(mariadb)

liunx安装mysql(mariadb) 1.配置mariadb的yum源,新建一个Mariadb.repo仓库文件#编辑创建mariadb.repo仓库文件  vi /etc/yum.repos.d/MariaDB.repo 2.修改mariadb.repo仓库文件,写入以下内容  vi /etc/yum.repos.d/MariaDB.repo   ...

linux下导入导出MySQL数据库

一、导出:用mysqldump命令行命令格式mysqldump -u 用户名 -p 数据库名 > 数据库名.sql范例:mysqldump -u root -p abc > abc.sql(导出数据库abc到abc.sql文档)提示输入密码时,输入该数据库用户名的密码。 *************************************...

使用homebrew安装mysql

2.使用homebrew安装mysql及遇到的问题 安装命令 brew install mysql 安装完成之后,本地命令行输入mysql命令,发现无此命令 commond not found 首先,检查是否是安装了 重新执行一遍 brew install mysql 命令行提示: Warning: mysql-5.7.10 already in...

部署CentOS,集成Mysql、Nodejs、Nginx

1. Mysql安装 Step 1 安装源 https://dev.mysql.com/downloads/repo/yum/ 选择:Red Hat Enterprise Linux 8 / Oracle Linux 8 (Architecture Independent), RPM Package 这个download 跳转的页面对着No thanks,...

centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课

centos  LNMP第一部分环境搭建 LAMP安装先后顺序  LNMP安装先后顺序 php安装 安装nginx  编写nginx启动脚本   懒汉模式  mv   /usr/local/php/{p.conf.default,p.conf}  php运行方式SAPI介绍  第二十三节课 推荐搜狐下载地址:http://mirrors.sohu.com/...

MySQL之对数据库库表的字符集的更改

数据字符集修改步骤: 对于已有的数据库想修改字符集不能直接通过 "alter database character set *"或 "alter table tablename character set *",这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效。 已经有记录的字符集的调整,必须先将数据导出,经过修改字符集后重新导入后才可...