在Emacs sql-mysql中指定端口号

Cri*_*ian 19 mysql sql emacs

我一直在使用Emacs的sql交互模式与MySQL数据库服务器交谈,并开始享受它.开发人员在新的非默认端口号上设置了另一个数据库,但我不知道如何使用sql-mysql访问它.

我在尝试连接数据库时如何指定端口号?

如果Emacs可以提示我输入端口号并且如果我没有指定则使用默认值会更好.有机会吗?

Cri*_*ian 12

在深入了解sql.el文件后,我找到了一个变量,允许我在尝试创建连接时指定端口.

此选项已添加到GNU Emacs 24.1中.

SQL-mysql的登录-PARAMS

连接MySQL所需的登录参数列表.

我将其添加到我的Emacs init文件中:

(setq sql-mysql-login-params (append sql-mysql-login-params '(port)))
Run Code Online (Sandbox Code Playgroud)

默认端口为0.如果您要将其设置为默认的MySQL端口,则可以自定义 sql-port

(setq sql-port 3306) ;; default MySQL port
Run Code Online (Sandbox Code Playgroud)

sql-*-login-paramsGNU Emacs 24.1中的所有流行的RDMS系统都有一个变量.sql-port用于MySQL和PostreSQL


Mar*_*evy 8

(setq sql-mysql-options (list "-P <port number>"))
Run Code Online (Sandbox Code Playgroud)


Jon*_*son 6

我找到了使用的选项:

M-x customize-group
SQL
Run Code Online (Sandbox Code Playgroud)

其中包括一个标记为:

Mysql Options:
Run Code Online (Sandbox Code Playgroud)

如果您设置选项并保存它,则会在.emacs中添加一个新行:

(custom-set-variables
 '(sql-mysql-options (quote ("-P ???"))))
Run Code Online (Sandbox Code Playgroud)

(显然,你应该使用实际的端口号.)

我使用XEmacs,所以你的里程可能会有所不同.