docker上安装与卸载mysql 8.0版本、并配置远程访问(测试成功)

艺帆风顺 发布于 2025-04-03 22 次阅读


一、docker上安装mysql

1、下载mysql镜像(以8.0.15为例)

docker pull mysql:8.0.15

2、下载好后,在opt下创建文件夹

命令:cd /opt/
命令:mkdir mysql_docker
命令:cd mysql_docker/
命令:echo $PWD

3、创建实例并启动

docker run --name mysqlserver 
-v $PWD/conf:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-i -p 3306:3306 mysql:8.0.15

报错:
问题一:

4d7f7420b9123de6de8952a7e61f8614e19b2e2a11ca1e870e6b30ffc67924df
docker: Error response from daemon: driver failed programming external
connectivity on endpoint mysql (9d53678b0e62ec2668c2bff8ac1050e5c512727787e7afe2f8883cdd7fe611e7):
Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.

解决:

netstat -tanlp //找到被占用的端口进程
kill 1506 //kill对应进程

问题二:容器名被占用,须移除或重命名后才能使用这个容器名

docker: Error response from daemon: Conflict. The container name "/mysql" is already in use by 
container "4d7f7420b9123de6de8952a7e61f8614e19b2e2a11ca1e870e6b30ffc67924df".
You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

解决:

docker rm 4d7f7420b912 (这个是CONTAINER ID) //移除
//再创建新容器
docker run --name mysqlserver
-v $PWD/conf:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-i -p 3306:3306 mysql:8.0.15
//查看
docker ps -a

其他命令

//查看docker上的镜像
docker images
//查看docker上的实例情况
docker ps -a
docker ps //只能看到运行的实例
//重启实例
docker restart ebc54f9f98e2(CONTAINER ID)
//停止实例
docker stop ebc54f9f98e2(CONTAINER ID)

二、删除镜像

//移除一个镜像
docker rm ba51fc8d04e1(CONTAINER ID)
//删除docker上的镜像
docker rmi 7bb2586065cd(IMAGE ID)

注:移除和删除都要停止实例

三、进入mysql并开启远程

1、进入查看容器

cd /var/lib/docker/containers/


2、进入mysql容器,并登陆mysql

docker exec -it mysqlserver bash
mysql -uroot -p
Enter password:

3、开启远程访问

select now();
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;


大功告成!!!

    版权声明:本文内容来自CSDN:m067402026,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。原文链接:https://blog.csdn.net/m0_67402026/article/details/126327341如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。