Docker部署Mysql数据库详解

目录

 

1. Docker部署Mysql

1.1 Mysql容器

1.1.1 创建Mysql容器

1.1.2 进入Mysql容器并登录Mysql

1.1.3 持久化数据

 1.2 远程登录Mysql

1.2.1 修改root加密方式

1.2.2 在容器启动时配置加密方式为mysql_native_password

 1.3 Mysql编码

1.3.1 Mysql编码问题

 1.3.2 Mysql编码问题解决办法

送书活动


 

Docker是一种流行的容器化平台,可以简化应用程序的部署和管理。在本博客中,我们将探讨如何使用Docker部署两个广泛使用的数据库:MySQL。我们将提供详细的步骤和相应的命令,以帮助您轻松地在Docker容器中设置和运行这个数据库。

1. Docker部署Mysql

1.1 Mysql容器

1.1.1 创建Mysql容器

首先我们拉取mysql镜像,要在Docker中部署MySQL数据库,我们首先需要创建一个MySQL容器。可以使用以下命令创建一个MySQL 8..0.24版本的容器:

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=123456  -p 3307:3306 mysql:8.0.24

此命令会创建一个名为mysql-container的容器,将MySQL的root用户密码设置为123456,并将宿主机的3307端口映射到容器的3306端口。

1.1.2 进入Mysql容器并登录Mysql

docker exec -it mysql-container mysql -u root -p

此命令将打开MySQL的命令行客户端,并要求您输入MySQL root用户的密码如下图:

8b0123c611e2403fa8b7d95e4f2e069c.png

 然后我们就可以在这里进行数据库操作。

1.1.3 持久化数据

为了在容器重新启动后保留MySQL数据,可以将数据目录映射到宿主机的目录。在创建容器时,可以添加以下参数:

-v /docker/mysql/config/my.cnf:/etc/my.cnf #宿主机目录:mysql容器目录
-v /docker/mysql/data:/var/lib/mysql 

这里可以进行数据卷挂载,卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性,卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。数据卷可在容器之间共享或重用数据并且卷中的更改可以直接实时生效,数据卷的生命周期一直持续到没有容器使用它为止。如下图:

8741c9d6e6df4df3933bc6ad887802f8.png
 

 1.2 远程登录Mysql

在Mysql 8.x版本当我们在云服务器上创建dockier容器后,尝试远程登录Docker容器内数据库的时候会遇见如下图问题:

ccfb4a794e464b328f321c320c20a73f.png

 这是什么原因呢?

出现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,即可登陆成功。

1.2.1 修改root加密方式

运行下面的命令:

mysql -u root -p  #登陆mysql
use mysql;	# 切换mysql数据库
select host, user, authentication_string, plugin from user; #查看root用户登录加密方式

如下图:

3ba3276f85c34d9da04fc36ec647eaa9.png

 然后我们改变加密命令

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

 然后再次查看root用户登录的加密方式

select host, user, authentication_string, plugin from user; #查看root用户登录加密方式

c6832b12b2b94a078c85087c36175d2d.png
 

 然后我们重新使用客户端登录系统显示登录成功。

1.2.2 在容器启动时配置加密方式为mysql_native_password

代码-e identified=mysql_native_password,配置了加密方式。

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=123456  -p 3307:3306 -e identified=mysql_native_password mysql:8.0.24

 

 1.3 Mysql编码

1.3.1 Mysql编码问题

当我们使用客户端连接成功我们的docker容器后,然后进行创建数据库,创建表格然后添加数据如下:

