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