打开命令行,运行
ocker pull mysql:8.0.21
下载成功后,可以看到
进入cmd,输入
docker run -d --name mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=abc123456 mysql:8.0.21 --lower_case_table_names=1
-d: 这个标志表示以守护进程(detached)模式运行容器,即容器将在后台运行。
--name mysql: 给容器指定一个名称为 "mysql",方便后续管理和引用该容器。
-p 3306:3306: 端口映射,将宿主机的 3306 端口映射到容器内部的 3306 端口。这样外部应用可以通过宿主机的 3306 端口访问到 MySQL 服务。
-v /root/mysql/data:/var/lib/mysql: 数据卷挂载,将宿主机目录
/root/mysql/data
映射到容器内的/var/lib/mysql
目录,用于持久化存储 MySQL 的数据文件。-v /root/mysql/config:/etc/mysql/conf.d: 另一个数据卷挂载,将宿主机上的
/root/mysql/config
目录挂载到容器内的/etc/mysql/conf.d
目录,以便于自定义 MySQL 配置文件。-e MYSQL_ROOT_PASSWORD=abc123456: 设置环境变量,用以初始化 MySQL 的 root 用户密码为 "abc123456"。
mysql:8.0.21: 指定要运行的 Docker 镜像名称和版本,这里是 MySQL 8.0.21 版本。
--lower_case_table_names=1: 这是一个启动时传递给 MySQL 服务器的选项,设置它为 1 表示 MySQL 将把所有数据库表名转换为小写,这有助于跨不同操作系统的兼容性。
也可以用可视化工具启动
启动后,可以通过cmd查看
也可以通过可视化工具
接下来,需要进入容器,修改一些配置
docker exec -it mysql /bin/bash
mysql -uroot -p
abc123456(手动输入密码)
修改支持mysql远程链接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY "abc123456";
刷新数据库
flush privileges;
至此,安装完成
使用Navicat成功连接