准备在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. 数学--数论--HDU 2802 F(N) 公式推导或矩阵快速幂

    Giving the N, can you tell me the answer of F(N)? Input Each test case contains a single integer N(1 ...

  2. 数学--数论---P4718 Pollard-Rho算法 大数分解

    P4718 [模板]Pollard-Rho算法 题目描述 MillerRabin算法是一种高效的质数判断方法.虽然是一种不确定的质数判断法,但是在选择多种底数的情况下,正确率是可以接受的.Pollar ...

  3. 信息奥赛一本通1486: CH 6202 黑暗城堡 最短路径生成树计数

    1486:黑暗城堡 [题目描述] 知道黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设 Di为如果所有的通道都被修建,第 i 号房间与第 1 ...

  4. 一只简单的网络爬虫(基于linux C/C++)————开篇

    最近学习开发linux下的爬虫,主要是参考了该博客及其他一些网上的资料.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息 ...

  5. redis系列之2----详细讲解redis数据结构(内存模型)以及常用命令

    Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...

  6. UIResponder相关

    UIResponder是OC中一个响应事件的类.UIApplication.UIView.UIViewController都是它的子类.UIWindow是UIView的子类,因此也能响应事件. UIR ...

  7. query 线段树 + 区间排序

    https://nanti.jisuanke.com/t/41391 这个题目没有很难想,比较暴力,但是要会算复杂度,不会算复杂度,就会觉得自己的算法会超时,实际上不会. 这个题目就是直接暴力求出每一 ...

  8. 【Scala】利用Akka的actor编程模型,实现2个进程间的通信

    文章目录 步骤 一.创建maven工程,导入jar包 二.master进程代码开发 三.worker进程代码开发 四.控制台结果 步骤 一.创建maven工程,导入jar包 <propertie ...

  9. PHP导出excel文件,第二步先实现自写二维数组加入模板excel文件后导出

    今天主要研究数据加入EXCEL并导出的问题,先不从数据库提取数据导出,自己先写一个二维数组,然后遍历二维数组写入excel模板中导出,首先根据模板excel的内容书写对应的二维数组 $arr=arra ...

  10. redis文章汇总

    方便集群管理时的查看操作 http://www.cnblogs.com/mushroom/p/4738170.html http://www.cnblogs.com/hjwublog/p/568170 ...