Especifique um número de porta no Emacs sql-mysql
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?
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.