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

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

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

    前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角度进行总结和编写. 目录 镜像说明  运行MySQL容器镜像  1.运行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. Docker系列(二十四)——Docker实例六Docker安装Redis实例

    < Docker实例三Docker安装Redis实例 > 前言 在前面一篇文章种,完成了 < Docker安装MongoDB实例 >,本篇将继续镜像安装教程,并完成Docker ...

最新文章

  1. FastReport 导出pdf时中文乱码的解决办法
  2. ImportError: No module named _sqlite3 报错解决方法
  3. Android版本dp,Android中sp和dp区别
  4. java 革命_JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)
  5. [css] 什么是zoom?它有什么作用?
  6. 归并排序,我举个例子你就看懂了
  7. Modal View Controllers, Not Model-View-Controller(MVC)
  8. godaddy虚拟主机access数据库中文乱码的解决方法
  9. 安卓手机免root修改hosts文件
  10. Java代码审计: ClassLoader应用
  11. WinRunner和QTP对比
  12. HTML5期末大作业:网站——餐饮网页设计(HTML+CSS+JS)
  13. 阿里第九版Java系统架构师+应用架构师面试突击宝典
  14. php银行卡号查询接口,银行卡归属地查询
  15. 贡献度分析--帕累托图
  16. Express 介绍
  17. python爬虫程序
  18. 《黑匣子思维:我们如何更理性地犯错》iphone部分
  19. Linux 下 N 卡 GPU 测试
  20. 大锤老湿教您如何配置TP-Link路由器组建wifi上网

热门文章

  1. Coding Pages 申请 SSL 证书错误:urn:acme:error:unauthorized: Invalid response from http://xxxxx/
  2. 【LeetCode - 42. 接雨水】
  3. *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
  4. 【CodeForces - 833A】The Meaningless Game(思维题,数学,可用牛顿迭代法,知识点总结)
  5. c语言煎饼问题算法,C煎饼分类程序?
  6. 计算机网络的定义功能和分类,计算机网络的定义和分类.ppt
  7. Linux学习:第一章-Linux简介
  8. 工业炉温度计算机控制系统,热处理工业炉计算机控制系统组态王+PLC)
  9. linux go 安装路径,在Alpine Linux D的路径中找不到已安装的Go二进制文件
  10. Android入门(10)| Fragment碎片详解