可以在docker hub mysql页面下选择要下载的版本,:5.7 是下载5.7 版本,没有 :5.7 那么下载的就是最新的MySQL 版本
sudo docker pull mysql:5.7
sudo 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:将容器的3306端口映射到主机的3306端口
● --name:给容器命名
● -v /mydata/mysql/log:/var/log/mysql:将配置文件挂载到主机/mydata/…,也就是在创建的虚拟机 /mydata 目录下可以操作查看容器中mysql
● -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root
● -d mysql:5.7 : 后台运行 mysql:5.7
查看docker 启动的容器
docker ps
进入挂载的mysql配置目录
cd /mydata/mysql/conf
修改配置文件 my.cnf
vi my.cnf
这时会创建一个my.cnf 文件并进入文件中,然后 按一下 i 按键,进入insert 编辑模式,然后输入一下内容
[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
然后按一下 ESC 按键退出编辑模式,然后输入 :wq 命令保存退出;最后重启一下MySQL 容器使修改的内容生效
docker restart mysql
命令中 mysql 就是创建容器时的name,输入对应的 name 名称即可
docker exec -it mysql /bin/bash
退出容器,输入 exit 命令