一、前置需求1.linux系统 本人用的Centos7 2.安装docker 参考这篇文章
二、部署方法1.拉取mysql8镜像 
2.创建配置文件挂载目录和数据挂载目录 mkdir -p /usr/mysql/conf /usr/mysql/datachmod -R 755 /usr/mysql/ ps: /home/mysql/config:放mysql配置文件my.conf /home/mysql/data:放mysql数据 3.创建配置文件 vim /usr/mysql/conf/my.cnf 内容如下 [client]#socket = /usr/mysql/mysqld.sockdefault-character-set = utf8mb4[mysqld]#pid-file = /var/run/mysqld/mysqld.pid#socket = /var/run/mysqld/mysqld.sock#datadir = /var/lib/mysql#socket = /usr/mysql/mysqld.sock#pid-file = /usr/mysql/mysqld.piddatadir = /usr/mysql/datacharacter_set_server = utf8mb4collation_server = utf8mb4_binsecure-file-priv= NULL# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Custom config should go here!includedir /etc/mysql/conf.d/ 4.启动容器并挂载目录 docker run --name mysql8 --restart=always -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -p 4706:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8 ps: -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf 本机的MySQL配置文件映射到容器的MySQL配置文件 -v /etc/localtime:/etc/localtime:ro 本机时间与数据库时间同步 –restart=always 当重启Docker时会自动启动该容器 -d : 后台运行 -p 端口映射 宿主机端口号:容器端口号 -e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码 docker run -p 60306:3306 -e MYSQL_ROOT_PASSWORD=123 -v /etc/my.cnf:/etc/mysql/my.cnf:rw -v /etc/localtime:/etc/localtime:ro --name mysql8 --restart=always -dit mysql 5.进入mysql创建用户 <1>进入容器 docker exec -it mysql8 /bin/bash <2>进入mysql <3>创建用户 我这里创建一个叫 python 的用户 # 创建 python 用户,密码为123456,允许在任意机器上登录CREATE USER 'python'@'%' IDENTIFIED BY '123456'; <4>赋予权限 # 赋予 python 用户在 所有机器上 对 所有数据库和数据表 拥有 所有操作权限GRANT ALL ON *.* TO 'python'@'%';
三、访问测试

连接成功 下载地址: docker之MySQL同步数据的实现 Docker安装MySql8并远程访问的实现 |