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 3308: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 -ADatabase 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测试

1070438-20190630120613792-2037074425.png

python接口QQ群:717225969

转载于:https://www.cnblogs.com/yoyoketang/p/11108971.html

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

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

相关文章

数据结构之顺序表(二)

这是接着之前的剩下来的部分&#xff1a; #include <stdlib.h> #include "SeqList.h" #include <stdio.h>SeqList *Create_List() {//创建一个顺序表SeqList* s (SeqList*)malloc(sizeof(SeqList)/sizeof(char));if (NULL s){return NULL;}//初始化顺…

Dynamics CRM 2015 站点地图公告配置实体显示名称的变更

CRM更新2015后&#xff0c;在设置里找不到公告配置了 在原来的位置上你会东西一个叫活动源配置的东西&#xff0c;点开看后就是原来的公告配置。 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 转载于:https://www.cnblogs.com/VicTang/p/4799531…

解决:liunx 光标消失(显示光标)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 2个命令可以管控光标&#xff1a; 隐藏光标 &#xff1a; echo -e "\033[?25l" 显示光标 &#xff1a; echo -e "\0…

科​目​三​路​考​操​作​步​骤

科目三路考操作步骤 一、起步前五大操作顺序&#xff1a; 1.检查手制动是否拉紧 2.踩下离合器踏板&#xff0c;挂空挡 3.开汽车电源 4.轻踩油门&#xff08;电喷车不需要&#xff09;&#xff0c;接通马达 5.发动后&#xff0c;手马上离开 二、起步顺序6个步骤&…

漫谈微服务架构:什么是Spring Cloud,为何要选择Spring Cloud

Spring Cloud是基于Spring Boot的&#xff0c;因此还在使用SpringMVC的同学要先了解Spring Boot。先上一段官话&#xff0c;Spring Cloud是一个基于Spring Boot实现的云应用开发工具&#xff0c;它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、…

数据结构之头指针链表de三种插入方式(头插法,尾插法,在pos处插入)

1、头插法&#xff1a; 流程&#xff1a;1 &#xff0c;判断传入数据是否正确 2&#xff0c;如果正确则创建一个新的节点&#xff0c;并判断节点是否创建成功 3&#xff0c;然后给节点成员变量赋值 4&#xff0c;最后让新节点变为链表的第一个节点。 代码实现: // 链表的头插…

c# 科学计数法值转换成正常值,返回字符串

/// <summary>/// 科学计数法值转换成正常值/// </summary>/// <param name"value"></param>/// <returns></returns>public string ValueScientificNotationConvert(JToken value){if (value null) return "";var …

使用 Docker 部署 Node 服务

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 前言   Docker 是一个开源的容器引擎。开发者可以将自己的应用以及依赖打包为一个可移植的容器&#xff0c;然后发布到 Linux 机器上。…

科目三电子考的通过率普遍偏低

据调查&#xff0c;科目三电子考的通过率普遍偏低&#xff0c;是学员们公认的最难考项目。今天小编要通过自己的所看所听分析科目三电子考通过率低的三大原因。 原因一&#xff1a;考生基本功不扎实 从历年来考试失败的理由中&#xff0c;可以发现&#xff0c;大多都出现上车、…

打印python包含汉字报SyntaxError: Non-ASCII character '\xe4' in file

因为本人主要使用Scala语言&#xff0c;但是之前同事包括老大都是使用python&#xff0c;加上python在spark的使用中的确越来越受欢迎&#xff0c;所以最近准备入坑python&#xff0c;但是装完写demo的时候出了问题&#xff0c;如下&#xff1a; 查了下发现&#xff0c;这是pyt…

数据结构之头指针链表的逆序、输出和指定位置的删除

头指针链表指定位置的删除 实现&#xff1a;1&#xff0c;先判断传入的数据是否正确&#xff0c;然后再判断是否为空表&#xff0c;最后判断pos的值是否满足题意 2&#xff0c;分删除位置为1和不为1讨论&#xff1a;为1时&#xff0c;直接将h指向第二个节点并释放第一个节点的…

软件包管理 之 fedora-rpmdevtools 工具介绍

作者&#xff1a;北南南北来自&#xff1a;LinuxSir.Org提要&#xff1a;fedora-rpmdevtools 是一款Fedora的RPM包的开发工具&#xff0c;用于Fedora Core 2.0 以上版本&#xff1b; 正文 一、fedora-rpmdevtools 介绍&#xff1b; 用于制作RPM包的工具&#xff0c;为开发者提供…

Node.js 多版本安装配置(Window、Ubuntu 、CentOS 、Mac OS、Cloud Studio)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 向大家介绍在window和Linux上安装Node.js的方法。 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。 Node.js安装包及源码下载…

场外科目三考试技巧

科目三考试可以说是学车中最有用的&#xff0c;因为这和将来正式上路是完全相同的&#xff0c;所以掌握c1科目三考试技巧也是很必要的。下面就来看看小编为大家总结的场外科目三考试技巧吧。 一、考前准备 要从车头前绕过进入车内&#xff0c;并注意关牢车门&#xff0c;之后双…

数据结构之单链表(头结点)的一些常用操作(增删改查逆)

删除指定结点 流程&#xff1a;判断传入数据和pos的位置是否符题意——找到删除位置的前一个结点&#xff0c;找到后要判断所找的位置是否越界——删除指定结点。代码&#xff1a; //删除指定结点 int Delete_Pos(Node* h, int pos) {if (NULL h || pos < 1){return FALS…

cookie ? 利用cookie实现 显示上次访问时间?

二、 <%page import"java.text.SimpleDateFormat"%> <%page import"java.util.Date"%> <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC &…

Java9Java10 Java11新特性

1转载于:https://www.cnblogs.com/LXL616/p/11100177.html

数据结构之头结点链表的三种插入方式(头插法,尾插法,在pos处插入)

创建头结点 流程&#xff1a;首先创建头结点表指针并为其分配空间——并将头结点指向空&#xff0c;防止出现段错误。 代码&#xff1a; //创建头结点 Node* Create_List () {//创建头结点Node* list (Node*) malloc(sizeof(Node) / sizeof(char));if (NULL list) //检验…

JAVA 构造 MAP 并初始化 MAP、定义时就初始化

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 第一种方法&#xff1a;static块初始化 public class Demo{private static final Map<String, String> myMap;static{myMap new…

心​理​学​家​告​诉​你​:​男​女​怎​样​才​叫​合​适

心理学家认为..判断男女两个人是否适合牵手..应考虑以下10个因素.. 第一..彼此都是对方的好朋友..不带任何条件..喜欢与对方在一起.. 第二..彼此很容易沟通..互相可以很敞开地坦白任何事情..而不必担心被对方怀疑或轻视.. 第三..两人在心灵上有共同的理念和价值观..并…