Docker部署Mysql
Docker部署Mysql
一、概要
此文档用于帮助开发人员快速了解 Docker 部署 MySQL 数据库的过程,并为他们提供一个指导性的指南,目前Mysql数据库使用版本为8.0。
二、安装Docker
-
若未安装docker请参考此链接
三、部署Mysql数据库
方法一:使用脚本部署
1、新建docker-compose.yml文件
在文件中粘贴以下代码:
1 | version: '3' |
2.使用文件传输工具将docker-compose.yml文件上传到服务器
3.执行docker-compose.yml文件
到docker-compose.yml文件下执行命令
1 | //启动容器 |
4.连接数据库
使用MySql客户端连接,若连接成功则表示部署完成。
方法二:手动部署
1.打开终端,使用以下命令拉取 MySQL 8.0 镜像:
1 | docker pull mysql:8.0 |
2.使用以下命令在 Docker 中启动一个 MySQL 容器,并将其命名为 “my-mysql”:
1 | docker run --name my-mysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mysql:8.0 |
-name
指定了你要取的名字。p
对应,需要映射出来的端口。比如:3306:3306,意识表示为my-mysql的容器里面的3306端口对应我外面这个虚拟机的3306端口。e
是mysql的命令,设置root的密码为123456d
是运行的镜像,这里是mysql
容器镜像v
: 指定数据卷,意思就是将mysql容器中的/var/lib/mysql(这个是数据库所有数据信息文件)映射到宿主机/data/mysql里面。(参考文档——使用Docker快速搭建Mysql,并进行数据卷分离)
3.检查容器是否正在运行:
1 | docker ps |
如果你看到了一个名为 “my-mysql” 的容器正在运行,说明 MySQL 已经成功部署。
4.进入Mysql
现在你可以通过 MySQL 客户端连接到这个容器,执行 SQL 命令,管理数据库了。例如,使用以下命令连接到容器:
1 | root@ubuntudoc:~# docker exec -it my-mysql bash |
使用MySql客户端连接,若连接成功则表示部署完成。
四、注意
1、修改数据库配置
在数据库执行以下命令:
1 | //查看配置,若为OFF则执行下一步 |
修改成功显示:
必须修改,否则会在批量操作的时候(例如排产派工)时会抛出错误【loading local data is disabled; this must be enabled on both the client and server sides】,且在连接字符串中要加上AllowLoadLocalInfile=true。
1 | "Default": "Server=192.168.2.41;Port=3307;Database=MySqlDb;Uid=root;Pwd=123456;charset=utf8;TreatTinyAsBoolean=false;AllowLoadLocalInfile=true", |