在Emacs中指定一个端口号sql-mysql

问题描述:

我一直在使用Emacs的sql交互模式与MySQL数据库服务器交谈,并且很开心。开发者已经在一个新的非默认端口号上设置了另一个数据库,但我不知道如何使用sql-mysql访问它。在Emacs中指定一个端口号sql-mysql

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

如果Emacs能够提示我输入端口号,并且只使用缺省值(如果没有指定),情况会更好。那有什么机会?

通过挖掘sql.el文件后,我发现一个变量,允许我在尝试创建连接时指定一个端口。

此选项增加了GNU Emacs 24.1。

SQL-mysql的登录-PARAMS

的连接到MySQL需要登录参数列表。

我将此添加到我的Emacs的初始化文件:

(setq sql-mysql-login-params (append sql-mysql-login-params '(port))) 

默认端口为0如果你想:被设置为默认的MySQL端口您可以自定义sql-port

(setq sql-port 3306) ;; default MySQL port 

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

+1

谢谢!一些注意事项:要指定默认的端口,你可以使用像`(add-to-list'sql-postgres-login-params'(port:default 5432)'`(注意`:default`标签)这样的结构。你应该在`add-to-list`之前加上'(require'sql)`,否则你会得到错误“Symbol的值作为变量是void:sql-mysql-login-params” – seriyPS 2013-06-27 17:02:52

(setq sql-mysql-options (list "-P <port number>")) 

我发现使用选项:

M-x customize-group 
SQL 

这包括标记设置:

Mysql Options: 

如果设置选项并保存它,就会有一个新行添加到您的.emacs:

(custom-set-variables 
'(sql-mysql-options (quote ("-P ???")))) 

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

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