docker+mysql 阿里服务器远程连接

2020-03-04  本文已影响0人  左右_5536

1、docker搜索mysql版本

docker search mysql

2、拉下mysql镜像,我拉的是5.7的

docker pull mysql:5.7

docker images 可以查看是否下载成功镜像

3、创建并启动mysql容器

docker  run -d --name mysql5-3306 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='数据库密码' mysql:5.7

其中-d 是指后台运行,

--name 是给该容器起名字,

-p是端口号,

MYSQL_ROOT_PASSWORD设置的是你连接数据库时候输入的密码,比如下图的密码

连接数据库的密码

最后mysql:5.7,是你刚刚下载的mysql镜像,冒号后面是版本号,如果不加会重新弄最新版本(未测)

4、访问mysql(如果这里访问不上,可以考虑是否服务器没有添加3306端口,看6.1.1)

进入到容器内部

docker exec -it mysql5-3306 bash

这里的mysql5-3306是你刚刚启动时候给容器起的名字

连接mysql数据库

mysql -u root -p

或者 mysql -uroot -p密码

输入数据库密码即可,即上面填写的MYSQL_ROOT_PASSWORD

5、授权其他机器登陆

5.1授权其他机器登陆

grant all privileges on *.* to 'root'@'%' identified by '数据库密码' with grant option;

5.2刷新权限:

flush privileges;

5.3退出

exit;

6,在这个时候远程

6.1注意,前面一直没有讲到关于阿里服务器,如果你现在不能连接,你去看看你的服务器有没有开通3306端口,因为我以前用过,所以我先开通了,没有遇到是端口没开通的错误,这里记录一下可能会错的点

6.1.1   3306端口的开通

6.2 报错access denied for user root@120.239.220.9(using password:Yes)

是因为我授权的时候

grant all privileges on *.* to 'root'@'%' identified by '数据库密码' with grant option;数据库密码没有填对,然后密码不对应连接的报错,这个坑了我挺久的。

未测:

注意:(如果阿里云服务器部署和访问,防火墙默认是关闭的,需要手动开启)

https://www.cnblogs.com/kccdzz/p/8110143.html

阿里云控制组中加入该权限:

https://blog.csdn.net/yenange/article/details/89499840

该笔记是观看哔哩哔哩视频总结

暂时就这些问题,如果有什么建议或者意见的可以互相商量探讨一下,初次使用docker,多多指教

上一篇 下一篇

猜你喜欢

热点阅读