docker内启动mysql并使用客户端连接

下载 Docker 镜像

首先,通过以下命令下载 MySQL 8.0.29 版本的 Docker 镜像:

docker pull mysql:8.0.29

这将确保你拥有一个最新的 MySQL 8.0.29 镜像,准备好用来创建容器。


配置文件和数据目录设置

1. 创建 MySQL 配置文件

在宿主机上创建一个用于挂载数据和配置的文件夹。假设文件夹路径为:

E:/mysql/conf/

在此路径下创建一个 my.cnf 配置文件,并输入以下内容:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
default-time-zone='+08:00'
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
bind-address=0.0.0.0

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

2. 创建数据目录

在宿主机上创建一个空的 data 目录来存储 MySQL 数据,路径如下:

E:/mysql/data

此目录将作为 MySQL 容器的数据挂载点。


启动 MySQL Docker 容器

使用以下命令启动 MySQL 容器:

docker run -d -p 3307:3306 -v E:/mysql/conf:/etc/mysql/conf.d -v E:/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-8 --restart=always mysql:8.0.29

说明:

  • -d:表示容器将以后台模式运行。
  • -p 3307:3306:将宿主机的 3307 端口映射到容器的 3306 端口,允许你通过宿主机的 3307 端口访问 MySQL。
  • -v E:/mysql/conf:/etc/mysql/conf.d:将宿主机的配置文件目录挂载到容器的 /etc/mysql/conf.d
  • -v E:/mysql/data:/var/lib/mysql:将宿主机的数据目录挂载到容器的 /var/lib/mysql,用于存储 MySQL 数据。
  • -e MYSQL_ROOT_PASSWORD=123456:设置 MySQL 的 root 用户密码为 123456
  • --name mysql-8:为容器指定一个名称。
  • --restart=always:设置容器在系统重启时自动重启。

使用 Navicat 连接 MySQL

启动容器后,你可以使用任何支持 MySQL 的客户端(如 Navicat)来连接数据库。连接信息如下:

  • 主机:宿主机的 IP 或 localhost
  • 端口:3307(因为我们映射了宿主机的 3307 端口到容器的 3306 端口)。
  • 用户名root
  • 密码123456

连接成功后,你就可以开始使用 MySQL 数据库了。


这样,整个 MySQL 环境就配置好了,并且可以直接通过 Navicat 进行连接和操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容