标签: mariadb-10.5

FlywayException:不支持的数据库:MariaDB 10.5

  • mariadb 版本是服务器版本:10.5.9-MariaDB Homebrew
  • Flyway版本为“org.flywaydb”%“flyway-core”%“8.2.1”
  • HikariCP 版本为“com.zaxxer”%“HikariCP”%“5.0.1”
  • Mariadb jdbc 客户端版本为 "org.mariadb.jdbc" % "mariadb-java-client" % "2.7.5",

这是一个 Spring Boot 应用程序,当我启动该应用程序时,出现以下错误

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#104ea6e1': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Unsupported Database: MariaDB 10.5
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
    at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:693)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:510)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
    at …
Run Code Online (Sandbox Code Playgroud)

flyway spring-boot mariadb-10.5

6
推荐指数
1
解决办法
1万
查看次数

如何在 MariaDB 中将值转换为 JSON?

我想提取一个包含表名和每个表内的列的 JSON。

这是我的 SQL:

SELECT
    JSON_OBJECTAGG(table_name, columns)
FROM (
    SELECT
        table_name,
        JSON_OBJECTAGG(column_name, data_type) as columns
    FROM `COLUMNS`
    WHERE
        `TABLE_SCHEMA` = 'my_db'
    GROUP BY table_name
) table_columns
Run Code Online (Sandbox Code Playgroud)

问题在于JSON_OBJECTAGG(table_name, columns),列变成了字符串。如何将其转换为 JSON?

json casting mariadb mariadb-10.5

2
推荐指数
1
解决办法
2479
查看次数

phpMyAdmin 的库存安装出现“非法混合排序规则”错误

问题

我有一个 Debian 11(测试)的库存安装,以及全新安装的 MariaDB (10.5.9-MariaDB-1)、phpMyAdmin (5.0.4deb2) 和 Lighttpd (1.4.59)。添加用户并登录后,单击任何数据库和权限选项卡都会出现以下错误:

#1267 - Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation '<>'
Run Code Online (Sandbox Code Playgroud)

我的问题:

这是 Debian 在某个时候需要解决的问题,但在短期内是否有全局排序规则设置来修复此错误?

“正确”的整理往往是一场圣战。我想要一些合理的东西,并且在我可以更详细地查看排序规则之前它会起作用。

更多错误详细信息

当您单击权限选项卡时,由 phpMyAdmin 本身生成的查询会发生此错误。下面重现了生成错误的查询。该查询似乎仅合并来自 mysql 数据库的“db”表和“user”viee 的数据,这些数据从“global_priv”中提取数据

未对现有 MariaDB 排序规则进行任何更改。默认情况下,MariaDB 的内部 mysql 数据库表本身就是一堆混乱的排序规则。

表大部分是 utf8_bin,但也有一些 utf8_general_ci,甚至还有一个 latin1_swedish_ci。表中的列也很混乱,有些采用表的默认排序规则,有些专门设置为 utf8_general_ci 和 utf8mb4_bin。mysql.db和mysql.global_priv都是utf8_bin,但是global_priv中的一列是utf8mb4_bin,而mysql.db中的许多列都是utf8_general_ci。

查询生成错误:

( SELECT `User`, `Host`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`,
 `Drop_priv`, `Grant_priv`, `Index_priv`, `Alter_priv`, `References_priv`, `Create_tmp_table_priv`,
 `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`,
 `Alter_routine_priv`, `Execute_priv`, `Event_priv`, `Trigger_priv`, '*' AS `Db`, 'g' AS `Type` FROM
 `mysql`.`user` …
Run Code Online (Sandbox Code Playgroud)

debian collation phpmyadmin mariadb mariadb-10.5

0
推荐指数
1
解决办法
2458
查看次数