赞
踩
目录
此案例安装常用的mysql5.7版本
搜(dockerhub搜索镜像版本)
拉(拉取镜像)
查(查看本地镜像)
启(启动容器)
停(停止容器)
删(删除容器实例和镜像)
dockerhub网址:Dockerhttps://hub-stage.docker.com/
docker pull mysql:5.7
- docker run -d -p 3306:3306 --privileged=true \
- -v /ywjuser/mysql/log:/var/log/mysql \
- -v /ywjuser/mysql/data:/var/lib/mysql \
- -v /ywjuser/mysql/conf:/etc/mysql/conf.d \
- -e MYSQL_ROOT_PASSWORD=123456 \
- --name mysql \
- mysql:5.7
-
- #参数
- -v挂载目录
- log下是日志,data下是数据,conf下是配置
- -e环境,设置root密码
挂载容器数据卷的目的是万一删了容器实例,但是数据在宿主机上有备份,所以重新启动一个容器实例,并且挂载在相同的路径下即可实现数据恢复。
docker启动以后查看启动状态
- 查看运行的容器实例
- docker ps
- 如果docker ps查不到运行的容器实例,可以执行docker ps -a查看所有的容器实例,查看容器ID
- 然后根据docker logs 容器ID查看启动日志,查看报错原因
docker容器上安装mysql需要注意字符集编码,中文会报乱码;
- 修改配置
- cd /ywjuser/mysql/conf/
- vim my.cnf
- 添加以下内容,(my.cnf文件名是固定的)
- [client]
- default_character_set=utf8
- [mysqld]
- collation_server = utf8_general_ci
- character_set_server = utf8
查看修改配置之后的字符集,如果启动了mysql容器,修改配置之后需要重启一下。
进入容器
- docker restart mysql
- docker ps
- docker exec -it 6d46a7412b53 /bin/bash
- mysql -uroot -p
- SHOW VARIABLES LIKE 'character%';
修改配置之前的字符集:
修改配置之后的字符集:
重新建表添加数据,尝试中文会不会报乱码;
- create database db01;
- use db01;
- create table t1(id int,name varchar(20));
- insert into t1 values(1,"zhangsan");
- select * from t1;
- 停止容器实例
- docker stop 容器ID
- 删除容器
- docker rm -f 容器ID
- 删除镜像
- docker rmi -f 镜像ID
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。