在docker中配置mysql数据库 并配置远程连接

启动docker

systemctl docker start 
启动:systemctl start docker
	  service docker start
停止:systemctl stop docker
重启:systemctl restart docker

每次都需要用如下命令手动开启服务:

systemctl daemon-reload
systemctl restart docker.service

可以设置开机自启docker

# docker 服务开机自启动命令
systemctl enable docker.service
# 关闭docker 服务开机自启动命令
systemctl disable docker.service

查看当前docker 所有镜像

docker images

查看停止运行的容器

docker ps -aq

 若已存在mysql容器 直接运行

  docker start mysql8.0(容器名称)

安装mysql

   指定版本

docker pull mysql:8.0.25  

 创建并启动mysql

sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.25

注释

		docker run:在docker中启动一个容器实例
		-d:该容器在后台运行
		-p 3306:3306:容器与主机映射端口为,主机3306,容器3306
		--name mysql:容器运行后的名称
		-v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
		-v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
		-v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
		-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
		mysql:8.0.25:需要运行的容器名称以及版本号

例如Docker中创建并运行mysql8.0.25


docker run -d --name mysql8.0 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=2012234189 mysql:8.0.25 --lower_case_table_names=1

运行docker ps查看

进入mysql 

docker exec -it mysql8.0 bash
mysql -uroot -p2012234189

 开启远程访问权限

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '2012234189';
flush privileges;

 在navicat中