首页
编程随笔
Java笔记
Html/Css/Js
Android
后端笔记
服务器搭建
BUG收集
Java异常
Android异常
在线工具
Json格式化
编码/解码
Epub在线编辑
登录
发布文章
个人文章
退出登录
首页
技术教程
BUG收集
在线工具
资源下载
登录
发布文章
退出登录
搜索
当前位置:
首页
-
博客
- 正文
关闭
centos7使用docker安装mysql5.7
更新时间:2023-06-28 10:50:53
阅读数:607
发布者:落幕
前置条件,已经安装docker,未安装请参考: http://blog.speechb.com/detail/1453e44cf2cc45c08db7a828f6e52845 ### 1、创建实例并启动 ```shell docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 ``` 命令解释 ```txt -p 3306:3306 #将容器的 3306 端口映射到主机的 3306 端口 --name mysql #给容器起名为 mysql -v /mydata/mysql/conf:/etc/mysql #将配置文件夹挂载到主机 -v /mydata/mysql/log:/var/log/mysql #将日志文件夹挂载到主机 -v /mydata/mysql/data:/var/lib/mysql/ #将配置文件夹挂载到主机 -e MYSQL_ROOT_PASSWORD=root #初始化 root 用户的密码 -d mysql:5.7 mysql:5.7 #启动这个容器 ``` ### 2、查看mysql是否运行 docker ps -a 执行结果如下(status状态为up ****** 即启动成功,Exited ****** 为启动失败): [root@test2 conf.d]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c5f521ca0fcb mysql:5.7 "docker-entrypoint.s…" 6 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql ### 常见问题 mysql启动失败,用docker logs 容器id/别名查看启动日志 docker logs mysql (1)mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory) 原因是mysql目录不存在 此时应加上参数-p,即没有找到此目录就自动创建: 出现这个的原因是:因为Centos7安全Selinux禁止了部分安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示上面的信息 解决该问题的方法就是:既然不能read取到需要都的文件,那我们就给这个目录及文件创建出来:命令如下: sudo mkdir -p /etc/mysql/conf.d 使用如下命令创建容器并运行: sudo docker run --privileged=true \ -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7