Docker x MySQL
2020-06-06 本文已影响0人
littleyu
windows安装
- 新版:Docker
- 注册 https://hub.docker.com/
- 下载 Docker for Windows Installer (需要登录)
- 确保 docker --version 返回版本号
- 设置国内镜像 https://docker.mirrors.ustc.edu.cn (教程)设置完后需要重启 docker
- 确保 docker run hello-world 输出 Hello from Docker! (第一次会自动下载某个安装包)
- 如果你因为 Hyper-V 等原因无法安装新版,可以考虑安装旧版 Docker (遇到的错误看这篇)
- 旧版:Docker
- 旧版 Docker 兼容性更好,性能差一点
- 下载 Docker Toolbox
- 打开 Docker QuickStart,运行后看到一个IP,退出
- 以后会用到这个 IP,用 docker-machine ip 可得到 IP
- 设置国内镜像 https://docker.mirrors.ustc.edu.cn (教程)设置完后需要重启 docker
- 确保 docker run hello-world 输出 Hello from Docker! (第一次会自动下载某个安装包)
Mac
- 按照官方教程下载,.dmp 并安装即可
- 设置国内镜像 https://docker.mirrors.ustc.edu.cn (教程)设置完后需要重启 docker
Docker 安装 MySQL
- 进入 Docker 上面的MySQl 的主页
- 选择版本,如 5.7.27 或者 8.0.18
- 往下翻找到第一个可以运行的命令(docker run....)
- name 是容器的名字
- MYSQL_ROOT_PASSWORD 是密码
- -d 是守护进程
- tag 是版本号,我们选用 5.7.27
- 再加一个端口映射 -p 3306:3306 (为什么会有两个端口号,因为右边是虚拟机的,再加上一个本地的)
- 最终命令 `docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.27
一些有用的 Docker 命令
- 运行 docker ps 查看容器运行状态
- 运行 docker kill mysql1 关掉容器
- 运行 docker container start mysql1 开启刚刚关掉的容器
- 运行 docker rm mysql1 删掉容器,必要时可加 -f 选项
- 运行 docker run 启动新容器。
注意
- 用 Docker 运行的容器,默认不会持久化
- 也就是说如果容器被删掉了,那么数据也没了
- 如果需要持久化,自行搜索 【docker mysql 数据目录】
- 学习玩具不需要持久化
如何用命令行连接 mysql
- Docker exec 命令
- docker exec -it mysql1 bash
- 这句话就会进入容器,容器里有一个 Linux 系统
- 然后你就可以在这个系统里面运行 mysql
- mysql 命令
- mysql -u root -p 回车,让后输入密码 123456
- 命令 show databases; 可查看数据库列表
- 命令 use xxx; 可选择使用 xxx 数据库
- 命令 show tables; 查看所有表
- 命令 select * from XXX ; 查看表内容

MySQL 数据类型
- 五大类
- 数字类型
- 字符串类型
- 时间和日期类型
- JSON 类型 (5.7.8以上)
- 其他特殊类型
数字类型
- bit
- tinyint
- bool,boolean
- smallint
- mediumint
- int
- bigint
- decimal
- float
- double
- serial 等价于 BIGINT UNSIGNED NOT NULL
AUTO_INCREMENT UNIQUE
具体,其中 [] 表示可选。
字符串类型
- char(100)
- varchar(100)
- binary(1024)
- varbinary(1024)
- blob
- text
- enum('v1', 'v2')
- set('v1', 'v2')
时间和日期类型
- date
- time
- datetime
- timestamp
- yaer
- 关注一下 ISO 8601
很多程序员处理不好日期数据,就是因为不了解他
如何把日期输出为 ISO 8601 格式
注意:
