首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maria db码头passWordCharacterEncoding问题

Maria db码头passWordCharacterEncoding问题
EN

Stack Overflow用户
提问于 2022-03-23 20:04:02
回答 1查看 307关注 0票数 1

我一直在使用一个应用程序,它连接到一个旧版本的MariaDb (5.5.64),我想将数据库从开发机器上提升到一个坞映像中。

我做过这件事,一切看起来都很好

代码语言:javascript
复制
docker pull mariadb:5.5.64
docker run --name container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pword -d mariadb:5.5.64
docker exec -it container /bin/sh

我已经创建了一个拥有惊人权限的用户

代码语言:javascript
复制
CREATE USER ‘dbusr’@‘localhost’ IDENTIFIED BY ‘pword’;
GRANT ALL PRIVILEGES ON *.* TO ‘dbusr’@‘localhost’ WITH GRANT OPTION;
CREATE USER ‘dbusr’@‘%’ IDENTIFIED BY ‘pword’;
GRANT ALL PRIVILEGES ON *.* TO ‘dbusr’@‘%’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

通过我的开发机器,我可以使用这个用户和密码连接到数据库。所以一切看起来都很好。

当我使用我的应用程序时

用户'dbusr'@'172.17.0.1‘(使用密码:是)的java.sql.SQLInvalidAuthorizationSpecException:访问被拒绝的

exec在org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:238),exec at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:171),exec at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1128) exec at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:560)高管在org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:174)在org.mariadb.jdbc.Driver.connect(Driver.java:92)高管在java.sql.DriverManager.getConnection(DriverManager.java:664)高管在java.sql.DriverManager.getConnection(DriverManager.java:208)高管在shared.ConnectionPool.createConnectionOnServer(ConnectionPool.java:983)高管在shared.ConnectionPool.createConnection(ConnectionPool由: shared.ConnectionPool.leaseConnection(ConnectionPool.java:626):用户'dbusr'@'172.17.0.1‘(使用密码:是)执行当前字符集UTF-8造成的。如果密码已使用其他字符集设置,请考虑使用选项“passwordCharacterEncoding”

我不认为这是编码问题,尽管这显然是错误的意思。我已经玩了一点,并在网上搜索,虽然我可以看到类似的问题,但我不知道下一步该去哪里。有人能提出建议吗?

我还没有使my.conf文件匹配二重奏,我猜这是我的下一步,但似乎没有太大的区别,与密码编码(或任何真正的编码)无关。

EN

回答 1

Stack Overflow用户

发布于 2022-03-23 20:16:55

我过去也有过类似的问题。该解决方案涉及在数据库user表中创建用户'dbuser@172.17.0.1‘(或任何主机IP )。然后授予它权限,而不仅仅是授予'dbuser‘或'dbuser@localhost’的访问权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71593370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档