docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

[Docker] Docker 快速搭建本地MySQL开发环境

关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解。今天着重给大家介绍下如何利用Docker快速搭建一个MySQL的环境,来协助本地开发。

@TOC

手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博客发布地址。

平台地址CSDN

https://blog.csdn.net/sinat_28690417

简书

https://www.jianshu.com/u/3032cc862300

个人博客

https://yiyuery.club


优点
  • 本地 Docker 服务关闭的情况下Mysql不会消耗系统资源。
  • 除了MySQL,其他如mongoDBredis等环境也可以快速搭建。
  • 操作简单,无需关注安装细节

准备工作

基于本地已安装Docker环境
  • 拉取mysql镜像 docker pull mysql
  • 查看镜像 docker images
  • 启动镜像
docker run -d -p 3306:3306  -e MYSQL_ROOT_PASSWORD=Abc123++ --name local-mysql mysql
  • 进入容器
docker exec -it local-mysql bash
  • 容器内访问mysql
xiazhaoyangdeMacBook-Pro:~ xiazhaoyang$ docker exec -it local-mysql bash
root@740c4c4cc520:/# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root@740c4c4cc520:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 11061
Server version: 8.0.12 MySQL Community Server - GPLCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.02 sec)
  • 启动多个 MySQL 镜像实例
xiazhaoyangdeMacBook-Pro:~ xiazhaoyang$ docker run --name first-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql --restart always
45ce0503801c56329dd81dbff284c9fd9c68651a753aa2fe5692286015e45440
xiazhaoyangdeMacBook-Pro:~ xiazhaoyang$ docker ps
CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS                   PORTS                                             NAMES
45ce0503801c        mysql                                     "docker-entrypoint.s…"   19 seconds ago      Up 9 seconds             0.0.0.0:3306->3306/tcp                            first-mysql
afa81500ead9        127.0.0.1:5000/com.msa/msa-api-hello:11   "/bin/sh -c 'java -j…"   3 weeks ago         Up 3 weeks               0.0.0.0:8101->8080/tcp
  • 容器重启

查看当前镜像列表 docker container ls -a

c69969c9709ec359a255104e231170c7.png

重启容器docker restart [镜像ID]

92622145c117d3e9d3fb0ffcb1695ae0.png

查看运行状态

6fe531f5a88ac6d0ddbb991cb49379f2.png

MySQL 命令行操作

进入容器 docker exec -it local-mysql bash

48a8e6f35e6bff9cc0e7304385aa0024.png
查询当前数据库

select database();

查看当前状态 status;

4978f11a915b0e2500740feb93984787.png
查看当前数据库表 show tables;

61cbb308321c666de481fa946434323f.png
创建数据库
CREATE DATABASE `db_capsule` CHARACTER SET utf8 COLLATE utf8_general_ci;

769965dfc0499b0fe4beb1510068a891.png
切换数据库

4977fc58b107c039ea6dcbb5865a1655.png

e05abf66bd5a70f6da232b7e618462e0.png
开发环境连接

ad863db8c6058323637c6bfb2abbb58a.png

b7ff31b56af3e97c3c768b4d25a7f398.png

接下来就可以直接开始MySQL的使用了,是不是很简单?

总结

本文通过利用Docker容器化封装的能力,将含有mysql的镜像直接从仓库拉取下来后,通过命令行运行,并将指定端口映射到本地。然后本地开发的时候,并不需要去关注mysql的配置和安装了,简单来说,就是查询镜像、拉取镜像、运行镜像。简单的三部操作就可以拥有一个配置好的mysql环境了。

REFERENCES

  1. Mysql Docker官方镜像
  2. IntelliJ IDEA 访问数据库
  3. mysql 菜鸟教程
  4. MySQL 安装 菜鸟教程

更多

扫码关注“架构探险之道”,回复源码,获取本文源码

0e8b99c5890ce24e557200657731ca2e.png
知识星球(扫码加入获取历史源码和文章资源链接)

795cc1b8eecd905cec614a29b54f5d97.png

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

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

相关文章

centos7安装DHCP服务器

1检查防火墙和selinux(关闭) 关闭防火墙和selinux,这边不多说 2检查DHCP状态 3安装DHCP软件包 4把系统默认的样例复制 5修改配置文件 option domain-name “example.org”; --DNS域名 option domain-name-servers ns1.example.org, ns2.…

python装饰器解析_Python 装饰器解析

一、装饰器定义:本质是函数,(装饰其他函数)就是为其他函数添加附加功能 二、装饰器的作用:在不改变原函数的情况下,为原函数前后添加新的功能 三、装饰器的原则: 1、不能修改被装饰的函数的源代…

odbc远程连接mysql_无法使用unixodbc,libmyodbc连接到远程mysql服务器

我在这方面有点绿,我希望我遇到的问题很简单……编辑:底部的新信息我需要连接到远程mysql(Amazon RDS)数据库.在完成一些教程之后,我在客户端上安装并配置了unixodbc和libmyodbc,但是当我尝试通过isql连接时,我收到错误[08S01][unixODBC][MySQL][ODBC 5.1 Driver]Ca…

centos7网卡识别不到,无法远程工具连接

这是在安装dhcp的时候遇到的问题,远程工具连接不上了。没IP地址没得玩 解决办法 直接在虚拟机打开终端,找到配置文件ifcfg-ens33 TYPE“Ethernet” PROXY_METHOD“none” BROWSER_ONLY“static”----原先的dhcp换成static BOOTPROTO“no” DEFROUTE“ye…

