docker启动mysql并配置字符集
一、docker启动mysql
1.查找mysql镜像
docker search mysql
2.加载镜像
docker pull mysql:5.7
3.查看镜像
docker images
4.运行镜像,并设置 MySQL root 用户的密码
docker run --name=mysql -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 -d mysql:5.7
--name 设置容器名字
-p 设置端口映射
-e 设置mysql root用户密码
-d 后台运行容器
-i: 以交互模式运行容器,通常与 -t 同时使用;
-i, --interactive=false Keep STDIN open even if not attached
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-t, --tty=false Allocate a pseudo-TTY
5.列出正在运行的容器。
docker ps
二、配置mysql字符集
1.进入容器
docker exec -it mysql /bin/bash
2.在容器中使用 MySQL 客户端连接服务端。
mysql --user root --password
111111
status
从第 15 ~ 18 行可以看出,当前服务端、数据库和客户端等的字符集都是 latin1,接下来我们需要修改这些字符集。
因为 MySQL 容器中没有 vi 编辑器,所以我们需要先回到宿主机
exit;
3.接着将 MySQL 容器中 MySQL 配置文件复制到宿主机的/home目录下。
docker cp mysql:/etc/mysql/mysql.cnf /home/
4.修改 mysql.cnf 文件,添加以下内容。
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
[client]
default-character-set=utf8mb4
5.修改完成之后,将该文件复制到 MySQL 容器的 /etc/mysql/ 目录下。
docker cp /home/mysql.cnf mysql:/etc/mysql/
6.重启 MySQL 容器。
docker restart mysql