安装Docker&MySQL
安装旧版docker
- 旧版Docker兼容性更好,性能差一点
- 下载Docker Toolboxhttps://github.com/docker/toolbox/releases
由于toolBox已经弃用了,现在我用的是docker desktop
下载地址:https://docs.docker.com/docker-for-windows/
- 在命令行运行 docker run -d -p 80:80 docker/getting-started
- 完成下载后 ,为确保 docker run hello-world 输出 Hello from Docker
- 看到 Hello from Docker! 就是可以了
Docker安装MySQL
步骤
- 进入Docker上面MySQL的主页https://hub.docker.com/_/mysql/
- 选择版本,如5.7.27 或者 8.0.18
- 使用docker run 命令启动容器
- name是容器的名字
- MYSQL_ROOT_PASSWORD是密码
- -d是持续运行
- tag是版本号,我选用5.7.32 (下面是文档推荐使用的)
- 再加一个端口映射 -p 3306:3306 (左边是本机端口号,右边是虚拟机端口号)
- 最终命令
- docker run —name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.32
密码我就使用123456算了。免得忘了
然后等他下载完成就好了。
一开始是因为p写成大写P了,改了之后就成功运行了。
但是由于下载速度太慢,超时了,需要更换镜像地址。
docker换成国内镜像
在设置的 Docker Engine里
registry-mirrors填写”https://docker.mirrors.ustc.edu.cn"即可
一些有用的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
exec就是执行的意思
- 这句命令会进入容器,容器里有一个Linux系统
- 然后你就可以在这个系统里运行mysql
- docker exec -it mysql1 bash 进入了af375672…这个虚拟机
- ls 查看目录
mysql命令
- mysql -u root -p 回车, 然后输入密码123456
- 命令 show databases; 可查看数据库列表
- 如果你手抖忘记了写分号就回车了,按ctrl+c重来吧
- 命令 use xxx; 可选择使用xxx数据库
- 命令 use sys; 试试默认的sys数据库
- 命令 show tables; 查看所有表
- 命令 select * from user; 查看表内容
- 进入mysql
得到了 mysql的id是2,还有版本版权等信息。
然后命令行也从root@af3756…变成了mysql
- show databases;
可以看到有4个内置的数据库(别动它们最好了)
- 使用其中的一个数据库:use sys;
- 查看该数据库所有的表: show tables;
然后就一大堆东西(一些默认的表)
- 尝试查看一个表里面的东西
1) show databases;
2) use mysql;
3) show tables;
4) select * from user;
然后就可以看到很多乱七八糟的东西,就是一个数据表的横列。
现在我们就可以成功查找docker里面的Linux里面的MySQL里面的数据库里面的表
命令行常识
- Ctrl+C
用于中断,比如你输错命令了
Ctrl+D
- 用于退出,比如你要推出mysql,bash等
小结
- 使用docker一键安装MySQL
- 进入容器运行mysql命令
- 在mysql命令行里执行SQL语句