当前位置:

如何远程连接云服务器docker创建的mysql数据库

本文最后更新于2022-06-29,已超过 1年没有更新,如果文章内容、图片或者下载资源失效,请留言反馈,我会及时处理,谢谢!

温馨提示:本文共1749个字,读完预计5分钟。

文章目录
前言:docker部署mysql的关键在于两点
1.mysql在生产环境产生的数据放在容器里很不安全,我们需要把数据文件夹挂载到容器外,以防数据丢失。
2.运行mysql镜像时需要设置初始密码,并且设置mysql可以远程连接。

1.安装Docker

yum -y install docker-io
#当前启动
systemctl start docker
#自启动
systemctl enable docker

2.安装并启动MySQL:5.7

 # 1.找镜像
 docker search mysql
 
 # 2.拉镜像
docker pull mysql:5.7
 
 # 3.建镜像
 # -p 端口映射 本机端口:容器端口
 # --name:给MySQL容器取的名字
 # -d:表示后台运行
 # -e MYSQL_ROOT_PASSWORD:设置root用户密码
 # -v:表示挂载路径,冒号左面的表示宿主机的挂载目录,冒号右边则表示容器内部的路径。
docker run -p 3306:3306 --name mysql 
-v /usr/local/docker/mysql/conf:/etc/mysql 
-v /usr/local/docker/mysql/logs:/var/log/mysql 
-v /usr/local/docker/mysql/data:/var/lib/mysql
 -e MYSQL_ROOT_PASSWORD=123456 
-d mysql:5.7

OTHER:

docker run -itd --name=mysql -p 3306:3306 -v /www/docker/course/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=mmr702351mysql -d mysql
 
-i 表示交互模式运行容器
-t 为容器分配一个伪输入终端
-d 表示后台运行容器 并返回容器Id
ps:不指定版本号拉取最新

3.配置网路访问权限

1.root外网连接权限配置

# 进入mysql容器
docker exec -it mysql bash
# -u后接账户 -p接密码
mysql -uroot -p123456
# 外网范围授权(不适用mysql8)
grant all privileges on *.* to root@'%' identified by "password";
# 刷新权限
flush privileges;
# 一定要更新密码,否则Navicat连接报1045错误 (mysql8 此句即可)
alter user 'root'@'%' identified with mysql_native_password by '123456';
# 刷新权限
flush privileges;

2.3306端口开发

# 1.放行3306端口
systemctl start firewalld
firewall-cmd  --zone=public --add-port=3306/tcp --permanent  # 添加放行端口
firewall-cmd  --reload # 成功后再重载防火墙
systemctl restart firewalld.service # 再重启下防火墙服务
# 2.直接关防火墙法(1或2选一种就行)
systemctl stop firewalld

4.云服务器配置安全组

 如何远程连接云服务器docker创建的mysql数据库-Mr.Li's Blog

5.navivat连接成功

 如何远程连接云服务器docker创建的mysql数据库-Mr.Li's Blog

 

本文链接:,转发请注明来源!
评论已关闭。