1.创建mysql容器同时挂载数据
docker run --name mysql -p 3306:3306 -v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
下面是对各个配置进行讲解
-d 后台运行
--name mysql 设置该容器的名称,这儿是自定义,可以自由备注
-p 设置端口号映射,容器外端口:容器内端口
-v 卷挂载 (容器外目录:容器内目录)这儿我们对数据目录、配置文件目录和日志目录进行了挂载,类似这些需要被持久化的数据,需要的存储至容器外,避免容器删除后数据的丢失
数据容器卷挂载:
-v /root/mysql/datadir:/var/lib/mysql:对宿主机数据库目录与容器数据库目录进行映射挂载
-v /root/mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载
-v /root/mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载
2.查看开启的容器(看是否创建了mysql容器)
docker ps
3.获取容器的元数据
docker inspect [容器的ID]
这样就说明成功了
"Source": "/root/mysql/datadir", //这是Linux主机上的目录位置
"Destination": "/var/lib/mysql", //这是docker 里mysql 容器里对应的目录位置
4.测试
1.进入mysql容器
docker exec -it [创建容器是--name后面自定义的名称] bash
2.连接mysql
mysql -uroot -p 然后输入密码(密码不会显示)
3.操作mysql
1.show databases; 查看所有的数据库
2.create database test; 创建一个叫test的数据库
3.drop database test;删除一个叫test的数据库
5.show tables; 在选中的数据库之中查看所有的表
4.use test;选中库 ,在建表之前必须要选择数据库
8.drop table 表名; 删除表
6.create table 表名 (字段1 类型, 字段2 类型);
7.desc 表名;查看所在的表的字段
10.show create table 表名; 查看创建表的详细信息
9.show create databases 库名;查看创建库的详细信息