首先,系统(3.8以上内核的linux)中安装好 Docker 这个运用程序。因为网络缘由,咱们下载一个Docker官方的镜像须要很长的时间,甚至下载失败。为此,阿里云容器镜像服务提供了官方的镜像站点,从而加速官方镜像的下载速度。 [ 不会的能够参考我以前的文章:Docker <一> 架构简介与Linux上安装 http://www.javashuo.com/article/p-qdsjcbsd-bh.html]。mysql
docker search mysql
以看到下图所示的信息:linux
docker pull mysql:5.7
整个pull过程须要花费一些时间,耐心等待。sql
由于已经pull过,因此会获得以下提示。docker
# 使用 docker images 命令便可列出已下载的镜像 docker images
执行命令后,可看到相似于以下的表格:数据库
# 使用 docker ps 命令便可列出运行中的容器 docker ps
执行命令后,可看到相似于以下的表格:vim
能够发现,目前有运行的容器。故,删掉原有容器,接下来咱们新建并启动一个新的 MySQL5.7 容器。bash
使用 docker rm 命令便可删除指定容器(只能删除已中止的容器):网络
# 使用 docker rm 命令便可删除指定容器(只能删除已中止的容器) docker rm 0164c13b662c
如需删除正在运行的容器,可以使用 -f 参数:架构
# 如需删除正在运行的容器,可以使用 -f 参数 docker rm -f 0164c13b662c
如需删除全部的容器(请谨慎使用该命令):工具
# 如需删除全部的容器 docker rm -f ${docker pa -a -q}
# 方式一 docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件。若是想要自定义配置,建议向 /etc/mysql/conf.d 目录中建立 .cnf 文件。新建的文件能够任意起名,只要保证后缀名是 cnf 便可。新建的文件中的配置项能够覆盖 /etc/mysql/my.cnf 中的配置项。
# 方式二 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 命令说明: -p 3306:3306:将容器的3306端口映射到主机的3306端口 -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf -v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs -v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码 --lower_case_table_names=1 设置表名参数名等忽略大小写 -v /etc/localtime:/etc/localtime:ro 设置容器的时间与宿主机同步
查看日志:
docker log -f 容器启动后生成惟一ID
# MySQL 5.7之前的版本的修改 sudo vi /etc/MySQL/my.cnf 在[mysql] 下添加一行 lower_case_table_names=1 # MySQL 5.7版本的修改则在/etc/mysql/my.cnf这个目录下。 # 验证是否修改为功,若是value为1则不区分大小写了 mysql> show variables like '%case_table%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_table_names | 1 | +------------------------+-------+ 1 row in set (0.00 sec) # 可是在mysql5.7.19中,mysql 配置文件是放在/etc/mysql/mysql.conf.d/mysqld.cnf, vim /etc/mysql/mysql.conf.d/mysqld.cnf 在[mysqld]下加入一行: lower_case_table_names=1
方式一:
链接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_file_system | ON | | lower_case_table_names | 0 | +------------------------+-------+ lower_case_file_system 表示当前系统文件是否大小写敏感,只读参数,没法修改。 ON 大小写不敏感 OFF 大小写敏感 进入docker的MySQL容器,编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]下添加以下: [mysqld] lower_case_table_names=1 保存,退出容器; 执行sudo docker restart MySQL ,重启MySQL便可查看: mysql> show global variables like '%lower_case%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_file_system | OFF | | lower_case_table_names | 1 | +------------------------+-------+ 2 rows in set (0.00 sec)
方式二:
# 一 docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1 # 二 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1
关键命令:
--lower_case_table_names=1 设置表名参数名等忽略大小写
相关连接:
· Docker 官网教程: https://hub.docker.com/_/mysql/
· Docker MySQL5.7官网教程: https://hub.docker.com/r/cytopia/mysql-5.7/
本文为博主原创文章,转载请注明出处!