Springboot MySQL + Docker 访问被拒绝错误

     2023-02-24     164

关键词:

【中文标题】Springboot MySQL + Docker 访问被拒绝错误【英文标题】:Springboot MySQL + Docker Access Denied Error 【发布时间】:2022-01-23 20:50:15 【问题描述】:

我一直在努力解决如何解决此错误。

我有一个 Springboot 和 MySQL 项目,我正在尝试 dockerize,我的 MySQL 容器启动正常,使用 docker container logs mysql-standalone 检查日志时,我没有收到错误。 p>

问题是当我尝试 docker container logs springboot-docker (My springboot image) 时,我收到此错误:

java.sql.SQLSyntaxErrorException: Access denied for user 'demo'@'%' to database 'docker_demo'
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.27.jar!/:8.0.27]
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.27.jar!/:8.0.27]
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[mysql-connector-java-8.0.27.jar!/:8.0.27]
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-java-8.0.27.jar!/:8.0.27]
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-java-8.0.27.jar!/:8.0.27]
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-java-8.0.27.jar!/:8.0.27]
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar!/:na]
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar!/:na]
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar!/:na]
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar!/:na]
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar!/:na]
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar!/:na]
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-4.0.3.jar!/:na]

我创建了一个 demo MySQL 实例,而不是使用 root 实例。

我尝试以 root 身份登录 MySQL shell 并授予对我的 demo MySQL 实例中所有数据库的访问权限,但我仍然遇到同样的错误。

GRANT ALL ON *.* TO 'demo'@'localhost'; Query OK, 0 rows affected (0.02 sec)


Dockerfile

1 FROM adoptopenjdk/openjdk11:alpine-jre
  2 ADD target/docker-0.0.1-SNAPSHOT.jar springboot-mysql-docker.jar
  3 EXPOSE 8089
  4 ENTRYPOINT ["java","-jar","springboot-mysql-docker.jar"]
~                                                                

Docker 镜像


Docker ps -a


我有很多错误,但似乎已修复,看来这是我需要修复的最后一个问题才能最终能够在容器中运行我的项目。

【问题讨论】:

【参考方案1】:

看来问题出在您的授权声明上。 您正在使用语句GRANT ALL ON *.* TO 'demo'@'localhost'; 向演示用户授予权限,因此只有当该用户通过本地连接时,该权限才适用于演示用户,即。从同一台机器上的应用程序连接,由@'localhost'指定

像这样更新您的授权声明,GRANT ALL ON *.* TO 'demo'@'%';

【讨论】:

会尝试并回复您。 尝试授予所有权限时出现此错误。错误 1410 (42000):您不能使用 GRANT 创建用户 @ServletException askubuntu.com/questions/1322175/… 在谷歌上搜索了一段时间,找不到有效的解决方案,总是一样:错误 1410 (42000):在尝试 GRANT ALL ON 时,您不允许使用 GRANT 创建用户. TO 'demo'@'%'; @ServletException 您是否尝试过我发布的上述链接?

SpringBoot docker连接到mysql docker容器

】SpringBootdocker连接到mysqldocker容器【英文标题】:SpringBootdockerconnecttomysqldockercontainer【发布时间】:2019-08-0413:19:22【问题描述】:我提取了mysqldocker镜像并使用命令运行容器:dockerrun--namemyapp-mysql-eMYSQL_ROOT_PASSWORD=root-eMYSQL_DATABASE=m... 查看详情

Springboot MySQL + Docker 访问被拒绝错误

】SpringbootMySQL+Docker访问被拒绝错误【英文标题】:SpringbootMySQL+DockerAccessDeniedError【发布时间】:2022-01-2320:50:15【问题描述】:我一直在努力解决如何解决此错误。我有一个Springboot和MySQL项目,我正在尝试dockerize,我的MySQL容器启... 查看详情

Docker 教程不适用于 springboot+mysql+react 应用程序

】Docker教程不适用于springboot+mysql+react应用程序【英文标题】:Dockertutorialnotworkingforspringboot+mysql+reactapplication【发布时间】:2020-04-2403:52:57【问题描述】:我正在尝试使用spring-boot、mysql和react来熟悉docker和应用程序,我想运行这... 查看详情

docker-compose+springboot+mysql+redis+nginx发布web应用:part1

...er-compose相对要简单得多。这里是一篇使用docker-compose,对springboot应用进行一个集群(2个docker)发布的过程。1.前言  架构:springboot使用nginx 查看详情

Spring Boot + MySQL + Docker Compose - 无法使 Spring Boot 连接到 MySQL

】SpringBoot+MySQL+DockerCompose-无法使SpringBoot连接到MySQL【英文标题】:SpringBoot+MySQL+DockerCompose-CannotmakeSpringBootconnecttoMySQL【发布时间】:2020-07-1215:56:09【问题描述】:我一直在尝试在后端(在SpringBoot上运行)容器和预构建的MySQL容器... 查看详情

Spring Boot + docker-compose + MySQL:连接被拒绝

】SpringBoot+docker-compose+MySQL:连接被拒绝【英文标题】:SpringBoot+docker-compose+MySQL:Connectionrefused【发布时间】:2019-06-0607:10:30【问题描述】:我正在尝试设置一个SpringBoot应用程序,该应用程序依赖于docker-compose中名为teste的MySQL数据... 查看详情

docker运行mysql优势,成功拿下大厂offer

1.美团面试官问的SpringBoot问题什么是SpringBoot?为什么要用SpringBoot?SpringBoot的核心配置文件有哪几个?它们的区别是什么?SpringBoot的配置文件有哪几种格式?它们有什么区别?SpringBoot的核心注解是哪个... 查看详情

配置 Spring Boot Docker 和 Mysql

】配置SpringBootDocker和Mysql【英文标题】:ConfiguringSpringbootDockerandMysql【发布时间】:2019-04-1223:34:16【问题描述】:我是SpringBoot和Docker的新手。我正在尝试创建一个连接到mysql并使用Docker运行两者的SpringBoot应用程序。我遵循的步骤... 查看详情

idea一键加密部署springboot到docker容器(代码片段)

...功即可这里可查看咱们的容器3.配置mysql容器因为我们的springboot项目需要使用到mysql,所以需要安装mysql,正好一起部署到docker上面。在安装了docker的linux服务器上执行以下命令拉取mysql最新版本镜像dockerpullmysql查看mysql镜... 查看详情

用docker+nginx部署springboot+vue项目,以及部署mysql

参考技术Aspringboot打包容器运行容器nginxdockerrun--namenignx-d-p80:80-v/usr/nginx/html:/usr/share/nginx/html-v/usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf-v/usr/nginx/conf.d:/etc/nginx/conf.dnginx 查看详情

Docker 上的 Spring Boot 无法连接到 MySQL

】Docker上的SpringBoot无法连接到MySQL【英文标题】:SpringBootonDockerunabletoconnecttoMySQL【发布时间】:2019-01-2912:41:48【问题描述】:我使用MySQL为我的SpringBoot应用程序编写了dockercompose。当我最终运行docker-composeup时出现错误:Thelastpacke... 查看详情

Spring Boot + MySQL docker 容器

】SpringBoot+MySQLdocker容器【英文标题】:SpringBoot+MySQLdockercontainers【发布时间】:2022-01-0900:21:12【问题描述】:我有两个容器,一个带有Srping应用程序,另一个带有mysql。当我在本地机器上运行Spring应用程序时,它成功连接到我在d... 查看详情

dockercompose部署springboot+mysql项目(代码片段)

DockerCompose部署Springboot+Mysql项目在上一篇文章SpringBoot(Maven)+Docker打包中,我们实现了将Springboot项目源代码一键打包部署为Docker服务。上文中,我们的Springboot项目如果要与数据库的连接,就必须连接公网IP来使用&... 查看详情

(dockernginx)springboot+vue前后端分离部署详细完整版

参考技术A简述:Springboot+Vue前后端分离项目部署,主要采用docker容器部署方式。Springboot项目部署:docker构建mysql环境+docker构建项目自身环境。Vue项目:使用docker启动nginx服务器方式代理部署。项目使用mysql8.0作为数据源,所以部... 查看详情

(转)springboot2:dockercompose+springboot+nginx+mysql实践

http://www.ityouknow.com/springboot/2018/03/28/dockercompose-springboot-mysql-nginx.html我知道大家这段时间看了我写关于docker相关的几篇文章,不疼不痒的,仍然没有感受docker的便利,是的,我也是这样认为的,Iknowyourfelling。前期了解概念什么的... 查看详情

docker部署springboot前后端分离项目(jdk+jar包+mysql+redis+nginx)

jdk1.8,dockerfile文件1.vimjdk-dockerfile?FROMcentos:7MAINTAINERsinvie.cnWORKDIR/usrRUNmkdir/usr/local/javaADDjdk-8u221-linux-x64.tar.gz/usr/local/java/ENVJAVA_HOME/usr/local/java/jdk1.8.0_221ENVJRE_HOME 查看详情

云原生时代必须具备的核心技能之docker高级篇(docker实战之springboot项目部署)(代码片段)

...,那么本文就继续在这个基础上我们实现一个具体的SpringBoot项目部署。话不多说,直接开干!!!SpringBoot项目部署  咱们一个实际的项目部署情况应该是这样的。  接下来我们就在MySQL集群环境的基础上来完成一个SpringB... 查看详情

ubuntu16.04下docker部署springboot、mysql、redis、nginx和vue

参考技术A本文以开源项目SpringBlade和Saber为例。1、创建自定义网络目的是将用到的服务都放到同一个网络段,以方便互相通信。dockernetworkcreate--subnet172.19.0.0/16mynetwork2、Docker安装MySQL、Redis、Nginx(1)安装MySQLdockerpullmysql:5.7.30cd~mkd... 查看详情