一、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
如有涉及到侵权,请联系,将立即予以删除处理。
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。