1. 下载镜像文件mysql5.7
docker pull mysql:5.7
2. 创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
# 参数说明
# -p 主机端口:容器端口 将容器3306端口映射到主机的3306端口
# --name mysql 给mysql数据库起名字
# -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机/mydata/mysql/conf文件夹下
# -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
# -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
# -e MYSQL_ROOT_PASSWORD=root:初始化 root用户的密码
3. 配置mysql配置文件
vi /mydata/mysql/conf/my.cnf
一些基本的配置
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
4. 如何进入mysql容器的文件系统
docker exec -it mysql /bin/bash
# mysql为容器名称
5. 通过容器的mysql命令行工具进行连接
docker exec -it mysql mysql -uroot -proot
# 第一个mysql为容器名
# 第二个mysql为命令
6. 可选项:设置root远程访问
# 客户端登录进入mysql
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
7. 一些其他操作
重启mysql容器
docker restart mysql
# mysql为容器名
查看mysql日志
docker logs mysql
# mysql:容器的名字
docker logs --tail="10" mysql
# --tail 显示最后十行