1.在linux虚拟机上安装docker
1.1、检查内核版本,必须是3.10及以上
uname -r
1.2,把yum包更新到最新
yum update
1.3,安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
1.4,设置yum源(选择其中一个)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.5、安装docker
yum install docker
1.6、输入y确认安装
1.7、 启动docker
systemctl start docker
docker ‐v
1.8、 开机启动docker
systemctl enable docker
2.Docker 安装MySQL 5.7
2.1、查看docker仓库中的mysql命令
docker search mysql
2.2、为选定的需要pull到本地系统中的镜像
docker pull mysql:5.7
2.3、完成后可以用docker列出已经下载的镜像
docker images
2.4、启动容器
方式一:
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 3309: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 3309:3306:将容器的3306端口映射到主机的3309端口
-v $PWD/conf:/etc/mysql/conf.d:将主机当前路径下的conf目录挂载到容器的/etc/mysql/conf.d目录
-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 设置容器的时间与宿主机同步
2.5、连接测试
使用数据库连接工具测试安装的mysql是否能够链接上,如果可以连接上说明安装成功
3.Docker 配置mysql不区分大小写
3.3、查询修改之前的状态
SHOW VARIABLES LIKE '%case_table%';
±-----------------------±------+
| Variable_name | Value |
±-----------------------±------+
| lower_case_file_system | ON |
| lower_case_table_names | 0 |
±-----------------------±------+
lower_case_file_system
表示当前系统文件是否大小写敏感,只读参数,无法修改。
ON 大小写不敏感
OFF 大小写敏感
3.1、查看容器
docker ps
3.2、进入主机
方法一:
$ docker exec -it 775c7c9ee1e1 /bin/bash
方法二:
docker exec -it mysql bash
3.3、进入docker的MySQL容器,编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]下添加如下:
[mysqld]
lower_case_table_names=1
保存,退出容器;
exit
3.4、重启MySQL
sudo docker restart MySQL
3.4、查询修改配置是否生效
show global variables like '%lower_case%';