docker下mysql 8.0.28安装及远程访问
1、拉镜像
docker pull mysql:8.0.28
2、启动镜像
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.28
查看是否启动成功
docker ps -a
3、启动成功后,进入容器内部拷贝配置文件,到宿主主机
docker cp mysql:/etc/mysql /home/docker/mysql8.0.28
拷贝容器的 /etc/mysql目录到 主机目录/home/docker/mysql8.0.28
4、删除mysql容器,重新创建容器
1、停止容器
docker stop mysql
2、删除容器
docker rm mysql
5、启动mysql ,挂载配置文件,数据持久化到宿主主机
docker run -p 3306:3306 --name mysql --privileged=true --restart unless-stopped -v /home/docker/mysql8.0.28/mysql:/etc/mysql -v /home/docker/mysql8.0.28/logs:/logs -v /home/docker/mysql8.0.28/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -v /home/docker/mysql8.0.28/mysql-files:/var/lib/mysql-files/ -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.28
查看是否启动成功
docker ps -a
查看文件目录是否挂载成功
6、设置远程连接
1、进入容器
docker exec -it 你的容器id /bin/bash
2、进入mysql
mysql -u root -p
3、设置
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '';
flush privileges;
普通用户设置:
ALTER USER 'myuser'@'%' IDENTIFIED WITH mysql_native_password BY 'mypass'; flush privileges; grant all privileges on mydb.* to 'myuser'@'%' with grant option; flush privileges;