我一直在使用Emacs的sql交互模式與MySQL數據庫服務器交談,並且很開心。開發者已經在一個新的非默認端口號上設置了另一個數據庫,但我不知道如何使用sql-mysql訪問它。在Emacs中指定一個端口號sql-mysql
當我嘗試連接到數據庫時,如何指定端口號?
如果Emacs能夠提示我輸入端口號,並且只使用缺省值(如果沒有指定),情況會更好。那有什麼機會?
我一直在使用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
(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,所以你的里程可能會有所不同。
謝謝!一些注意事項:要指定默認的端口,你可以使用像`(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