spring-boot连接docker mysql镜像连接不上出现的问题

今天在学习使用spring-boot连接docker中的mysql镜像时,连接数据库的配置都没有问题,因一般我们会选在虚拟机中安装docker,然后在安装相关镜像,所以问题肯定是出现在root用户允许远程连接的问题上。如果非docker镜像网上有很多解决方案,但是这里只有通过进入mysql中修改root用户可以以任何客户端连接。具体步骤如下
首先进入mysql容器中:

docker exec -ti 你的容器id /bin/bash

然后登录到mysql中:

mysql -u root -p

执行一下命令:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的root用户密码';

注意这里有很多修改root用户远程登录博客是这么写的:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

但是我改了并没有效果,可能是mysql版本问题,一点要注意mysql-8.0以上的版本和7以前很大的不一样,要慎重选择。
转载:
参考连接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker Compose中部署包含MySQL的Spring Boot项目,并创建要连接的数据库和表,可以按照以下步骤进行操作: 1. 首先,创建一个名为`docker-compose.yml`的文件,用于定义Docker容器的配置。在该文件中,可以定义两个服务:一个用于运行Spring Boot应用程序的服务,另一个用于运行MySQL数据库的服务。以下是一个示例的`docker-compose.yml`文件: ``` version: '3' services: app: build: context: . dockerfile: Dockerfile depends_on: - db ports: - 8080:8080 environment: - SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/mydatabase - SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=root db: image: mysql:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=mydatabase ``` 在上面的示例中,`app`服务用于构建和运行Spring Boot应用程序,`db`服务用于构建和运行MySQL数据库。 2. 在Spring Boot项目的根目录中创建一个名为`Dockerfile`的文件,用于构建Spring Boot应用程序的Docker镜像。以下是一个示例的`Dockerfile`文件: ``` FROM openjdk:11-jdk-slim COPY target/myproject.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 在上面的示例中,将Spring Boot项目的JAR文件复制到Docker镜像中,并使用`java -jar`命令运行应用程序。 3. 在Spring Boot项目的配置文件(如application.properties或application.yml)中,配置MySQL数据库连接信息。以下是一个示例的配置文件: application.properties: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=root ``` 在上面的示例中,配置了MySQL数据库的URL、用户名和密码。 4. 运行以下命令使用Docker Compose启动应用程序和数据库容器: ``` docker-compose up ``` 以上步骤将会构建和启动包含Spring Boot应用程序和MySQL数据库的Docker容器。应用程序将连接MySQL数据库,并根据实体类或SQL脚本自动创建表。 请注意,上述示例中的用户名和密码是示例值,你可以根据需要进行修改。此外,这只是一个简单示例,你可能需要根据自己的项目需求进行更多的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值