前言

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

相关参数说明如下所示:

参数

描述

-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最全教程——从理论到实战(九)

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爬网实战(二十二)

使用PHP搭建个人博客站点

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

Docker最全教程之MySQL容器化 (二十五)相关推荐

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

    Docker最全教程之MySQL容器化 (二十四) 原文:Docker最全教程之MySQL容器化 (二十四) 前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过 ...

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

    Python目前是流行度增长最快的主流编程语言,也是第二大最受开发者喜爱的语言(参考Stack Overflow 2019开发者调查报告发布).笔者建议.NET.Java开发人员可以将Python发展 ...

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

    前言 与其他语言相比,Go非常值得推荐和学习,真香!为什么?主要是可以直接编译成机器代码(性能优越,体积非常小,可达10来M,见实践教程图片)而且设计良好,上手门槛低.本篇主要侧重于讲解了Go语言的优 ...

  4. Docker最全教程之Ubuntu下安装Docker(十五)

    前言 Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广.本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮 ...

  5. java+mysql性能优化_Java培训实战教程之mysql优化

    Java培训实战教程之mysql优化 更新时间:2015年12月29日13时30分 来源:传智播客Java培训学院 浏览次数: 1.   mysql引擎 1.1.  引擎类型 MySQL常用的存储引擎 ...

  6. 沙场秋点兵——MySQL容器化性能测试对比

    容器技术改变了应用交付.运行的方式,几乎各种Linux环境下的应用程序都可以使用容器来运行.但是否能在容器环境里运行数据库应用,以及数据库应用是否适合在容器里运行,一直都是大家很关注的问题,今天我们就 ...

  7. 叩丁狼—Java培训实战教程之mysql优化

    Java培训实战教程之mysql优化 Java培训过程中精点.难点知识解析 1. mysql引擎1.1. 引擎类型MySQL常用的存储引擎为MyISAM.InnoDB.MEMORY.MERGE,其中I ...

  8. mysql容器化后的缺点_沙场秋点兵——MySQL容器化性能测试对比

    容器技术改变了应用交付.运行的方式,几乎各种Linux环境下的应用程序都可以使用容器来运行.但是否能在容器环境里运行数据库应用,以及数据库应用是否适合在容器里运行,一直都是大家很关注的问题,今天我们就 ...

  9. 零基础带你学习MySQL—unique 唯一(二十五)

    零基础带你学习MySQL-unique 唯一(二十五) unqiue 使用细节 如果没有指定 not null 则 unique 字段可以有多个 null 如果一个列(字段) 是 unique not ...

最新文章

  1. SQL Server 中 sysobjects表
  2. python自带模块连接数据库_Python模块Sqlite数据库模块
  3. SharePoint 2013/2010 中的日历重合 (Calendars Overlay)
  4. node.js初步探究
  5. Python 堡垒机介绍
  6. uva111346Probability
  7. smpp客户端_SMPP Java示例(客户端)
  8. mysql timestamp类型比较_MySQL timestamp 类型比较的测试
  9. TopFreeTheme精选免费模板【20130704】
  10. 什么叫做石英表_什么是石英表 石英表是什么意思
  11. 【FLink】Flink checkpoint 实现数据连续计算 恢复机制 拓扑图 变化 如何处理
  12. jquery 时间相减获取天数_Js中处理日期加减天数
  13. 刷《剑指offer》笔记
  14. delete postman 传参_Postman高级应用——串行传参和动态传参详解
  15. 渗透测试的种类(黑白盒)、脆弱性评估、OWASP Top 10、PTES-渗透测试执行标准
  16. 台式计算机主板,主板天梯图2020 热门台式机电脑主板排行榜
  17. 37.大数据之旅——网站流量统计项目
  18. 使用js获得26个英文字母
  19. 基于珠宝行业的RFID资产管理解决方案-新导智能
  20. 机器学习(周志华著)习题 第03章 线性模型

热门文章

  1. android启用hdcp_如何在Android上启用优先收件箱(和设置仅重要通知)
  2. mysql时间字段条件查询_mysql 查询 时间作为查询条件
  3. 一篇年薪60万的JVM性能调优文章
  4. Beyond Compare中插入表格数据的教程
  5. ubuntu,kali linux和windows三系统流水账——写给自己
  6. zabbix JMX监控 tomcat
  7. Linux IPC实践(6) --System V消息队列(3)
  8. SUSE10下配置FTP服务
  9. .NET6 如期⽽⾄
  10. NET问答: 如何集中化统一验证 Authorization