准备在docker下来搭建mysql开发环境玩玩,当作学习笔记。搭建环境是:win10 企业版,docker desktop 19.03.8,mysql 5.7,Windows PowerShell

首先从  https://hub.docker.com/_/mysql/#!  可以查看到支持的各种mysql 版本的镜像,如图,这里选了mysql 5.7版。

下载镜像   docker pull mysql:5.7

创建容器   docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

进入容器  docker exec -it mysql bash

登录mysql    mysql -uroot -p123456

看到了欢迎信息,登录成功!执行一行简单命令看看  show databases;

ok,没有问题,现在就可以使用 Navicat 等可视化工具连接使用了,如果你命令使用的很牛逼,也可以直接开始敲命令。

到此你以为就大功告成了吗?其实远没有,下面开始踩坑之路:

看这报错竟然表不存在,mysql在windows下表名是不区分大小写的,在linux下是区分大小写的。因为使用docker的是linux镜像,所以报了这个错。

接下来开始解决这个问题,如果没有使用docker那很简单,直接修改配置文件就好了,在docker下稍微麻烦一点。

使用  show global variables like '%lower_case%'; 查看一下默认配置 lower_case_table_names=0,如图:

现在需要把 lower_case_table_names 改成  1 。这个时候需要先 Ctrol +D退出到docker 容器

然后通过使用 linux 的vim  工具来修改配置文件,这个时候会发又需要安装 vim ,直接执行  apt-get install vim  安装还会报错 “Unable to locate package vim”。

需要先执行  "apt-get update"  更新完一堆包后,再执行 “apt-get install -y vim” ,稍等片刻,等待安装完成,因为我这里是来回切换了几个步骤没有把安装 vim的过程截图保存下来,就上不了图了。

下面开始修改配置文件

执行  vi  /etc/mysql/mysql.conf.d/mysqld.cnf  命令出现下图

这里敲 E 选择 Edit anyway  进入下图

在红框中加入  lower_case_table_names=1  ,编辑完之后,不要乱操作,很容易让界面死掉。然后  Esc 键,注意看左下角,再输入 : wq  保存并退出

到此,配置文件修改完毕,Ctrol +D退出mysql容器,再重新启动容器 docker restart mysql 让配置生效,进入mysql后执行  show global variables like '%lower_case%';

可以看到值已经是 1 了,这时再来执行一条查询语句验证有没有问题

ok,终于成功了,到此几番周折终于大功告成。

我觉得Docker是世界上伟大的发明,有了docker实在太方便了,需要什么就装什么,当然前提是你需要熟悉docker之后。

记录我在Docker 中一步一步搭建Mysql 数据库存开发环境的更多相关文章

  1. Docker 快速搭建 MySQL 5.6 开发环境

    使用 Docker 快速搭建一个 MySQL 5.6 开发环境 步骤 获取镜像 docker pull mysql:5.6 启动容器,密码 123456,映射 3306 端口 docker run - ...

  2. 【搭建开发环境】在 Windows XP 中参与开源项目,搭建 git 和 cygwin 开发环境

    引言 只有一台 Windows XP 家用机,却想在诸如 Git@OSC 之类的开源社区参与开发,本文提供一个入门级的开发环境搭建指引. 涉及工具:Eclipse,EGit,Cygwin. 欢迎来到 ...

  3. mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvC ...

  4. docker中使用源码方式搭建SRS流媒体服务

    一.背景 搭建流媒体服务的方式一般会采用nginx+rtmp和srs服务两种,前者是nginx加上插件所用,而后者是专门为了为了流媒体而生,在这一节中我们将从头搭建srs流媒体服务 二. 运行环境 为 ...

  5. 使用 Docker 秒速搭建多版本 PHP 开发环境

    目录 目标 下载 代理设置 配置环境 PHP 7.2.x,占用本地端口 8081 PHP 5.6.x,占用本地端口 8082 端口映射 local.php72.com -> 127.0.0.1: ...

  6. 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)

    cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...

  7. PHP引号转义中解决POST,GET,Mysql数据自动转义问题

    在处理mysql和GET.POST的数据时,常常要对数据的引号进行转义操作. PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转. PHP称之为魔术引号,这 ...

  8. Kettle ETL 来进行mysql 数据同步——试验环境搭建(表中无索引,无约束,无外键连接的情况)

    今天试验了如何在Kettle的图形界面(Spoon)下面来整合来mysql 数据库中位于不同数据库中的数据表中的数据. 试验用的数据表是customers: 第三方的数据集下载地址是:http://w ...

  9. win7下docker环境搭建nginx+php-fpm+easyswoole开发环境

    基础的环境已在文章nginx.php-fpm.swoole HTTP/TCP压测对比中搭建了,现在是在这个基础上在搭建easyswoole开发环境 主要要修改的地方是dnmp包里面的docker-co ...

随机推荐

  1. CodeForces - 262C 贪心

    Maxim always goes to the supermarket on Sundays. Today the supermarket has a special offer of discou ...

  2. UTC 时间转化为北京时间

    // UTC 时间转化为北京时间 function utc2beijing(utcTime) { var T_pos = utcTime.indexOf('T'); var Z_pos = utcTi ...

  3. spring mvc 实现文件上传

    例:用户注册提交一个头像文件 第一步,创建项目 ,导入jar包 做文件上传除了要导入spring常规的jar包外,还要导入commons-fifileupload和commons-io这两个jar包. ...

  4. Spring源码阅读 之 配置的加载(希望有喜欢源码的朋友一起交流)

    想写Spring的源码方面的东西想了好久了,之前花了一段时间学习了SpringCloud,现在总算对SpringCloud有了一个大概的了解,从今天开始好好读一篇Spring的源码,结合书本跟网上的一 ...

  5. 记录:通过ffmpeg rtsp转 http m3u8

    环境 Windows 10 大华rtsp直播 转 http请求m3u8 ffmpeg -rtsp_transport tcp -i "rtsp://账号:密码@IP:端口/cam/realm ...

  6. Day_11【集合】扩展案例5_对list集合对象中的元素进行反转,求最大值最小值,求元素i在list集合中首次出现的索引,将oldvalue替换为newvalue

    分析以下需求,并用代码实现 定义MyArrays工具类,该工具类中有以下方法,方法描述如下: 1.public static void reverse(ArrayList<Integer> ...

  7. PDF怎么转换成Word,免费,完整的那种

      简介 PDF可以分为文字型PDF和图片型PDF,文字型PDF即可以选中文字内容的PDF,反之图片型PDF即无法选中文字的PDF,其内容实际上是图片. 本文针对不同类型,介绍PDF转Word方法,可 ...

  8. 内网穿透访问Vue项目的时候出现Invalid Host header解决办法

    适用场景: 在本地的Vue-cli3项目, 需要其他人浏览. 如果没有外网的服务器, 可以把自己的电脑当做服务器. 这时候需要外网的人能访问到自己的电脑. Mac内网穿透工具:natapp Inval ...

  9. Python --函数学习1

    函数 -函数是代码的一种组织形式 -函数应该能完成一项特定的工作,而且一般一个函数完成一项工作 -函数的使用: 函数使用需要先定义 使用函数,俗称调用 pps:1.只是定义的话不会执行 2.def关键 ...

  10. sqli-labs之Page-1

    搭建与安装 参考:https://www.fujieace.com/penetration-test/sqli-labs-ec.html 下载:sqli-labs下载 第一关:单引号报错注入 ?id= ...