项目中如何使用Docker下的MySQL?

7 篇文章 0 订阅

一、docker安装

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

二、docker镜像源修改(不然拉取会很慢)

阿里镜像:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
在这里插入图片描述

三、docker安装mysql

 # 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

Tips:安装可能出现如下异常

# 异常
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".

# 解决
yum update systemd
service docker restart

四、配置外网访问权限

1.root外网连接权限配置
# 进入mysql容器
docker exec -it mysql bash
# -u后接账户 -p接密码
mysql -uroot -p123456
# 外网范围授权
grant all privileges on *.* to root@'%' identified by "password";
# 刷新权限
flush privileges;
# 一定要更新密码,否则Navicat连接报1045错误
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
# 2.直接关防火墙法(1或2选一种就行)
systemctl stop firewalld

五、Navicat连接测试

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值