详细步骤
首先搜索镜像
docker search mysql
拉取镜像
搜索出来的第一个就行,不指定版本就获取最新版,我这里用5.7
docker pull mysql:5.7
创建容器(运行镜像)
内外都使用3306端口(确保你的宿主机3306端口没有被占用,比如你的宿主机也装了mysql),并指定root用户密码为123456
使用容器数据卷挂载mysql数据、配置文件、日志
docker run -d -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
挂载三个目录,分别是日志、数据、配置文件
进入容器
在容器内部连接mysql,创建一个数据库,测试mysql是否正常使用
docker exec -it mysql /bin/bash
创建mysql的配置文件
上面已经挂载了mysql的配置文件目录,就可以直接在宿主机操作对应的目录了
在配置文件目录新建一个my.cnf配置文件,写入下面内容,设置客户端和mysql服务器端编码都为utf8
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
lower_case_table_names=1
max_connections = 500
max_allowed_packet = 100MB
open_files_limit = 65535