Python_面向对象_zipfile和tarfile

#python压缩解压模块: zipfile tarfile#--zipfile模块   后缀为zip zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) *ZipFile(路径包名,模式,压缩or打包,可选allowZip64) 功能:创建一个ZipFile对象,表示一个zip文件.参数: -参数file表…

python爬虫脚本ie=utf-8_Python反爬虫伪装浏览器进行爬虫

对于爬虫中部分网站设置了请求次数过多后会封杀ip,现在模拟浏览器进行爬虫,也就是说让服务器认识到访问他的是真正的浏览器而不是机器操作 简单的直接添加请求头,将浏览器的信息在请求数据时传入: 打开浏览器--打开开发者模式--请…

python unittest生成html报告_python unittest--HTMLTestRunner生成报告

同一个目录下test1.pyimport unittestclass test1(unittest.TestCase):u"类1的测试用例"def test1(self):u"测试用例1"print "test001lalala"def test2(self):u"测试用例2"print "test002hahaha"test2.pyimport unittestcla…

centos7加入第二块网卡无法识别

本来是做DHCP服务加一块网卡的,然后识别不出来,没得玩 centos7加入第二块网卡无法识别 1发现只有一块网卡 2使用nmcli con show命令,查看网卡的UUID信息,记下UUID值 3启动networkManager’ 4识别 5使用ip addr命令查看网卡信息…

Redis学习笔记(五) 总结

为什么使用redis 改善性能。当大SQL执行耗时久,且结果不频繁变动,就特别适合将运行结果放入缓存,后面的请求从缓存中读取,使得请求能够迅速响应 缓解并发压力。大并发下,所有请求都是直接访问数据库的&a…

hbase 导入mysql_HBase导入SQL Server数据库数据

在先前的几篇随笔中已经介绍了Hadoop、Zookeeper、Hbase的分布式框架搭建方案,目前已经搭建完成了一个包含11个节点的分布式集群。而对于HBase数据库的使用仅限于测试性质的增删改查指令,为了进一步熟悉分布式框架的使用,本文介绍将已有的数据…

googlenet网络结构_CNN网络结构的发展

 CNN基本部件介绍,1. 局部感受野在图像中局部像素之间的联系较为紧密,而距离较远的像素联系相对较弱。因此,其实每个神经元没必要对图像全局进行感知,只需要感知局部信息,然后在更高层局部信息综合起来即可得到全局信…

linux数据库mysql的安装

1数据库文件放到opt下面 2赋予权限775 3运行脚本 4运行成功 5数据库操作 密码修改并刷新 权限修改,允许外部设备访问 6工具连接 7附录 1、显示当前数据库服务器中的数据库列表:   mysql> SHOW DATABASES;   2、建立数据库:   …

智能优化算法应用:基于侏儒猫鼬算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于侏儒猫鼬算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于侏儒猫鼬算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.侏儒猫鼬算法4.实验参数设定5.算法结果6.…

偏函数 匿名函数 高阶函数 map filter reduce

# 偏函数 创建一个新的函数,指定我们要使用的函数的某个参数为固定的值,这个新函数就是偏函数 def test(a, b, c, d1):print(a b c d)from functools import partial # 使用偏函数必须导入此模块newFunc partial(test, c5) # newFunc为偏函数&…

Centos7中Memcached安装使用说明

安装编译libevent tar -zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure --prefix/usr 配置报错,不着急,安装gcc试试 可以了 make make install 测试libevent是否安装成功 ls -al /usr/lib|grep libevent 安装成功 2.编译…

mysql-plus多数据库_Springboot+mybatisplus+mysql配置多数据源(注解版)

1、添加依赖,最关键的两个依赖是后面两个"druid依赖"和"配置动态数据源"(已标红),其他"非主要"依赖可按自身实际开发环境进行选择。org.springframework.bootspring-boot-starter-jdbcorg.springframework.bootspring-boo…

python用cmd运行失败_解决python在cmd运行时导入包失败,出现错误信息 ModuleNotFoundError: No module named ***...

1.下图为我的自动化测试工程结构图我通过运行run.bat批处理文件,调用cmd控制台运行start_run.py来开始我的自动化测试,但是出现如下错误:大家可能知道我们的工程在IDE(Pycharm)中运行和我们在cmd中运行的路径是不一样的&#xff0…

Centos7jdk安装

2.1查看现有JDK #rpm -qa|grep jdk (如果有其他版本的JDK建议卸载) 卸载其他版本的JDK命令 #yum –y remove java-1.6.0 #yum –y remov java* 重新安装(安装需要的JDK版本) #chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin安装…

java自学 day8

Map Map初始化 Map<String, String> map new HashMap<String, String>(); 添加数据 map.put("key1", "value1"); 删除数据 map.remove("key1"); 获取数据 map.get("key1"); 清空map map.clear(); 使用keySet()遍历 for (…

python怎么读取github_六行代码获取Github排名前10的Python项目

六行代码获取Github排名前10的Python项目Github开放了不少API。下面是对这些API的一个使用。# 获取返回信息import requests as rurl"https://api.github.com/search/repositories?qlanguage:python&sort"import jsonLjson.loads(r.get(url).text)for item in L…