2008-08-15 12 views
17

He estado utilizando el modo interactivo sql de Emacs para hablar con el servidor de bases de datos MySQL y pude disfrutarlo. Un desarrollador ha configurado otra base de datos en un nuevo número de puerto no predeterminado, pero no sé cómo acceder usando sql-mysql.Especifique un número de puerto en Emacs sql-mysql

¿Cómo especifico un número de puerto cuando intento conectarme a una base de datos?

Sería aún mejor si Emacs puede pedirme un número de puerto y simplemente usar el predeterminado si no lo especifico. ¿Alguna posibilidad de eso?

Respuesta

10

Después de buscar en el archivo sql.el, encontré una variable que me permite especificar un puerto cuando intento crear una conexión.

Esta opción se agregó GNU Emacs 24.1.

sql-mysql-login-params

Lista de parámetros de conexión necesarios para conectarse a MySQL.

he añadido esto a mi archivo de inicialización de Emacs:

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

El puerto predeterminado es 0. Si desea establecer que en el puerto por defecto de MySQL Puede personalizar sql-port

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

Hay una variable sql-*-login-params para todos los sistemas RDMS populares en GNU Emacs 24.1. sql-port se utiliza para MySQL y PostreSQL

+1

¡Gracias! Algunas notas: para especificar el puerto predeterminado, puede usar constructo como '(add-to-list 'sql-postgres-login-params' (puerto: predeterminado 5432))' (observe la etiqueta ': default'). Y debe agregar '(requerir 'sql)' antes 'add-to-list', de lo contrario obtendrá el error" El valor del símbolo como variable es nulo: sql-mysql-login-params " – seriyPS

+0

@seriyPS gracias! tenga en cuenta que también puede envolverlo en un '(con-eval-after-load" sql "' ... que luego solo ejecutará el código cuando el paquete 'sql' esté realmente cargado –

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

me encontré con la opción usando:

M-x customize-group 
SQL 

que incluía un ajuste de la etiqueta:

Mysql Options: 

Si establece la opción y lo guarda, habrá una nueva línea añadió a su .emacs:

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

(Obviamente, debe utilizar el número de puerto real.)

Uso XEmacs, por lo que su kilometraje puede variar.

Cuestiones relacionadas