Pergunta

Tenho usado o modo interativo sql do Emacs para conversar com o servidor MySQL db e gostei.Um desenvolvedor configurou outro banco de dados em um novo número de porta não padrão, mas não sei como acessá-lo usando sql-mysql.

Como especifico um número de porta quando tento me conectar a um banco de dados?

Seria ainda melhor se o Emacs pudesse me solicitar um número de porta e apenas usar o padrão se eu não especificar.Alguma chance disso?

Foi útil?

Solução

Depois de pesquisar no arquivo sql.el, encontrei uma variável que me permite especificar uma porta quando tento criar uma conexão.

Esta opção foi adicionada ao GNU Emacs 24.1.

sql-mysql-login-params

Lista de parâmetros de login necessários para conectar-se ao MySQL.

Eu adicionei isso ao meu arquivo de inicialização do Emacs:

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

A porta padrão é 0.Se você quiser definir isso para a porta padrão do MySQL, você pode personalizar sql-port

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

Existe um sql-*-login-params variável para todos os sistemas RDMS populares no GNU Emacs 24.1. sql-port é usado para MySQL e PostreSQL

Outras dicas

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

Encontrei a opção usando:

M-x customize-group
SQL

Isso incluía uma configuração chamada:

Mysql Options:

Se você definir a opção e salvá-la, uma nova linha será adicionada ao seu .emacs:

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

(Obviamente, você deve usar o número da porta real.)

Eu uso o XEmacs, então sua milhagem pode variar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top