docker学习4-docker安装mysql环境
前言
docker安装mysql环境非常方便,简单的几步操作就可以了
拉取mysql镜像
先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tab=tags
我这里选择mysql:5.7标签
[root@yoyo ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
fc7181108d40: Already exists
787a24c80112: Already exists
a08cb039d3cd: Already exists
4f7d35eb5394: Already exists
5aa21f895d95: Already exists
a742e211b7a2: Pull complete
0163805ad937: Pull complete
62d0ebcbfc71: Pull complete
559856d01c93: Pull complete
c849d5f46e83: Pull complete
f114c210789a: Pull complete
Digest: sha256:c3594c6528b31c6222ba426d836600abd45f554d078ef661d3c882604c70ad0a
Status: Downloaded newer image for mysql:5.7
docker images查看已经下载成功
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos                     v7.5                254d4dfe9df7        3 days ago          200MB
mysql                      5.7                 a1aa4f76fab9        2 weeks ago         373MB
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MB
centos                     centos7.5.1804      cf49811e3cdb        3 months ago        200MB
ubuntu                     15.10               9b9cb95443b5        2 years ago         137MB
training/webapp            latest              6fae60ef3446        4 years ago         349MB
[root@yoyo ~]#
配置mysql
创建mysql目录,用于存放mysql相关配置及数据
- mkdir : 如果存在上级目录不存在的情况,会无法创建下级目录, 会提出ERROR
 - mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
 - ~ : ”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。
而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a 
mkdir -p ~/yoyo/mysql/conf ~/yoyo/mysql/data ~/yoyo/mysql/logs
创建完成后,在当前用户的home目录(root用户在root目录),会有三个文件夹
[root@yoyo ~]# mkdir -p ~/yoyo/mysql/conf ~/yoyo/mysql/data ~/yoyo/mysql/logs
[root@yoyo mysql]# ll ~/yoyo/mysql
total 12
drwxr-xr-x 2 root root 4096 Jun 30 10:31 conf
drwxr-xr-x 2 root root 4096 Jun 30 10:31 data
drwxr-xr-x 2 root root 4096 Jun 30 10:31 logs
运行mysql容器
docker run -p 3309:3306 --name yoyomysql -v ~/yoyo/mysql/conf:/etc/mysql/conf.d -v ~/yoyo/mysql/logs:/logs -v ~/yoyo/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令说明:
- --name 重命名yoyomysql
 - -p 3309:3306:将容器的 3306 端口映射到主机的 3309 端口。
 - -v -v /yoyo/mysql/conf:/etc/mysql/conf.d:将主机/yoyo/mysql/conf 挂载到容器的 /etc/mysql/my.cnf。
 - -v /yoyo/mysql/logs:/logs:将主机/yoyo/mysql 目录挂载到容器的 /logs。
 - -v ~/yoyo/mysql/data:/var/lib/mysql :将主机~/yoyo/mysql/data目录挂载到容器的 /var/lib/mysql 。
 - -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
 - -d 挂后台运行
 
启动完成后,查看运行状态
[root@yoyo mysql]# docker run -p 3309:3306 --name yoyomysql -v ~/yoyo/mysql/conf:/etc/mysql/conf.d -v ~/yoyo/mysql/logs:/logs -v ~/yoyo/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
581137afbd3ba22dc02bf89d3ec1afb6e51d55eed0d99a3a4a979bdee8d5de4a
[root@yoyo ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
581137afbd3b        mysql:5.7           "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes       33060/tcp, 0.0.0.0:3309->3306/tcp   yoyomysql
查看~/yoyo/mysql/data目录会看到有数据
[root@yoyo ~]# ll ~/yoyo/mysql/data/
total 188476
-rw-r----- 1 polkitd ssh_keys       56 Jun 30 10:38 auto.cnf
-rw------- 1 polkitd ssh_keys     1679 Jun 30 10:38 ca-key.pem
-rw-r--r-- 1 polkitd ssh_keys     1107 Jun 30 10:38 ca.pem
-rw-r--r-- 1 polkitd ssh_keys     1107 Jun 30 10:38 client-cert.pem
-rw------- 1 polkitd ssh_keys     1675 Jun 30 10:38 client-key.pem
-rw-r----- 1 polkitd ssh_keys     1340 Jun 30 10:38 ib_buffer_pool
-rw-r----- 1 polkitd ssh_keys 79691776 Jun 30 10:38 ibdata1
-rw-r----- 1 polkitd ssh_keys 50331648 Jun 30 10:38 ib_logfile0
-rw-r----- 1 polkitd ssh_keys 50331648 Jun 30 10:38 ib_logfile1
-rw-r----- 1 polkitd ssh_keys 12582912 Jun 30 10:38 ibtmp1
drwxr-x--- 2 polkitd ssh_keys     4096 Jun 30 10:38 mysql
drwxr-x--- 2 polkitd ssh_keys     4096 Jun 30 10:38 performance_schema
-rw------- 1 polkitd ssh_keys     1679 Jun 30 10:38 private_key.pem
-rw-r--r-- 1 polkitd ssh_keys      451 Jun 30 10:38 public_key.pem
-rw-r--r-- 1 polkitd ssh_keys     1107 Jun 30 10:38 server-cert.pem
-rw------- 1 polkitd ssh_keys     1675 Jun 30 10:38 server-key.pem
drwxr-x--- 2 polkitd ssh_keys    12288 Jun 30 10:38 sys
进入容器bash
输入docker exec -it mysql bash进入容器bash,接着输入mysql -uroot -p输入root用户密码123456进入mysql
[root@yoyo data]# docker exec -i -t yoyomysql bash
root@581137afbd3b:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, 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> 
进入mysql之后所有指令结尾都需要 ;
- show databases; 查看所有的库
 - use 某个数据库, 如 use mysql;
 - select 查询语句;
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host, user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
4 rows in set (0.00 sec)
mysql> exit
Bye
root@581137afbd3b:/# exit
exit
退出mysql和容器用exit
连接mysql测试

python接口QQ群:717225969
docker学习4-docker安装mysql环境的更多相关文章
- Docker学习:Docker安装和基本使用
		
Docker Docek是一种容器技术.容器是一种轻量级.可移植.自打包的软件技术,使应用程序可以在几乎任何地方以相同的方式运行. 使用者可以在笔记本上创建并测试好的容器,无需任何修改就能够在生产系统 ...
 - Docker学习笔记 — Docker私有仓库搭建
		
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
 - Docker学习之Docker容器基本使用
		
Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...
 - Docker学习之Docker镜像基本使用
		
Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 例如: docker pull ...
 - Docker学习实践 - Docker安装MySql数据库
		
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
 - docker学习1-CentOS 7安装docker环境
		
前言 Docker 提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D ...
 - Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
		
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
 - Docker从入门到安装MySQL
		
Docker 的简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...
 - Docker快速搭建PHP+Nginx+Mysql环境(https://notemi.cn/docker-quickly-set-up-php-nginx-mysql-environment.html)
		
目录 1 · 目标 2 · 安装Docker 3 · 创建资源文件夹 4 · 部署Mysql · 1. 拉取镜像 · 2. 运行容器 · 3. 进入容器 · 4. 开启Mysql远程连接 5 · 部署 ...
 
随机推荐
- jeecg 模糊查询
			
1.前言 jeecg 考虑到默认模糊查询的话,会增加系统压力,导致查询慢,本来系统就挺那啥的... 2.方式一之实体赋值 实体重新赋值查询,用 * %% * 实现,我们知道 sql 中通常使用 % 去 ...
 - RabbitMQ 从入门到精通 (一)
			
目录 1. 初识RabbitMQ 2. AMQP 3.RabbitMQ的极速入门 4. Exchange(交换机)详解 4.1 Direct Exchange 4.2 Topic Exchange 4 ...
 - Ant Design 学习记录
			
遇到的问题: 点击列表中的一个字段 , 显示出一条指定id(其他筛选条件的)数据 解决这个问题之前,要先了解 Antd的 Table中的 Column 列描述数据对象,是 columns 中的一项 ...
 - Postgres-XL集群ERROR :Failed to get pooled connections原因说明
			
集群说明 6台服务器.其中1台(rt67-1)运行GTM,其余5台均运行1个GTM_PROXY.1个Coordinator node.3个Data node.每个服务器连接到3组网络中,每个Data ...
 - linux 把nginx加入到系统服务的方法
			
linux 把nginx加入到系统服务的方法一.首先写一个shell脚本,脚本名称:nginx<pre>#! /bin/bash# chkconfig: 35 85 15 # descri ...
 - [Linux] 在 Ubuntu 19.10 上开启 SSH 服务并允许远程登录
			
在 Ubuntu 19.10 上安装 SSH,并开启服务 0.检查并确认系统当前是否已安装SSH: sudo ps -e | grep ssh 如果只有 ssh-agent 说明 ssh-server ...
 - js中基本包装类型详情
			
基本包装类型 基本包装类型有Boolean,Number和string类型,每当读取一个基本类型值时,后台就会创建一个对应的基本包装类型对象. 从逻辑上,基本类型值不是对象,没有方法,但从技术上来看, ...
 - 关于使用KubeSphere中的docker配置Harbor仓库http访问docker login登陆报错的解决办法
			
# 先进入harbor目录中,停止harbor docker-compose stop # 然后修改docker相关文件 # 第一种方式:修改/etc/docker/daemon.json { &qu ...
 - 引用和自包含令牌(Reference Tokens and Introspection)
			
访问令牌可以有两种形式:自包含的和引用的. 自包含令牌(Self-contained tokens): 使用受保护的.有时间限制的数据结构,该结构包含元数据,并声明通过网络传递用户或客户机的身份.一种 ...
 - HUAWEI,H3C 三层交换机 常用命令
			
<HUAWEI> display ip interface brief,命令全局模式下可以查看所有端口下的ip地址及物理状态display this interface,命令用来显示当前接 ...