Docker最全教程之MySQL容器化 (二十四)

Docker最全教程之MySQL容器化 (二十四)
原文:Docker最全教程之MySQL容器化 (二十四)

前言                

MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角度进行总结和编写。


 

目录  

  • 镜像说明 

  • 运行MySQL容器镜像 

1.运行MySQL容器 

2.修改“root”账户的认证模式和密码 

  • 管理MySQL 

1. MySQL命令行工具 

2. Visual Studio Code的MySQL插件 

3. phpmyadmin 


 

MySQL是目前最流行的开源的关系型数据库,因其高性能、可靠性和易用性而广受开发者的欢迎,尤其是开放源码这一特点,一般中小型网站的开发都会优先选择MySQL作为网站数据库。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL虽然有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。


 

镜像说明

MySQL的官方镜像地址为:https://hub.docker.com/_/mysql

 


运行MySQL容器镜像

1.运行MySQL容器

接下来,我们使用PowerShell来运行MySQL镜像。脚本如下所示:

docker run --name mysql `-e MYSQL_ROOT_PASSWORD=123456 `-p 3306:3306 `-d mysql

相关参数说明如下所示:

表7-2

参数

描述

-e MYSQL_ROOT_PASSWORD=123456

此变量是必须的,用于指定MySQL超级管理员帐户(root)的密码。

-p 3306:3306

建立容器端口和主机端口的映射。MySQL默认端口为3306。

-d

在后台运行容器并打印容器ID。

--name mysql

为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。

mysql

MySQL容器镜像。

执行界面如图所示:

 

同样的,我们可以参考前面的章节使用数据卷或者主机目录来完成MySQL的数据持久化,参考命令参数如下:

  • 使用数据卷“-v my-volume:/var/lib/mysql”
  • 使用主机目录“-v d:\temp\data:/var/lib/mysql”

2.修改“root”账户的认证模式和密码

MySQL容器已经运行了,如果我们满怀欣喜地使用Visual Studio Code的MySQL扩展插件去连接时,就会碰到这么一个错误:

 

究其原因,其实就是MySQL新版本的“caching_sha2_password”授权认证模式的问题,我们将其改回“mysql_native_password”授权模式即可。

主要有以下几步操作:

1)        进入MySQL容器

docker exec -it mysql /bin/bash

 

2)        使用MySQL命令行工具连接MySQL

mysql -h localhost -u root -p

需要输入密码:

 

3)        修改“root”账户的认证模式

连接成功后,接下来我们就可以使用SQL语句来修改“root”账户的认证模式了:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

注意,最后的字符串“123456”为“root”账户的密码。

 

4)        验证外部连接

同样的,我们使用Visual Studio Code的MySQL扩展插件进行验证,正常情况如下所示:

 


 

管理MySQL

这里我们主要简单的介绍以下MySQL命令行工具和Visual Studio Code的MySQL扩展插件。

1. MySQL命令行工具

进入方式在前面的章节我们已经多次讲述了,这里就不赘述了。使用MySQL命令行工具,我们可以非常方便的进行管理数据库。比如:

  • 查看数据库

 

  • 创建数据库

 

  • 执行其他查询

 

2. Visual Studio Code的MySQL插件

由于大部分MySQL UI管理工具都要钱,这里就首要推荐使用万能的Visual Studio Code的MySQL的插件来进行管理。

  • MySQL插件

使用起来非常简单:

 

  • SQLTools

支持多种数据库(MySQL、MSSQL、PostgreSQL、Oracle、SQLite、SAP HANA),支持书签、查询语句智能提示和自动完成以及将数据导出CSV或JSON:

3. phpmyadmin

phpMyAdmin 是一个B/S架构的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。我们可以使用容器来运行phpmyadmin,官方镜像地址:https://hub.docker.com/r/phpmyadmin/phpmyadmin

执行命令如下:

docker run --name myadmin `--link mysql:db `-e MYSQL_ROOT_PASSWORD=123456 `-p 8080:80 `-d phpmyadmin/phpmyadmin

如上述命令所示,我们运行了一个phpmyadmin容器实例,其中MySQL的“root”账户密码为“123456”。运行成功后,就可以访问“http://localhost:8080/”以进入以下管理界面(登录账户和密码分别为“root”、“123456”):

管理功能很强大,非常值得推荐。

 

往期内容链接

Docker最全教程——从理论到实战(一)

Docker最全教程——从理论到实战(二)

Docker最全教程——从理论到实战(三)

Docker最全教程——从理论到实战(四)

Docker最全教程——从理论到实战(五)

Docker最全教程——从理论到实战(六)

Docker最全教程——从理论到实战(七)

Docker最全教程——从理论到实战(八)

Docker最全教程之使用Tencent Hub来完成CI(九)

Docker最全教程——数据库容器化(十)

Docker最全教程——数据库容器化之持久保存数据(十一)

Docker最全教程——MongoDB容器化(十二)

Docker最全教程——Redis容器化以及排行榜实战(十三)

Docker最全教程之Ubuntu下安装Docker(十四)

Docker最全教程之树莓派和Docker(十五)

Docker最全教程之使用TeamCity来完成内部CI、CD流程(十六)

Docker最全教程之使用Docker搭建Java开发环境(十七)

Docker最全教程之Go实战,墙裂推荐(十八)

Docker最全教程之使用.NET Core推送钉钉消息(十九)

Docker最全教程之使用 Visual Studio Code玩转Docker(二十)

Docker最全教程之Python爬网实战(二十一)

Docker最全教程之使用PHP搭建个人博客站点(二十二)

Docker最全教程之使用Node.js搭建团队技术文档站(二十三)

posted on 2019-06-11 12:51 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/11003006.html

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

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

相关文章

CODING 受邀参加《腾讯全球数字生态大会》

近日,腾讯全年最重要的一场活动——《腾讯全球数字生态大会》于昆明滇池国际会展中心正式举办。此次全球数字生态大会是腾讯战略升级后,整合互联网数字经济峰会、云未来峰会、腾讯全球合作伙伴三大行业大会,全新升级打造的行业创新大会。大会…

解决 dockerfile 构建镜像报错: [WARNING]: Empty continuation lines will become errors in a future release.

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 只是想自己写个 dockerfile 用 docker 来部署 rocketmq 的服务。 dockerfile 中要运行多行命令 于是我写成 RUN 命令a \&&…

第二章:08运算符[比较运算符]

①比较运算符②实例/* 运算符之三&#xff1a;比较运算符 ! > < > < instanceof 结论&#xff1a; 1.比较运算符的结果是boolean类型 2.区分 和 */ class CompareTest { public static void main(String[] args) { int i 10; int j 20; System.out.pr…

Apache版本兼容性问题

Apache 版本2.2.31 版本对于谷歌浏览器不兼容、IE8版本可以正常使用 当使用了Apache 高版本的话就解决了 出现以下现象 转载于:https://www.cnblogs.com/tzhyy/p/10931084.html

王淮经验谈:我的码农原则

摘要&#xff1a;王淮是Facebook第二位中国籍工程师&#xff0c;也是第一位中国籍研发经理&#xff0c;他一手开创了Facebook的支付安全和客服工具领域。2011年他离开Facebook&#xff0c;回国成为天使投资人。本文是王淮以前写代码和做代码审查时候的一些原则&#xff0c;供大…

centos uwsgi自动调用python2环境,指定uwsgi调用版本

将自己开发好的django项目用uwsgi部署到Linux服务器、当运行uwsgi时出现了uwsgi选择python版本的问题。因为本机器是在原来的机器上安装了python3环境和pip3&#xff0c; 使用命令安装uwsgi: pip3 install uwsgi 一点问题也没有&#xff0c;使用uwsgi部署项目时 uwsgi --http :…

docker build Dockfile ---- RUN 中 cd 切换路径失败 的原因、解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 我只是想 直接切换到对应目录下 执行后续命令。 ​​​​​写法如下&#xff1a; FROM openjdk:8-jre-alpineMAINTAINER JiangYuRU…

米尔电子Zynq UltraScale MPSoC核心板资料介绍

米尔Zynq UltraScale MPSoC核心板&#xff08;MYC-CZU3EG&#xff09;是采用Xilinx新一代Zynq处理器。该核心板是业界最小尺寸Zynq UltraScale 核心板&#xff0c;采用16纳米制程&#xff0c;相比Znyq7000系列每瓦性能提升5倍&#xff0c;且单芯片融合4核心Cortex-A53&#xff…

幸福秘诀 男女必须要看哦

女人说&#xff1a;这一辈子最大的成功是什么?我认为是找到一个真正疼自己的老公,有了老公的支持才可以把事业做得有声有色,有一个幸福的家和一个可爱的宝宝。 男人说&#xff1a;我的成功是在我的人生之中&#xff0c;是妻子和我形影相随&#xff0c;朝夕相伴。她是我身边…

解决:If the number of processors is expected to increase from one, then you should configure the numbe

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 按官方说明用 docker 部署 rocketmq ,启动 broker 报错&#xff1a; OpenJDK 64-Bit Server VM warning: If the number of processo…

JAVA-缓存机制

本地缓存 继承AbstractBaseLocalCache&#xff0c;并实现相应的抽象方法&#xff1b;适用于单实例项目或不会经常变化的数据&#xff1b;代码示例&#xff1a;/*** 仓库信息缓存类*/ Service public class WarehouseCache extends AbstractBaseLocalCache<Long, Warehouse&g…

腾讯QQ团队开源分布式后台毫秒服务引擎全解析:引擎架构、RPC、灰度……

腾讯QQ团队将于12月4日开源一个服务开发运营框架&#xff0c;叫做毫秒服务引擎&#xff08;Mass Service Engine in Cluster&#xff0c;MSEC&#xff09;&#xff0c;它集RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、Key-Value存储于一体&#xff…

古代隐士如何忙衣食

三岁娃儿都晓得&#xff0c;吃饭穿衣是维持生命的基本条件&#xff0c;想潇洒地“旧山归隐浪摇青&#xff0c;绿鬓山童一帙经”&#xff0c;就得准备足够的柴米油盐。 所谓隐士&#xff0c;须得强调是“士”&#xff0c;即读书人。手无缚鸡之力&#xff0c;不仕就无俸禄&…

一个秘密

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 这是一个秘密&#xff0c; 一个不想说出来&#xff0c;却真实的秘密&#xff1a; --- --- 本来我不想说&#xff0c; 可是最近的一切…

程序员如何在大公司做管理

本文被记录的最大初衷在于从创业公司的CEO转变成阿里巴巴的一名开发专家&#xff0c;打心底触动了心灵最深处的一次学习经历&#xff0c;无论成长、挫折、困难、收获都烙在心里。 写文章的思路&#xff1a; 背景&#xff08;认清现状&#xff09;管理&#xff08;阐述自己的理解…

WebGL之物体选择

原文地址: WebGL之物体选择 使用WebGL将图形绘制到画布后&#xff0c;如何与外部进行交互&#xff1f;这其中最关键的就是如何实现物体的选择。比如鼠标点击后判断是否选中了某个图形或图形的某个部分。 本节实现的效果: WebGL选中物体 如何实现选中物体 颜色区分法 《WebGL编程…

中国历史上影响最大的10首诗

中国是诗歌的国度&#xff0c;有许多诗都有很大的影响。这里所谓影响“最大”(而不是“最好”)的十首诗&#xff0c;除了要写得好之外&#xff0c;还必须通俗易懂、易记。 第一首&#xff1a;李白的《静夜思》 床前明月光&#xff0c;疑是地上霜。 举头望明月&#xff0c;低头…

XML建模

建模分两步&#xff1a;1、以面向对象的编程思想&#xff0c;描述xml资源文件。 2、将xml文件中内容封装进model实体对象。 导入文件&#xff1a;config.xml <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE config[<!ELEMENT config (acti…

Docker 方式安装部署 rocketMQ 、部署 图形化界面控制台、rocketMQ 控制台

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 直接上官网&#xff0c;找到工程&#xff0c;clone 到本地&#xff0c;地址&#xff1a;https://github.com/apache/rocketmq-extern…

迭代器(iterator)

Date: 2019-05-23 Author: Sun 为何要引入迭代器&#xff1f; ​ 通过列表生成式&#xff0c;我们可以直接创建一个列表&#xff0c;但是&#xff0c;受到内存限制&#xff0c;列表容量肯定是有限的&#xff0c;而且创建一个包含100万个元素的列表&#xff0c;不仅占用很大的存…