2008-08-15 27 views
17

私はEmacsのsql対話モードを使用してMySQLデータベースサーバーと通信し、それを楽しんでいます。開発者はデフォルト以外の新しいポート番号に別のdbを設定しましたが、sql-mysqlを使ってアクセスする方法はわかりません。Emacs sql-mysqlでポート番号を指定

データベースに接続しようとしているときに、ポート番号を指定する方法を教えてください。

Emacsが私にポート番号を要求し、指定しなければデフォルトを使うことができればさらに良いでしょう。それのどんなチャンスですか?

答えて

10

sql.elファイルを掘り下げた後、接続を作成しようとするとポートを指定できる変数が見つかりました。

このオプションはGNU Emacs 24.1に追加されました。 MySQLへの接続に必要なログインパラメータの

SQL-mysqlのログイン-のparams

一覧。

私は私のEmacsの初期化ファイルにこれを追加しました:

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

あなたがsql-port

(setq sql-port 3306) ;; default MySQL port 
をカスタマイズすることができ、デフォルトのMySQLポートにそれを設定したい場合は、デフォルトのポートは0です。

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) 'を追加する必要があります。そうでなければ、"変数としてのシンボルの値は無効です:sql-mysql-login-params " – seriyPS

+0

@seriyPSありがとう! '(with-eval-after-load" sql "' ...)でラップすることもできます。これは 'sql'パッケージが実際にロードされたときにのみコードを実行します –

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

私が使用してオプションを見つけました:

ラベルされた設定を含め
M-x customize-group 
SQL 

を:

Mysql Options: 

オプションを設定し、それを保存すると、新しい行があるでしょうに追加あなたの.emacs:

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

(明らかに実際のポート番号を使用する必要があります)

私はXEmacsを使用していますので、あなたの走行距離は異なる場合があります。

関連する問題