Domanda

Ho utilizzato la modalità interattiva sql di Emacs per parlare con il server database MySQL e mi sono divertito.Uno sviluppatore ha configurato un altro database su un nuovo numero di porta non predefinito ma non so come accedervi utilizzando sql-mysql.

Come posso specificare un numero di porta quando provo a connettermi a un database?

Sarebbe ancora meglio se Emacs potesse chiedermi un numero di porta e usare semplicemente quello predefinito se non lo specifico.Ci sono possibilità?

È stato utile?

Soluzione

Dopo aver analizzato il file sql.el, ho trovato una variabile che mi consente di specificare una porta quando provo a creare una connessione.

Questa opzione è stata aggiunta GNU Emacs 24.1.

sql-mysql-login-params

Elenco dei parametri di accesso necessari per connettersi a MySQL.

Ho aggiunto questo al mio file init di Emacs:

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

La porta predefinita è 0.Se desideri impostarlo sulla porta MySQL predefinita, puoi personalizzarlo sql-port

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

C'è un sql-*-login-params variabile per tutti i popolari sistemi RDMS in GNU Emacs 24.1. sql-port viene utilizzato sia per MySQL che per PostreSQL

Altri suggerimenti

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

Ho trovato l'opzione utilizzando:

M-x customize-group
SQL

Ciò includeva un'impostazione etichettata:

Mysql Options:

Se imposti l'opzione e la salvi, verrà aggiunta una nuova riga al tuo .emacs:

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

(Ovviamente, dovresti utilizzare il numero di porta effettivo.)

Io uso XEmacs, quindi il tuo chilometraggio può variare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top