CREATE DATABASE /*!32312 IF NOT EXISTS*/`project` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;USE `project`;/*Table structure for table `user` */DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (`id` BIGINT NOT NULL AUTO_INCREMENT,`username` VARCHAR(20) DEFAULT NULL,`password` VARCHAR(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;/*Data for the table `user` */INSERT  INTO `user`(`id`,`username`,`password`) VALUES (1,'张三','123'),(2,'lisi','456');

然后在我们的docker容器内查询mysql数据如下图:

385ad5e903ce4630918a9d01d9e0677a.png

 然后我们发现了乱码问题,乱码一般都是因为编码引起的,所以我们来查一下数据库的编码

ce81717ba4294fe98129ebebe8f38d07.png

 1.3.2 Mysql编码问题解决办法

1.修改my.cnf文件

cd /etc/mysql/ #进入my.cnf文件中的目录
vim my.cnf #编辑my.cnf文件

2.出现bash: vim: command not found提示,需要安装一下vim,使用如下命令

apt-get update
apt-get install vim -y

重新执行vim命令。

3. 在 my.cnf文件中[mysql] 下面添加  default-character-set=utf8mb4,然后 :wq 退出。没有 [mysql] 的话就写一个。

如下图:

6169a376a80048c6a7a164fe43c93b5b.png

 

然后看一下mysql的字符集,已经变成 utf8mb4 了,这样就可以解决中文乱码问题了。

592211d4fbc94caa96f97a02ac776c5d.png

 查看表格数据

6a4e089aa55c4193b6f43b80cd5adf88.png

 至此我们的问题得到了成功解决。

 

送书活动

Python自动化办公应用大全(ChatGPT版):从零开始教编程小白一键搞定烦琐工作(上下册)

本书简介:

本书全面系统地介绍了Python语言在常见办公场景中的自动化解决方案。全书分为5篇21章,内容包括Python语言基础知识,Python读写数据常见方法,用Python自动操作Excel,用Python自动操作Word 与 PPT,用Python自动操作文件和文件夹、邮件、PDF 文件、图片、视频,用Python进行数据可视化分析及进行网页交互,借助ChatGPT轻松进阶Python办公自动化。 

本书适合各层次的信息工作者,既可作为初学Python的入门指南,又可作为中、高级自动化办公用户的参考手册。书中大量的实例还适合读者直接在工作中借鉴。

 

本书特色:

 

★方式新颖 详细介绍了如何用 ChatGPT 来补充学习知识点,以及如何快速生成所需的代码,零基础人员学习编程的成本进一步降低。

内容丰富 以Excel数据处理与分析为重点,延展到 Word、PPT、邮件、图片、视频、音频、本地文件管理、网页交互等现代办公所需要处理的各种形式的数据。

★案例实用 用大量易借鉴的案例帮助用户学会在各个场景中使用自动化技术。

★作者权威 Excel Home团队策划,多位微软全球最有价值专家(MVP)通力打造,确保每个案例都实用,对编程小白友好。

让没有编程经验的普通办公人员也能驾驭 Python,实现多个场景的办公自动化,提升效率!

 

作者简介:

Excel Home是微软在线社区联盟成员,全球华语Excel资源网站,拥有大量原创技术文章、视频教程、加载宏及模板。Excel Home是一个学习氛围浓厚的技术交流社区,中国大陆及中国港台各行各业身怀绝技的Office高手都汇聚于此,目前已有三百多万办公人士选择成为它的注册会员。 Excel Home已精心编写并出版Office领域的图书60余种,截至2020年春节,图书销量累计达200多万册。

2429ce806c434e408140f6a242c5eec1.png

当当链接:《Python自动化办公应用大全(ChatGPT版):从零开始教编程小白一键搞定烦琐工作(上下册)》(Excel Home)【简介_书评_在线阅读】 - 当当图书

 关注博主、点赞、收藏、

评论区评论 “ 人生苦短,我爱python”

  即可参与送书活动!

                           开奖时间:2023-07-17 21:00:00                             

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/3218.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT扩展系列之ChatHub解决被OpenAI 封号的终极解决方案

ChatGPT扩展系列之ChatHub解决被OpenAI 封号的终极解决方案 本节介绍了一个解决ChatGPT在中国大陆无法使用和担心被封号的问题的方法。近期有很多亚洲用户被封号,原因是有人滥用API接口或者批量注册账号,不符合官方规定。对于这个问题,提出了一个解决方法,可以在中国大陆无…

Docker系列 基于OpenAI API自建ChatGPT

转自我的博客文章https://blognas.hwb0307.com/linux/docker/4201,内容更新仅在个人博客可见。欢迎关注! 前言 我用帐号/密码使用chatGPT已经有一段时间。但是,我有几个私交较密的朋友,他们并不具备使用chatGPT的条件&#xff1b…

从开发到上线,三分钟拥有自己的 ChatGPT !

OpenAI 已经公布了 ChatGPT 正式版 API,背后的新模型是 gpt-3.5-turbo,这是 OpenAI 目前最先进的模型,响应速度更快,价格更便宜。 作为开发人员,我们还是希望通过 API 将 ChatGPT 和相关模型集成到自己的产品和应用中&…

基于Tushare量化分析示例

1. 量化神器Tushare介绍 大家都知道量化分析离不开数据支撑,那下面就简单说一下一个简单好用的量化神器——Tushare。 Tushare 提供免费的数据接口,包含沪深股票数据、财务报表数据、指数、基金、期权、期货、港股、美股、宏观经济等数据,甚…

零代码量化投资:用ChatGPT获取新浪财经上的股票实时行情

现在很多免费的股票数据库,比如akshare,其实是从新浪财经或者东方财富网站上爬取下来的。如果能直接从新浪财经或者东方财富网站上爬取数据,可以获取更全面更即时的信息。 可以在ChatGPT中输入提示词如下: 写一段Python代码&…

ChatGPT:搞『量化投资』我是认真的!

量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W关注者,曾荣获AMMA优秀品牌力、优秀洞察力大奖,连续4年被腾…

如何利用ChatGPT学习量化投资?

引言 最近,ChatGPT持续火了很长时间,占领各大热点和头版头条,成为A股开年以来最大的热点之一。ChatGPT是OpenAI开发的一种语言生成模型,可以理解为智能问答机器人。最近围绕量化投资在上面试了很多问题,大部分回答还是…

ChatGPT在社工攻击和反钓鱼中的应用

概述 ChatGPT是一种基于神经网络的自然语言处理模型,可以生成自然流畅的文本或对话。在钓鱼攻击中,攻击者可以使用ChatGPT生成虚假电子邮件或消息,更好地伪装成受害者所信任的个人或组织,从而获取受害者的个人信息。这种行为对个…

看ChatGPT这形势,留给我们开发人员的时间不多了

程序员一直所做的工作是什么?恐怕想到最后,每个努力的程序员都是在让自己努力的走向失业。最近ChatGPT爆火,他能做什么?能写文章,写的很好,可以代替你发邮件,一直到发现OpenAI的深度加持&#x…

ChatGPT其实并不想让开发人员做这5件事情

前言 ChatGPT已经火爆了快半年了吧,紧接着国内也开始推出了各种仿制品,我甚至一度怀疑,如果人家没有推出ChatGPT,这些仿制品会不会出现。而很多人也嗨皮得不行,利用各种方法开始科学上网,用ChatGPT做各种觉…

让ChatGPT连接进互联网世界

大家知道ChatGPT是没有链接到互联网的,所以只能回答2021年之前的知识,对于这么强劲的大脑这有点可惜了,现在有办法了: 使用WebChatGPT插件(chrome) 安装插件: 上图是安装前 安装后的效果&…

chatGPT打不开问题(个人亲测有效)

chatGPT打不开问题(个人亲测有效) ChatGPT打不开 Access denied !Access denied !Access denied !相信今天很多国内的小伙伴们打开 Open AI ChatGPT 都会出现:“Access denied You do not have access to …

小狐狸ChatGPT付费创作系统V2.1.0独立版 +WEB端+ H5端 + 小程序端安装教程

播播资源针对ChatGPT付费创作系统V2.1.0提供最新的对应版本小程序端全套测试,上一版本增加了PC端绘画功能,绘画功能采用其他绘画接口-意间AI,本版新增了百度文心一言接口。后台一些小细节的优化及一些小BUG的处理,前端进行了些小细…

ChatGPT 官方 API 来了,价格直接打骨折,未来……

大家好,我是校长。 ChatGPT 自去年年底公布以来,最近这几个月一直处于火热的状态当中,堪称引起了人工智能旋风。 01 官方 API 来了 昨天凌晨 2 点左右(美西时间 3 月 1 日(周三)),Op…

2023年ChatGPT商业版免授权源码/AI绘画/付费系统

正文: 2023 最新 ChatGPT商业版源码,该产品支持用户付费套餐,AI 绘画,支付对接,卡密购买兑换等功能,并且可以免费使用,同时附带详细的教程文档。 AI程序采用NUXT3LARAVEL9开发 字节网盘&#…

小狐狸ChatGPT付费创作系统1.6.1独立开源版 + 小程序VUE前端

小狐狸GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。小程序版本,包含全插件,开源可二开!接口模型升级至GTP3.5,修复一句可能会出bug的代码…

小狐狸ChatGPT付费创作系统1.8.9独立版源码,H5端 + 小程序端

v1.8.9 1、增加后台手动加绘画次数 2、增加新用户送绘画次数 3、云存储改成在超管后台配置 4、修复H5首次进入会弹网络错误的问题 5、修复其他几个小问题

重磅!阿里版本【ChatGPT】开放测评!

前两天突然爆出惊人消息:阿里版ChatGPT开放测评了! 在本月初,已经有诸多关于阿里巴巴即将推出类似ChatGPT产品的传闻。 数日前,首批曝光的天猫精灵“鸟鸟分鸟”脱口秀版GPT基于大型模型的“精简版”,凭借其出色的表现吸…

阿里版 ChatGPT 突然官宣!我们用 16 个提问,火速进行了测评……

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 平地一声雷!今天中午阿里版类 ChatGPT 「通义千问」突然官宣: 没错,就这 3 行简短介绍 1 个官网地址,再无其他“剧透”。 好在,CSDN 有幸拿…

猿如意|chat GPT测评

文章目录 猿如意猿如意传送门猿如意个人使用感受好的一面:可以改进的一面: 什么是猿如意 chat GPT测评chat GPT关于通用的问题问题1-如何写一篇会计论文问题2 -如何规划自己的人生目标问题3 -如何自学称为一名中医问题4 -未来哪些行业更具有持续发展问题5 现在选择什…