docker 安装8.0.31 版本的mysql

1、访问https://hub.docker.com/

 

2、在查询框输入mysql

 3、点击tag标签

 

 4、下拉或者翻页找到8.0.31

 5、复制右面的命令,并且执行

docker pull mysql:8.0.31

 6、查看镜像

 7、容器运行mysql

docker run -d -p 3307:3306 --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.31

-d表示在后台运行,不随当前命令行窗口的退出而退出

--name给容器起一个别名,以后可以通过这个别名管理此容器

-p 3306:3307把宿主机的3307端口映射到Mysql容器的3306端口

-e MySQL容器的环境配置,设置root密码

最后mysql:8.0.31是使用的镜像名字

 

 

8、进入容器,f5227fac15ce 是mysql容器id,进入后可以看见前面是bash开头,相当于mysql容器内部的bash命令行

docker exec -it f5227fac15ce /bin/bash

 

9、执行mysql 连接命令

mysql -u root -p

 

10、输入mysql的root密码 XXX  ,会出现mysql字样,表明连接成功

 11、输入show databases; 查看当前数据库

 

12、exit 退出mysql客户端

 

13、接着上面再次输入exit ,直接退出mysql容器的bash命令行

 

14、使用navicat 远程连接docker中的mysql容器,成功连接

 展开数据库

 

 

 

15 、docker mysql默认区分表名大小写的和数据库名大小写的,但是数据库名大小写无法修改,启动mysql容器并且关闭表名大小写有两种方式:

15.1  启动容器时代参数启动,参数顺序一定要对,–lower_case_table_names=1要加在镜像名后面,镜像名前面是参数,后面是mysql配置,不然会报错

docker run -d -p 3308:3306  -e MYSQL_ROOT_PASSWORD=123456  --name mysqlcloselower  mysql:8.0.31 --lower_case_table_names=1

然后执行docker exec -it 60330189837b /bin/bash进入容器,然后登陆mysql 使用下面命令查询

 show global variables like '%lower_case%';

 15.2  第二种是修改mysql的配置文件

 

 

16、设置 Docker数据卷(Volume)

            Docker 容器原则上是短暂的,如果容器被删除,任何数据或配置都可能会丢失。然而,Docker Volume提供了一种机制来保存在 Docker 容器内创建的数据。它们是 Docker 用于存储 Docker 容器 持久数据的首选机制。默认情况下,MySQL 将其数据文件存储在该 /var/lib/mysql目录中。因此,在部署之前,您需要设置一个 Docker Volume来持久化您的数据库。否则,当容器重新启动时,您的数据将丢失。

 

17、 Docker Hub官方教程文档中提到两种方式去运行新容器:方法一:配置选项作为标志传递给mysqld,不用写xxx.cnf配置文件

docker run -d -p 3308:3306  -e MYSQL_ROOT_PASSWORD=123456  --name mysqlcloselower  mysql:8.0.31 --lower_case_table_names=1

 

 

18、方法二创建容器:使用自定义的 custom.cnf 配置文件。

 

posted @ 2023-04-23 10:28  无声袖箭  阅读(616)  评论(0编辑  收藏  举报