在哪里应用这些 mysql-server 的 akonadi 设置?

在哪里应用这些 mysql-server 的 akonadi 设置?

我正在使用外部 mysql 服务器与 akonadi 配合使用。(使用 KDE4)。现在我可以解决所有问题,但我仍然需要将一些设置应用于服务器的“mysql-global.conf”文件。例如,这就是建议的内容:

# wait 365d before dropping the DB connection (default:8h)

wait_timeout=31536000

所以我尝试通过 mysql 控制台更改此设置。但它没有反映在 /etc/mysql/my.cnf 文件中的任何地方。

(etc/akonadi/mysql-global.conf 似乎对 mysql-server 也没有影响!)

我的问题:将这些(或类似的)设置放在哪里才能使 akonadi 不会断开与外部服务器的连接(我猜是全局的?)?

答案1

在 mysql 控制台中设置变量不会更新my.cnf- 它只会在 mysql 守护进程退出时才会反映。

/etc/mysql/my.cnf是正确的放置位置,在[mysqld]标题下。

它将在重新启动后加载,或者也可以在 mysql 控制台中立即执行(这听起来像您已经尝试过的):

SET GLOBAL wait_timeout = 31536000;

针对“不起作用”的评论进行更新回应:

引用自mysql.com文档[1]:

在线程启动时,会话 wait_timeout 值从全局 wait_timeout 值或全局 interactive_timeout 值初始化,具体取决于客户端的类型(由 mysql_real_connect() 的 CLIENT_INTERACTIVE 连接选项定义)。

因此,更改它确实有效,但您无法在 mysql 控制台会话中看到结果。尝试更改 interactive_timeout。

要查看其是否生效,请使用SHOW GLOBAL VARIABLES

SHOW GLOBAL VARIABLES LIKE 'wait_timeout';

[1]http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout

答案2

1.编辑my.cnf(MySQL配置文件)。

Ubuntu 16.04

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

Debian

sudo vi /etc/mysql/my.cnf

Centos

sudo vi /etc/my.cnf

2. 找到超时配置并进行调整以适合您的服务器。

[mysqld]
等待超时 = 31536000
interactive_timeout = 31536000

3. 保存更改并退出编辑器。

4. 重新启动 MySQL 以应用更改,如下所示:

sudo /etc/init.d/mysql 重启

相关内容