当我从命令行启动我的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中打开DB连接时的样子:

那么,我如何才能给SequelPro提供我在上面的命令行中给出的相同的`--init-公共参数呢?或者还有什么其他方法可以让我达到我想要的安全目标?
发布于 2018-01-26 07:52:24
如果您想为从任何工具连接的每个人设置这个全局设置。您可以将其添加到配置文件my.cnf (如果您在基于Unix的操作系统上运行MySQL )或my.ini (如果您在基于Windows的操作系统上运行MySQL )。
这来自MySQL关于wait_timeout的文档。
服务器在非交互式连接上等待活动的秒数,然后关闭它。 在线程启动时,会话wait_timeout值是从全局wait_timeout值或全局interactive_timeout值初始化的,这取决于客户机的类型(由CLIENT_INTERACTIVE连接选项定义到mysql_real_connect())。另见interactive_timeout。
因此,在配置文件的[mysqld]部分中设置这个全局参数,以确保您的安全性受到检查。
[mysqld]
interactive_timeout=300
wait_timeout=300https://stackoverflow.com/questions/48456176
复制相似问题