MySQL版本:默认最新版
1、安装镜像
docker pull mysql:latest
检查镜像是否按照成功:
docker images

可以看到镜像安装成功
2、运行及挂载MySQL
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 \
-v /mydata/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8
释义:
-
-p:端口挂载,把镜像中的端口,与外部linux端口对应
-
-v:挂载标识,即容器目录挂载到外部的linux目录
-
-e:设置MySQL参数
-
MYSQL_ROOT_PASSWORD:设置root密码
-
-d:后台运行
-
/mydata/mysql/log:/var/log/mysql:前者为外部linux位置,后者为docker中MySQL镜像对应的配置文件路径(这里把MySQL日志文件挂载到linux外部的/mydata/mysql/log中)
执行上述命令后,输入docker ps(查看docker中正在运行的镜像):
docker ps
如下:

可以看到MySQL已经在执行了
3、设置MySQL编码为UTF-8
由于MySQL默认编码为latin1(ISO_8859_1)需要修改为UTF-8
1>进入到配置文件的挂载目录:
vi /mydata/mysql/conf/my.conf
2>把下面文字复制至文件即可
[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
3>重启MySQL
docker restart mysql
4、设置初始化密码
1>进入到mysql容器中
docker exec -it mysql /bin/bash
2>进入mysql
mysql -uroot -p
- 注意:之后会提示输入密码,任意输入即可,我输入了root,成功进入到mysql中
3>修改密码
ALTER USER 'root'@'%' IDENTIFIED BY '你的密码';
至此,密码设置成功