Docker搭建mysql服务
拉取镜像
sudo docker pull mysql
检查镜像是否拉取成功
sudo docker images
启动mysql
直接启动
sudo docker run -p 13306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
--name
容器名-e
配置环境变量,此处配置mysql的root用户密码-p
端口映射,这里将主机的13306端口映射到容器的3306端口上
建立目录映射
如果容器中的数据需要持久化,就需要建立目录映射了
注意:路径下需要存在相应的配置文件,否则会启动失败
sudo docker run -p 13306:3306 --name mysql \
-v /user/local/docker/mysql/conf:/etc/mysql \
-v /user/local/docker/mysql/logs:/var/log/mysql \
-v /user/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
检查容器是否运行正确
以下两个命令均能查看容器是否运行,但还是有区别的
sudo docker container ls
显示当前运行中的容器sudo docker ps -a
显示容器运行状态(包括“运行中”和“已退出”)
可以看到容器ID,容器的源镜像,启动命令,创建时间,状态,映射端口信息,和容器名
连接mysql
进入容器 sudo docker exec -it mysql bash
mysql 存储路径
搜索数据库中保存的路径
使用 mysql -uroot -p123456
进入数据库,show variables like '%dir%'
搜索记录位置的变量
- 数据库目录:
/var/lib/mysql/
- 插件位置:
/usr/lib/mysql/plugin/
- 字符集目录:
/usr/share/mysql-8.0/charsets
搜索带有mysql的路径
find / -name "mysql" -print
搜索到的相关路径和文件有
/etc/mysql
配置文件/usr/bin/mysql
可执行文件/usr/lib/mysql
插件位置/var/lib/mysql
数据文件路径
.ibd文件:InnoDB引擎开启了独立表空间,存放表的数据和索引
.pem:证书文件/var/lib/mysql/mysql
.CSM:存储表的元数据,如表状态和数据量
.CSV:存储表内容
.sdi:Serialized Dictionary Information的缩写,对非事务引擎表进行导入导出操作
还没有评论,来说两句吧...