博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker学习4-docker安装mysql环境
阅读量:4640 次
发布时间:2019-06-09

本文共 5707 字,大约阅读时间需要 19 分钟。

前言

docker安装mysql环境非常方便,简单的几步操作就可以了

拉取mysql镜像

先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本

我这里选择mysql:5.7标签

[root@yoyo ~]# docker pull mysql:5.75.7: Pulling from library/mysqlfc7181108d40: 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:c3594c6528b31c6222ba426d836600abd45f554d078ef661d3c882604c70ad0aStatus: Downloaded newer image for mysql:5.7

docker images查看已经下载成功

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZEcentos                     v7.5                254d4dfe9df7        3 days ago          200MBmysql                      5.7                 a1aa4f76fab9        2 weeks ago         373MBcentos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MBcentos                     centos7.5.1804      cf49811e3cdb        3 months ago        200MBubuntu                     15.10               9b9cb95443b5        2 years ago         137MBtraining/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/mysqltotal 12drwxr-xr-x 2 root root 4096 Jun 30 10:31 confdrwxr-xr-x 2 root root 4096 Jun 30 10:31 datadrwxr-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.7581137afbd3ba22dc02bf89d3ec1afb6e51d55eed0d99a3a4a979bdee8d5de4a[root@yoyo ~]# docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES581137afbd3b        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 ibtmp1drwxr-x--- 2 polkitd ssh_keys     4096 Jun 30 10:38 mysqldrwxr-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.pemdrwxr-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 bashroot@581137afbd3b:/# mysql -uroot -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 4Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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 namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select host, user from user;+-----------+---------------+| host      | user          |+-----------+---------------+| %         | root          || localhost | mysql.session || localhost | mysql.sys     || localhost | root          |+-----------+---------------+4 rows in set (0.00 sec)mysql> exitByeroot@581137afbd3b:/# exitexit

退出mysql和容器用exit

连接mysql测试

1070438-20190630120613792-2037074425.png

python接口QQ群:717225969

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

你可能感兴趣的文章
Netty4.x中文教程系列(四) 对象传输
查看>>
linux下find命令使用举例、
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
ubuntun 服务器与Mac
查看>>
重温JSP学习笔记--与日期数字格式化有关的jstl标签库
查看>>
java-Date-DateFormat-Calendar
查看>>
封装CLLocationManager定位获取经纬度
查看>>
我的第一篇博客-(Eclipse中或Myeclipse中如果不小心删除了包那可怎么办?)
查看>>
对easyui datagrid组件的一个小改进
查看>>
类似以下三图竞争关系的IT企业
查看>>
Qt5启动画面
查看>>
清明节
查看>>
谈谈一些有趣的CSS题目(七)-- 消失的边界线问题
查看>>
ubuntu如何安装svn客户端?
查看>>
arcgis for javascript (3.17)
查看>>
【MySQL】Win7下修改MySQL5.5默认编码格式
查看>>
AI之路,第二篇:python数学知识2
查看>>
windows10关闭更新,windowsUpdate禁用无效 windows无限重启 一分钟无限重启 win10无法连接到SENS服务...
查看>>
[LeetCode] Alien Dictionary
查看>>
[LintCode] 空格替换
查看>>