MySQL学习2 使用docker建立mysql服务

在centos 7的服务器上运行

yum install docker

安装完docker后,运行

service docker start 启动docker

由于公司的服务器连接dockerhub一直有些问题,估计是gfw导致的,所以只能下载一个国内的镜像

https://hub.tenxcloud.com/ 大家可以到时速云搜索自己需要的image

我选择了star最高的一个mysql的镜像

使用以下命令将mysql的image下载到了本地

docker pull index.tenxcloud.com/tenxcloud/mysql

完成后,在本地可以使用docker images查看镜像

镜像完成下载后,现在可以在本地将docker镜像拉起来了

在时速云上也有详细的启动docker的命令可查看

可参考这个url

https://hub.tenxcloud.com/repos/tenxcloud/mysql

但是教程上写的启动命令是

docker run -d -p 3306:3306 tutum/mysql

但是不能直接执行,

具体的命令如下,需要将镜像地址改成你之前在本地docker images后显示的地址

是因为,时速云上这个image是tutum/mysql 的国内镜像,如果我们在本地使用,

不能直接执行这个(时速云也够偷懒的,估计是直接抄dockerhub过来,也不注释一下)

docker run -d -p 3306:3306 index.tenxcloud.com/tenxcloud/mysql

解释一下命令,-d 是后台运行,-p 是将容器内的3306端口映射到docker host的3306端口, 举个栗子,如果你的docker host主机的ip是192.168.0.1 那么你从其他的服务器上访问运行在192.168.0.1上的这个mysql的docker服务,只需要访问192.168.0.1:3306即可。

运行完成后,可以使用docker ps查看docker的运行状态

可以看到使用index.tenxcloud.com/tenxcloud/mysql的镜像启动了一个contatner id为20c1b8a3ad3a的容器(请忽略启动时间,这个容器我是从我测试环境直接截图的),names是系统随机给的

现在容器启动起来了,我们可以在外部使用mysql workbench连接这个mysql服务,或者进入到容器内,使用mysql命令进行一些操作

我们先使用docker exec命令进入到这个容器内,具体命令格式如下

docker exec –it 容器id  /bin/bash

其中it 是指启用交互模式 , /bin/bash是进入后使用bash

进入容器后,显示如下终端提示,其中@后是容器id号,在容器里可以执行大多的linux命令

运行mysql命令

运行SHOW DATABASES;

可以看到这台mysql服务器里所建立的库了。

我们再试一下使用mysql workbench连接数据库

先安装完mysql workbench,使用mysql workbench 连接mysql会发现,不知道mysql的admin账号是什么

我们再回到https://hub.tenxcloud.com/repos/tenxcloud/mysql 上面详细写了初始账号的信息

用户名是admin,但是密码是随机的。我们需要通过docker logs去查看这个密码

我们使用docker logs 容器id号 查看容器的日志,密码出现在日志里。

我们使用admin和日志里查到的密码连接mysql库

妥妥的连上了,建库建表啥的都可以在图形界面下完成。

docker 版本的mysql基本可以使用了。

时间: 2024-12-22 13:57:44

MySQL学习2 使用docker建立mysql服务的相关文章

MySQL学习笔记之九:MySQL Replication

Mysql内建的复制功能是构建大型.高性能应用程序的基础.复制功能不仅有利于构建高性能的应用,同时也是高可用性.可扩展性.灾难恢复.备份以及数据仓库等工作的基础. 一.复制概述 1.复制的功用 数据分布.负载均衡.备份.高可用性.MySQL升级测试 2.复制的工作原理 ①主库把数据更改记录到二进制日志(binary log)中 ②备库将主库的二进制日志复制到本地的中继日志(relay log)中.首先,备库会启动一个I/O线程,跟主库建立一个普通的客户端连接,然后在主库上启动一个特殊的二进制转储

