Docker 安装mysql8

MySQL™软件提供了一个非常快速,多线程,多用户,强大的SQL(结构化查询语言)数据库服务器
pull一个mysql镜像下来

docker pull mysql

先运行这个镜像copy出配置

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql

移动出mysql data

docker cp mysql:/var/lib/mysql/ ~/

复制到 /mysql/mysql_data/ 文件下

mv ~/mysql /mysql/mysql_data/

同样的道理copy出 配置文件

docker cp mysql:/etc/mysql/my.cnf /mysql/mysql_conf/my.cnf

停止容器 删除容器

docker rm -f mysql

映射启动 mysql镜像 –privileged=true 是对容器赋予权限

-v是将容器内部的文件映射到外部

docker run --name mysql --privileged=true

-v /mysql/mysql_conf/my.cnf:/etc/mysql/my.cnf

-v /mysql/mysql_data:/var/lib/mysql

-e MYSQL_ROOT_PASSWORD=123456

-p 3306:3306 -d docker.io/mysql

启动完毕后 没有设置密码加密方式和远程连接所有外部不能连接 进入镜像

docker exec -it CONTAINER_ID /bin/bash

进入mysql

mysql -h127.0.0.1 -uroot -p123456

如果无法远程连接的话复制下面的话即可

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