原文:docker 下修改 mysql sql_mode和配置文件

打开PowerShell

首先创建mysql容器,这里我们指定使用mysql5.7的版本

docker run -d -p 3306:3306 --name mysql-docker -e MYSQL_ROOT_PASSWORD=root mysql:5.7

创建成功,查看一下运行状态

docker ps

 

可以看到我们的容器正在运行中,现在进入容器,查看一下配置文件

 

docker exec -it mysql-docker /bin/bash
cat /etc/mysql/my.cnf

可以看到这里包含了两个目录下的文件,查看一下,mysql.conf.d下,发现有我们需要更改的文件

cat /etc/mysql/mysql.conf.d/mysqld.cnf

 

可以看到这里并没有 sql_mode的配置,说明mysql使用了默认的配置,我们可以进入mysql查看一下,

 

mysql -u root -p 

回车输入我们创建容器时设置的密码,也就是root,进入mysql 控制台,输入

show variables like '%sql_mode';

查看默认 sql_mode配置,可以看到默认的是

这个时候我们就可以去更改配置文件了,输入

exit 退出mysql控制台,

然后我们再查看一下这个配置文件

cat /etc/mysql/mysql.conf.d/mysqld.cnf 

把输出的内容复制一下,我们在本地新建一个同名文件,把内容粘贴进去,然后在 [mysqld]下面添加 sql_mode = 你的配置,比如:

把这个文件保存一下,

然后切换到命令行,输入exit退出容器,

停止并删除docker-mysql容器,

docker stop mysql-docker
docker rm mysql-docker

然后我们修改下docker run 语句,把我们本地的配置文件映射覆盖到容器内部,重新配置一下容器

docker run -d -p 3306:3306 -v D:/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v D:/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=root --name mysql-docker mysql:5.7 

然后我们按照一开始的步骤,重新进入一下容器

docker exec -it mysql-docker /bin/bash

进入mysql

mysql -u root -p root

查看sql_mode是否被修改

 show variables like '%sql_mode';

可以看到已经修改成功

大功告成,由于配置文件是由我们本地映射过去的,所以如果还需要改什么配置的话,直接更改我们本地的配置文件就好了

 

ps: 以上命令都是在powershell中完成的,cmd有可能不支持创建容器和进入容器的代码,docker 版本 18.03.1 for win

docker 下修改 mysql sql_mode和配置文件的更多相关文章

  1. docker下修改mysql配置文件

    原文:docker下修改mysql配置文件 版权声明:本文为博主原创文章,转载注明地址:http://blog.csdn.net/wang704987562 https://blog.csdn.net ...

  2. CentOS双机中Docker下安装Mysql并配置互为主从模式

    CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...

  3. 1.Mysql集群------Docker下的Mysql主从复制

    前言: 实话说,我想做的是Mysql集群架构. 我的计划是: 1.实现Docker下的Mysql主从复制 2.实现MyCat基于Mysql的读写分离 3.实现MyCat的分库分表 4.实现pxc集群 ...

  4. Linux学习之CentOS(二十)--CentOS6.4下修改MySQL编码方法

    但是当我们在试图对数据库中的数据进行备份或者将sql文件导入到我们的数据库时可能就会碰到编码的问题,在windows下安装mysql时我们可以在安装的时候就选择好整个数据库的编码方式(通常设置成utf ...

  5. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  6. centos 下修改mysql 默认字符集

    解决办法: CentOS 7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mysql  -u root - ...

  7. ubuntu10.04下修改mysql的datadir的问题

    ubuntu10.04下修改mysql的datadir的问题 转自:http://blog.sina.com.cn/s/blog_4152a9f50100mq5i.html 昨天由于服务器空间告紧,需 ...

  8. mac下修改mysql登录密码

    mysql版本5.7.9 在mac终端下修改mysql用户登录密码 终端命令如下: update mysql.user set authentication_string=PASSWORD(" ...

  9. Linux下修改mysql默认最大连接数

    liunx下修改mysql最大连接数(Centos下测试通过)1.查看当前系统下mysql设置的最大连接数方式一.mysqladmin -uroot -p variables |grep max_co ...

随机推荐

  1. [置顶] openHAB 体系结构与编程模型 (2) --- Web Application Servlet 源码结构

    || || || || || || demo.items Group All Group gGF (All) Group gFF (All) Group gC (All) Group Outdoor ...

  2. 转:用java调用oracle存储过程总结(比较好理解)

    这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励. 一:无返回值的存储过程 存 ...

  3. windows下Word使用-快捷键

    1.word全屏显示——Alt+U+V 2.上标——Ctrl+Shift+= 3.下标——Ctrl+=

  4. freeswitch 注册错误408 - Request Timeout

    1.网络不通(可能虚拟机没打开网络) 2.防火墙没有过滤端口号(关闭防火墙) 3.IP地址错误

  5. Python 爬虫练习: 爬取百度贴吧中的图片

    背景:最近开始看一些Python爬虫相关的知识,就在网上找了一些简单已与练习的一些爬虫脚本 实现功能:1,读取用户想要爬取的贴吧 2,读取用户先要爬取某个贴吧的页数范围 3,爬取每个贴吧中用户输入的页 ...

  6. unity 显示、隐藏Android导航栏

    1.下面的返回.home栏可用Screen.fullScreen控制 2.导航栏的显示和隐藏用下面代码控制 private AndroidJavaObject currentActivity { ge ...

  7. 前后端分离开发,跨域访问的apche设置

    1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把 ...

  8. POJ 3749

    第一道简单密码学的题,太水了,本不打算做,第一道,还是纪念一下. #include <iostream> #include <cstdio> #include <cstr ...

  9. 开源ETL工具kettle--数据迁移

    背景 因为项目的需求,须要将数据从Oracle迁移到MSSQL,不是简单的数据复制,而是表结构和字段名都不一样.甚至须要处理编码规范不一致的情况,例如以下图所看到的 watermark/2/text/ ...

  10. 第十五章,读取txt文件(C++)

    #include <iostream> #include <fstream> int main(int argc, char** argv) { std::ifstream i ...