mysql学习笔记(七)—— MySQL内连接和外连接

    MySQL内连接(inner join on) MySQL的内连接使用inner join on,它的效果跟使用where是一样的,如果联结的是两个表,那么需要左右的条件或者说字段是需要完全匹配的. 来看个例子:有两张表customers客户表和orders订单表,外键是cust_id,我们需要知道哪些客户有订单 select customers.cust_id,orders.order_num from customers , orders where customers.cust_i

MySQL学习(一)——启动和登录MySql遇到的问题及解决

1.MySQL使用命令行启动时报错"发生系统错误 5",如下: 原因:未用管理员身份运行cmd程序 解决方案:在开始菜单里找到命令提示符,右击选择以管理员身份运行 2.登录时报错"提示mysql不是内部或外部命令,也不是可运行的程序或批处理文件" 解决方案:配置环境变量(右击我的电脑->高级系统设置->环境变量,选择Mysql安装的目录,在Mysql安装的目录中找到bin目录,把此路径复制.选择系统中的path->编辑->把刚复制的路径添加进

【大白话系列】MySQL 学习总结 之 初步了解 MySQL 的架构设计

一.MySQL还是个黑盒子 我们都知道,只要我们系统引入了 MySQL 驱动和连接池,就能从数据库连接池获取一个数据库连接,然后就可以执行增删改查的操作了. 可是我们并不知道 MySQL 里面是怎么执行的,例如我们执行了 insert 语句,只知道表里面多了一条数据,MySQL 是怎么插入的我们就不知道了. 二.解开 MySQL 这个黑盒子 1.一条工作线程: 举例: 我们都知道,在 Socket 编程里,ServerSocket 会有一条线程负责监听 Socket 发送过来的网络请求,并且负责

使用 Docker 建立 Mysql 集群

软件环境介绍操作系统:Ubuntu server 64bit 14.04.1Docker 版本 1.6.2数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后创建的分支,性能上优于 MySQL 开源版本)第一步 安装 Docker对于 Ubuntu,建议直接联网安装 Docker 最新版本,apt-get 中版本较老.首先获取安装脚本:wget https://get.docker.com下下来的虽然名字是 index.html,但

mysql学习笔记(二)--- MySQL数据类型

[正文] 上一章节中,我们学习了MySQL软件的安装,既然软件都装好了,现在就正式开始MySQL的基础知识的学习吧,即使是零基础,也要一步一个脚印.恩,首先要学习的就是MySQL的数据类型. 一.数据类型: 1.整型(xxxint) 2.浮点型(float和double) 3.定点数(decimal) 4.字符串(char,varchar,xxxtext) 5.二进制数据(xxxBlob) 6.日期时间类型 二.数据类型介绍: 1.整型: 注:M表示最大的显示宽度.其中,int用的最多. 2.浮

MYSQL学习笔记——数据库范式及MYSQL优化整体思路

一.数据库范式                                                                               为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范式. 1.1.第一范式(1NF:每一列不可包含多个值)      所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列

MySQL学习笔记(六)—— MySQL自连接

有的时候我们需要对同一表中的数据进行多次检索,这个时候我们可以使用之前学习过的子查询,先查询出需要的数据,再进行一次检索. 例如:一张products表,有产品id,供应商id(vend_id),产品名称等等. mysql> select * from products; +---------+---------+-----------+------------+-----------+ | prod_id | vend_id | prod_name | prod_price | prod_de

MySQL学习笔记之中的一个 MySQL入门

本人之前接触的关系型数据库主要是oracle和sqlserver,而对于mysql知之甚少,但查阅网上资料发现,mysql与oracle非常相似,所以学起来应该不会非常费劲,在总结的时候可能很多其它的把关注点放在它与oracle的不同之处. 一.简单介绍 MySQL是一个真正的多用户.多线程SQL数据库server.SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言.MySQL是一个client/server结构的实现, 它由一个server守护程序mysqld和非常多不同的客户程序和