使用docker拉取镜像
docker pull mysql:8.0
docker 部署
bash
docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456789 -v ${HOME}/docker/mysql/data:/var/lib/mysql -v ${HOME}/docker/mysql/config:/etc/mysql/conf.d --restart unless-stopped mysql:8.0
参数详解
-
-d
- 作用:以"分离模式"(后台运行)启动容器。
- 示例:容器启动后,终端不会阻塞。
-
--name mysql8
- 作用 :为容器指定名称
mysql8
(便于后续管理)。 - 注意:名称必须唯一,重复使用会报错。
- 作用 :为容器指定名称
-
-p 3306:3306
- 作用 :将宿主机的
3306
端口映射到容器的3306
端口。 - 格式 :
主机端口:容器端口
。 - 用途 :允许外部通过宿主机的
3306
端口访问 MySQL 服务。
- 作用 :将宿主机的
-
-e MYSQL_ROOT_PASSWORD=123456789
- 作用 :设置 MySQL 的 root 用户密码为
123456789
。 - 关键性:此环境变量是必需的,否则容器启动会失败。
- 作用 :设置 MySQL 的 root 用户密码为
-
-v ${HOME}/docker/mysql/data:/var/lib/mysql
- 作用 :将宿主机目录
${HOME}/docker/mysql/data
挂载到容器的/var/lib/mysql
。 - 用途:持久化 MySQL 数据文件(避免容器删除后数据丢失)。
- 路径说明 :
${HOME}/docker/mysql/data
:宿主机目录(需提前创建)。/var/lib/mysql
:容器内 MySQL 默认数据存储路径。
- 作用 :将宿主机目录
-
-v ${HOME}/docker/mysql/config:/etc/mysql/conf.d
- 作用 :挂载自定义配置文件目录到容器的
/etc/mysql/conf.d
。 - 用途:覆盖 MySQL 默认配置(如字符集、缓冲区大小等)。
- 示例 :在宿主机
${HOME}/docker/mysql/config
下放置my.cnf
文件。
- 作用 :挂载自定义配置文件目录到容器的
-
--restart unless-stopped
- 作用 :设置容器自动重启策略。
unless-stopped
:除非手动停止,否则总是重启(如宿主机重启后自动恢复容器)。
- 其他选项 :
no
(默认):不自动重启。always
:无条件重启(包括手动停止后)。
- 作用 :设置容器自动重启策略。
-
mysql:8.0
- 作用:指定使用的镜像为官方 MySQL 8.0 版本。
- 注意 :若本地不存在该镜像,Docker 会先拉取(
docker pull mysql:8.0
)。
本地连接mysql镜像
使用brew安装本地mysql客户端
bash
brew install mysql-client
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
连接mysql
css
mysql -h 127.0.0.1 -P 3306 -u root -p
DBever连接镜像
测试连接报错:Public Key Retrieval is not allowed
先点 finish,完成连接
右键该连接,点击 Edit Connection

将"allowPublicKeyRetrieval" 设置为 true,将"useSSL"设置为 false
