docker 启动 solo 报错

本贴最后更新于 2194 天前,其中的信息可能已经水流花落

背景:
1.已经常见了 solo 数据库
2.已经给 root 用户增加权限
3.启动 docker 命令如下

docker run --detach --name solo --network=host \ --env RUNTIME_DB="MYSQL" \ --env JDBC_USERNAME="root" \ --env JDBC_PASSWORD="Jiate888!" \ --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \ --env JDBC_URL="jdbc:mysql://**.**.***.**:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \ b3log/solo --listen_port=8080 --server_scheme=http --server_host=www.cfreedomc.fun --server_port=

报错信息

java.sql.SQLException: Access denied for user 'root'@'**.**.***.**' (using password: NO) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136) at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:541) at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) at org.b3log.latke.repository.jdbc.util.Connections.getConnection(Connections.java:194) at org.b3log.solo.service.InitService.initTables(InitService.java:178) at org.b3log.solo.service.InitService_$$_jvst36c_3f._d7initTables(InitService_$$_jvst36c_3f.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.b3log.latke.ioc.JavassistMethodHandler.invoke(JavassistMethodHandler.java:116) at org.b3log.solo.service.InitService_$$_jvst36c_3f.initTables(InitService_$$_jvst36c_3f.java) at org.b3log.solo.SoloServletListener.contextInitialized(SoloServletListener.java:106) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:952) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:558) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:917) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:370) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847) at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) at org.eclipse.jetty.server.Server.start(Server.java:416) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) at org.eclipse.jetty.server.Server.doStart(Server.java:383) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.b3log.solo.Starter.main(Starter.java:177) [ERROR]-[2019-08-08 17:27:56]-[org.b3log.solo.service.InitService:186]: Check tables failed, please make sure database existed and database configuration [jdbc.*] in local.props is correct [msg=Access denied for user 'root'@'**.**.***.**' (using password: NO)]
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1444 引用 • 10083 回帖 • 500 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    10301 引用 • 46786 回帖 • 61 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 数据库用户确定能登录 mysql 吗?(远程登录还是本地登录)

  • 这是我的配置 你可以参考下

    1 回复
  • cfreedomc
    作者

    感谢,我起的是云服务器里的,数据库用户都可以正常登陆的

    1 回复
  • 要确定一下是否用配置的 IP 可以登录。

    2 回复
  • cfreedomc
    作者

    确认了 我用这个 IP 在远程 navicat 上正常可以进入

  • cfreedomc
    作者

    image.png

    1 回复
  • InkDP via Linux

    jdbc:mysql://**.**.***.** 这个是什么鬼

    java.sql.SQLException: Access denied for user 'root'@'**.**.***.**' (using password: NO)

    1 回复
  • 要不你用 127.0.0.1 配置一下试试?

    1 回复
  • cfreedomc
    作者

    哈哈 这个是我手动屏蔽了自己的 IP 哈哈

    1 回复
  • InkDP via Linux

    这里一直写的都是 127.0.0.1

    2 回复
  • cfreedomc
    作者

    我一会尝试下,先工作会~

  • cfreedomc
    作者

    依然报错 变成 Access denied for user 'root'@'localhost'(using password:NO)

    1 回复
  • cfreedomc via macOS
    作者

    image.png

    1 回复
  • 你的 Docker 版本是多少?

    1 回复
  • InkDP via Linux

    瞎鼓捣吧,我也不知道咋回事了。咋我觉得你们的东西这么容易错呢

  • cfreedomc via macOS
    作者

    image.png

    1 回复
  • 安装个最新版试试,网络模式是 host 的时候 127.0.0.1 在低版本 Docker 上表现和现在的版本不一样。

    1 回复
  • ellenbboe

    Access denied for user 'root'@'localhost'(using password:NO)这个是数据库的问题吧

  • cfreedomc
    作者

    已经换了最新的 docker,还是一样的问题, 我发现是不是我的数据库不是在 docker 里的,我是在云服务器上装的数据库,我看 jinjianh 的帖子里是在 docker 里面装的

    1 回复
  • 网络模式用 host 的话可以直连宿主机的 MySQL 的,现在有个问题是为啥日志打印 localhost 而不是 127.0.0.1。日志如果打印的是 localhost 的话说明是在尝试连接 Docker 进程内的 localhost,不是宿主机上的。

    1 回复
  • cfreedomc
    作者

    我解决了...感觉是我这个"jiate888!" 这个密码解析不了, 我添加了新用户 solo 密码也是 solo 就可以了

    1 回复
  • 哦,以 ! 结尾的密码报错有用户在我们另一个项目(golang)中报告过,但我们还没有进行确认。我应该早点注意到的,总之,能用就行 😂

    2 回复
  • cfreedomc
    作者

    😭 没事 我再捣鼓捣鼓 感谢 D 大和社区的各位

  • godboys

    mysql 是什么版本的 8.0 的有问题

    1 回复
  • cfreedomc
    作者

    我用的 5.7 的

  • fewok 1 1 赞同 via macOS

    这里是 shell 命令,双引号里可以附带变量以及一些简单运算,比如 ${}是变量引入

    建议 D 大将双引号改成单引号,避免新人入坑。

    1 操作
    fewok 在 2019-09-27 14:44:54 更新了该回帖
  • GitHubtianjingle

    请问您这个日志是在哪里看的,我找不到日志啊,用 docker 部署的,然后 docker ps 啥也没有,docker logs 又没有合适的 containerId。

    1 回复
  • fewok via macOS

    docker ps -a

请输入回帖内容 ...

推荐标签 标签

  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1340 回帖
  • 电影

    这是一个不能说的秘密。

    123 引用 • 608 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 94 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 203 关注
  • CodeMirror
    2 引用 • 17 回帖 • 176 关注
  • Excel
    31 引用 • 28 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 12 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 563 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖
  • Follow
    4 引用 • 12 回帖 • 10 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 143 回帖 • 1 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 64 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 5 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 367 回帖
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    2 引用 • 32 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 184 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    84 引用 • 414 回帖
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 612 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 33 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖 • 2 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    201 引用 • 120 回帖
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 1 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    118 引用 • 54 回帖 • 11 关注