Docker部署Mysql数据库步骤详解

>,首先我们拉取mysql镜像,要在Docker中部署MySQL数据库,我们首先需要创建一个MySQL容器。可以使用以下命令创建一个MySQL 8..0.24版本的容器:,此命令会创建一个名为mysql-container的容器,将MySQL的root用户密码设置为123456,并将宿主机的3307端口映射到容器的3306端口。,此命令将打开MySQL的命令行客户端,并要求您输入MySQL root用户的密码如下图:,Docker部署Mysql数据库步骤详解,然后我们就可以在这里进行数据库操作。,为了在容器重新启动后保留MySQL数据,可以将数据目录映射到宿主机的目录。在创建容器时,可以添加以下参数:,这里可以进行数据卷挂载,卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性,卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。数据卷可在容器之间共享或重用数据并且卷中的更改可以直接实时生效,数据卷的生命周期一直持续到没有容器使用它为止。如下图:,Docker部署Mysql数据库步骤详解,在Mysql 8.x版本当我们在云服务器上创建dockier容器后,尝试远程登录Docker容器内数据库的时候会遇见如下图问题:,Docker部署Mysql数据库步骤详解,这是什么原因呢?,出现1251的主要原因是由于mysql版本的问题,mysql8.0版本,与mysql8.0以下版本的加密方式不同,导致错误产生。,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password),而原来的身份验证插件为(mysql_native_password)。​ 而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),因此报上面的错,所以我们将mysql用户使用的 登录密码加密规则还原成 mysql_native_password,即可登陆成功。,运行下面的命令:,如下图:,Docker部署Mysql数据库步骤详解,然后我们改变加密命令,然后再次查看root用户登录的加密方式,Docker部署Mysql数据库步骤详解,然后我们重新使用客户端登录系统显示登录成功。,代码-e identified=mysql_native_password,配置了加密方式。,当我们使用客户端连接成功我们的docker容器后,然后进行创建数据库,创建表格然后添加数据如下:,然后在我们的docker容器内查询mysql数据如下图:,Docker部署Mysql数据库步骤详解,然后我们发现了乱码问题,乱码一般都是因为编码引起的,所以我们来查一下数据库的编码,Docker部署Mysql数据库步骤详解,1.修改my.cnf文件,2.出现bash: vim: command not found提示,需要安装一下vim,使用如下命令,重新执行vim命令。,3. 在 my.cnf文件中[mysql] 下面添加  default-character-set=utf8mb4,然后 :wq 退出。没有 [mysql] 的话就写一个。,如下图:,Docker部署Mysql数据库步骤详解,然后看一下mysql的字符集,已经变成 utf8mb4 了,这样就可以解决中文乱码问题了。,Docker部署Mysql数据库步骤详解,查看表格数据,Docker部署Mysql数据库步骤详解,至此我们的问题得到了成功解决。,>
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册