Docker x MySQL

2020-06-06  本文已影响0人  littleyu

windows安装

- 新版:Docker
  1. 注册 https://hub.docker.com/
  2. 下载 Docker for Windows Installer (需要登录)
  3. 确保 docker --version 返回版本号
  4. 设置国内镜像 https://docker.mirrors.ustc.edu.cn教程)设置完后需要重启 docker
  5. 确保 docker run hello-world 输出 Hello from Docker! (第一次会自动下载某个安装包)
  6. 如果你因为 Hyper-V 等原因无法安装新版,可以考虑安装旧版 Docker (遇到的错误看这篇
- 旧版:Docker
  1. 旧版 Docker 兼容性更好,性能差一点
  2. 下载 Docker Toolbox
  3. 打开 Docker QuickStart,运行后看到一个IP,退出
  4. 以后会用到这个 IP,用 docker-machine ip 可得到 IP
  5. 设置国内镜像 https://docker.mirrors.ustc.edu.cn教程)设置完后需要重启 docker
  6. 确保 docker run hello-world 输出 Hello from Docker! (第一次会自动下载某个安装包)

Mac

  1. 按照官方教程下载,.dmp 并安装即可
  2. 设置国内镜像 https://docker.mirrors.ustc.edu.cn教程)设置完后需要重启 docker

Docker 安装 MySQL

  1. 进入 Docker 上面的MySQl 的主页
  2. 选择版本,如 5.7.27 或者 8.0.18
  3. 往下翻找到第一个可以运行的命令(docker run....)
  4. name 是容器的名字
  5. MYSQL_ROOT_PASSWORD 是密码
  6. -d 是守护进程
  7. tag 是版本号,我们选用 5.7.27
  8. 再加一个端口映射 -p 3306:3306 (为什么会有两个端口号,因为右边是虚拟机的,再加上一个本地的)
  9. 最终命令 `docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.27

一些有用的 Docker 命令

  1. 运行 docker ps 查看容器运行状态
  2. 运行 docker kill mysql1 关掉容器
  3. 运行 docker container start mysql1 开启刚刚关掉的容器
  4. 运行 docker rm mysql1 删掉容器,必要时可加 -f 选项
  5. 运行 docker run 启动新容器。

注意

  1. 用 Docker 运行的容器,默认不会持久化
  2. 也就是说如果容器被删掉了,那么数据也没了
  3. 如果需要持久化,自行搜索 【docker mysql 数据目录】
  4. 学习玩具不需要持久化

如何用命令行连接 mysql

  1. docker exec -it mysql1 bash
  2. 这句话就会进入容器,容器里有一个 Linux 系统
  3. 然后你就可以在这个系统里面运行 mysql
  1. mysql -u root -p 回车,让后输入密码 123456
  2. 命令 show databases; 可查看数据库列表
  3. 命令 use xxx; 可选择使用 xxx 数据库
  4. 命令 show tables; 查看所有表
  5. 命令 select * from XXX ; 查看表内容

MySQL 数据类型

- 五大类

  1. 数字类型
  2. 字符串类型
  3. 时间和日期类型
  4. JSON 类型 (5.7.8以上)
  5. 其他特殊类型
数字类型
  1. bit
  2. tinyint
  3. bool,boolean
  4. smallint
  5. mediumint
  6. int
  7. bigint
  8. decimal
  9. float
  10. double
  11. serial 等价于 BIGINT UNSIGNED NOT NULL
    AUTO_INCREMENT UNIQUE

具体,其中 [] 表示可选。

字符串类型
  1. char(100)
  2. varchar(100)
  3. binary(1024)
  4. varbinary(1024)
  5. blob
  6. text
  7. enum('v1', 'v2')
  8. set('v1', 'v2')

具体

时间和日期类型
  1. date
  2. time
  3. datetime
  4. timestamp
  5. yaer

具体

注意:

上一篇 下一篇

猜你喜欢

热点阅读