Docker desktop安装mysql

首先本地已经有 docker 环境存在,然后可以拉取 MySQL 镜像。

相关 mysql 仓库地址:

https://hub.docker.com/_/mysql/

	# 镜像拉取 docker pull mysql:8.0.26
	docker pull mysql:latest
	# 查看镜像列表
	docker image ls

等待镜像完成之后就可以启动 mysql 了,注意需要配置一些启动参数

	# 启动命令
	docker run -it --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=12345678 mysql:8.0.28
	# 如果要后台启动加-d参数
	docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=12345678 mysql:8.0.28
	# 查看容器
	docker ps
	# 查看容器,包括已经停止的
	docker ps -a
	# 停止镜像
	docker kill 容器id
	# 再次启动已经停止的容器
	docker start 容器id

MySQL 提供了很多环境变量参数,可以自定义 MySQL 环境,常用的如下:

参考地址:https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html

参数名说明默认值
MYSQL_ROOT_PASSWORDroot 用户的密码my-secret-pw
MYSQL_DATABASE自定义新数据库名称
MYSQL_USER自定义用户名
MYSQL_PASSWORD自定义用户密码
MYSQL_ALLOW_EMPTY_PASSWORD是否允许启动 root 密码是空密码:非空表示 yes空表示 no
MYSQL_RANDOM_ROOT_PASSWORD使用随机 root 密码,一般从日志中查找密码:非空表示 yes空表示 no
MYSQL_ONETIME_PASSWORDroot 使用一次性密码:非空表示 yes,登录后强制要求修改空表示 no
MYSQL_INITDB_SKIP_TZINFOCONVERT_TZ() 获取时区,非空表示 disable

一般使用MYSQL_ROOT_PASSWORD就可以了

上面的情况下启动的 MySQL 能够满足基本需求,不过每次重启之后数据就丢失了,就算是开发环境这样也不能接受的,需要挂接本地磁盘,方便下次可以访问。

首先可以选择一个本地文件路径,如:C:/MySQL/data,然后映射到/var/lib/mysql,增加命令参数: -v C:/MySQL/data:/var/lib/mysql,完整命令:

docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -v D:\DockerRepmysql\data:/var/lib/mysql -v D:\DockerRep\mysql\conf/conf.d:/etc/mysql/conf.d mysql:8.0.28
docker run --name mysql -v D:\DockerRep\mysql\conf:/etc/mysql -v D:\DockerRep\mysql\log:/var/log -v D:\DockerRep\mysql\data:/var/lib/mysql -v D:\DockerRep\mysql\conf\conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=jecn@123 -d -i -p 13306:3306 mysql:5.7.37

如果还要自定义配置文件可以再增加:D:\DockerRep\mysql\conf/conf.d:/etc/mysql/conf.d,然后可以用客户端登录了,而且下次启动不会丢失数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值