下載 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 進行連接和操作。