远程连接docker部署的mysql
最近在帮一个朋友弄挑战杯的后端,学校也赞助了我们服务器,就利用这个机会看看项目部署上的一些要点
本文主要介绍关于对docker部署的mysql的一个远程连接
1. docker拉取mysql镜像
docker pull mysql
2.拉取完后运行mysql容器
docker run --name mysql -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
解释下:
--name :后面是这个镜像的名称
3307:3306:表示在这个容器中使用3307端口(第二个)映射到本机的端口号也为3306(第一个)
-d :后台运行
-e MYSQL_ROOT_PASSWORD=123:设置root初始密码
3.进入到mysql容器内部
docker exec -it mysql bash
登录:
mysql -uroot -p123
查看用户信息:
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | caching_sha2_password | $A$005$HF7;krfwhkKHp5fPenQm4J2dm/RJtbbyjtCUVdDCcboXQw3ALxsif/sS1 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
修改加密方式:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ### 123456 mysql的登录密码
flush privileges;
在查看用户信息
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)
刷新配置
flush privileges;
四,阿里云记得开放3307端口
防火墙中添加规则
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvKhQrpY-1576307450916)(C:\Users\12642\AppData\Roaming\Typora\typora-user-images\image-20191214150951395.png)]
扫描二维码关注公众号,回复:
8678636 查看本文章