Docker下安装mysql

1.拉取mysql指定版本

docker pull mysql:5.7

2. 部署容器

docker run --name mysql -d --restart=always -p 3306:3306 -v /var/lib/mysql:/data/mysql/data -v /etc/mysql/conf.d:/data/mysql/conf/conf.d -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7

--name 是启动的容器名
--restart=always 开机自启
-d 后台运行(不使用后台运行的话,xshell退出后服务就会停止)
-v 挂载文件路径 -v 容器文件路径:宿主机文件路径
-p 端口映射 -p 容器内端口:宿主机端口
-e 容器内配置,配置root账号密码为1234
最后面的mysql:5.7就是镜像名,同样,不加版本号的话会默认加一个:latest

mysql启动容器内的默认路径为 /var/lib/mysql 和 /etc/mysql/conf.d 这里也可以不做挂载,看个人习惯。

2.Navicat连接
正常来讲mysql部署完成,但是有些小伙伴会发现Navicat连接不上去,这里分享我初次部署遇到的几种情况(因为这次不是初次部署,所以相关报错图片这里不提供了,各位小伙伴自己判断排查)

①权限未分配
如果权限未分配的话,可能导致Navicat连接不上数据库或者连接上数据库,但是没法做其他操作,例如建库建表等。
这里打开我们的xshell,连接服务器进行配置:
a.首先查看运行中的容器,容器是否正常,端口是否正确映射等

docker ps
1


b.进入mysql容器,进行mysql配置

docker exec -it mysql bash
// 注意这里的mysql是指自己的mysql容器名称,不是固定的写mysql
// 进入容器后可以再次使用docker命令,例如docker ps来查看是否进入容器
// 进入容器后docker命令就用不了了,会提示错误
// 但是使用这个命令,有些小伙伴也进不去容器,这里可以试试下面这个(虽然我感觉都一样)
// docker exec -it mysql /bin/bash
1
2
3
4
5
6


c.进入数据库,修改配置
进入数据库:

mysql -uroot -p1234
1
下面的sql语句小伙伴们自己看着来,如果出现我这种情况的话就得加分号,隔行加。


-- 切换数据库
use mysql
-- 赋予权限
update user set host='%' where user='root'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
1
2
3
4
5
执行完成后,退出mysql,退出容器

// 退出mysql和退出容器都是这个命令
exit
1
2
再次使用Navicat连接试试,如果还不行重启一下docker容器,再试试,还是不行再接着往下看。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_50867577/article/details/130429269

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值