这里配置只做开发用,生产环境请根据需要修改或自行搜索其他说明
使用docker安装mysql,目前版本5.7.4(当前时间 2018.1.11)
环境 vm: Centos7
镜像来源 https://dashboard.daocloud.io/packages/fa51c1d6-9dc2-49d9-91ac-4bbfc24a1bda
镜像地址 : daocloud.io/library/mysql
执行脚本:
docker run --name some-mysql -p 3306:3306 -v /etc/mysql/myconf/:/etc/mysql/conf.d -v /opt/mysql/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7.34
-d 容器在后台运行
-e MYSQL_ROOT_PASSWORD=admin 配置mysql root的密码
-v 对mysql 的配置文件和数据存储路径进行映射到宿主机,对数据持久化
my.cnf是配置文件名,(可以是空文件,有需要的时候再修改)。/etc/mydockercfg/mysql和/opt/mysql/data是宿主机目录
-p 端口映射
--name 定义容器的名称
--lower_case_table_names=1 定义数据库不区分表名大小写
--character-set-server=utf8mb4 设置数据库字符集为utf-8(解决中文乱码的问题)
--collation-server=utf8mb4_unicode_ci utf8字符排序规则
mysql:latest 镜像名称 latest最新版本,可以省略 (mysql <=> mysql:latest),也可以使用镜像mariadb (mysql的一个分支)
修改为允许远程连接
进入容器
安装后可以看到容器id (CONTAINER ID)
使用容器Id或者容器名称进入 docker exec -it <ContainerId,ContainerName> /bin/bash
docker exec -it 38ab20fe881b /bin/bash
输入命令 mysql -u root -p, 然后输入密码 进入mysql控制台
mysql -u root -p
输入命令,修改远程权限。
grant all privileges on *.* to 'root'@'%' ;
刷新权限。
flush privileges;
相关资料:
Docker 安装MySQL | 菜鸟教程:http://www.runoob.com/docker/docker-install-mysql.html
docker mysql 数据持久化到本地、设置不区别表名大小写 http://blog.51cto.com/binuu/1943176
mariadb镜像地址: https://hub.docker.com/_/mariadb/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何反向绘制出 .NET程序 异步方法调用栈
· 领域驱动设计实战:聚合根设计与领域模型实现
· 突破Excel百万数据导出瓶颈:全链路优化实战指南
· 如何把ASP.NET Core WebApi打造成Mcp Server
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· 聊聊 ruoyi-vue ,ruoyi-vue-plus ,ruoyi-vue-pro 谁才是真正的
· C#开发的Panel滚动分页控件 - 开源研究系列文章
· 如何反向绘制出 .NET程序 异步方法调用栈
· ShadowSql之开源不易
· Java 原生异步编程与Spring 异步编程 详解