3

我们将使用下一个堆栈:Tomcat 8/Java 8 buildpacked + ELK + S3 + Maria DB。

我们准备了我们的包,部署过程开始正常,但我们一直在配置 Maria DB。更具体地说,我们至少需要在 Maria (Mysql) 的 my.cnf 文件中设置下一个参数:

lower_case_table_names = 1 transaction-isolation = READ-COMMITTED collation-server = utf8_general_ci character-set-server = utf8

有谁知道如何做到这一点?因为我们发现唯一可以使用的东西是 Swisscom Manual -> https://docs.developer.swisscom.com/devguide/services/managing-services.html “更新服务实例”部分,但没有机会查找可以使用的 Maria DB 服务参数。

4

1 回答 1

3

Swisscom 的 MariaDB 产品是供所有客户共享的 Galera Cluster。客户有自己的数据库。

客户不能修改全局my.cnf参数。每个客户的全局配置都是相同的。

团队目前正在优化 Galera 集群,敬请期待,很快默认的 MariaDB 参数将更好地用于 DBaaS。你仍然不能修改全局变量。

客户可以修改会话变量

系统变量存在两个范围。全局变量影响服务器的整体运行。会话变量会影响其对单个客户端连接的操作。给定的系统变量可以同时具有全局值和会话值。

大多数(不是全部)变量也可以在会话级别上定义。

更具体地回答您的问题

您可以在代码中为每笔交易设置首选级别

SET TRANSACTION ISOLATION LEVEL READ-COMMITTED;

变量lower_case_table_names仅具有全局范围,您不能在每个会话中设置它。

全局变量范围

> show global variables like 'lower_case_table_names';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 0     |
+------------------------+-------+
1 row in set (0.00 sec)

可以为每个表设置字符集和排序规则。请参阅表字符集和排序规则

每个表都有一个表字符集和一个表排序规则。CREATE TABLEandALTER TABLE语句具有用于指定表字符集和排序规则的可选子句。

于 2016-10-20T09:16:51.287 回答