在SQLPro中创建新的数据库连接时,如何传递命令行参数?

时间:2018-01-26 05:23:12

标签: mysql sequelpro

当我从命令行启动MySQL客户端时,我会执行以下操作:

$ mysql -u root -p -h 127.0.0.1 --init-command="SET SESSION wait_timeout=300"

出于安全考虑,我将会话wait_timeout设置为300秒。如果5分钟内没有数据库活动,我希望连接被终止,这样就不会长时间保持打开状态,这是一个安全风险。

但是,我更喜欢使用Mac桌面应用程序SequelPro来访问数据库而不是命令行shell。这是我的面包和黄油。我非常喜欢它。这是我在SequelPro中打开数据库连接时的样子:

enter image description here

那么我怎样才能给SequelPro提供与上面命令行相同的`--init-common参数?或者我还有其他方法可以实现我正在尝试的安全目标吗?

1 个答案:

答案 0 :(得分:4)

如果您想为从任何工具连接的所有人进行此全局设置。您可以将其添加到配置文件my.cnf(如果您在基于Unix的操作系统上运行MySQL)或my.ini(如果您在基于Windows的操作系统上运行MySQL)。

这是关于 wait_timeout

的MySQL文档
  

服务器等待活动的秒数   关闭之前的非交互式连接。

     

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

因此,请在配置文件的[mysqld]部分设置此全局参数,以便检查您的安全性。

[mysqld]
interactive_timeout=300
wait_timeout=300