原创

docker安装mysql并挂载数据

温馨提示:
本文最后更新于 2022年10月12日,已超过 533 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1.在docker上寻找mysql相关的镜像

docker search mysql


或者是去docker hub上面找相对应的版本

2.选择一个镜像进行拉取

docker pull mysql

这里拉取的是第一个镜像
3.查看本地镜像

docker images

通过这个命令可以查看所有的本地镜像

在这里插入图片描述
4.启动mysql容器

docker run -d --restart=always --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

目的是将容器中的文件复制到主机上
5.复制容器中的文件到主机

docker ps -a

查看所有的容器
在这里插入图片描述

docker cp mysql:/var/lib/mysql /root/data/mysql/var/lib/
docker cp mysql:/etc/mysql /root/data/mysql/etc/
docker cp mysql:/var/log  /root/data/mysql/var/log/
docker cp 容器路径 本机路径

6.挂载目录
将刚才启动的容器停掉并关闭,重新创建容器

docker run  -p 3306:3306 
-e MYSQL_ROOT_PASSWORD=123456 
-e TZ=Asia/Shanghai 
-v /root/data/mysql/data:/var/lib/mysql:rw  
-v /root/data/mysql/log:/var/log/mysql:rw  
-v /root/data/mysql/conf/my.cnf:/etc/mysql/my.cnf:rw  
--name mysql 
--restart=always 
-d mysql

-v 本机目录 容器目录

7.测试连接
在这里插入图片描述
8.配置数据库密码:
docker进入数据库

docker exec -it mysql bash
//或者是
docker exec -it CONTAINER ID bash

进入MySQL容器后执行下面命令连接MySQL

mysql -u root -p

执行命令,将用户的加密方式改为mysql_native_password,密码为root(你自己的密码)

alter user 'root'@'%' identified with mysql_native_password by 'root';

执行命令使权限配置项立即生效

flush privileges;

退出

exit
正文到此结束
本文目录