Укажите номер порта в Emacs sql-mysql
Я использую интерактивный режим Emacs sql для общения с сервером db MySQL и получил удовольствие. Разработчик настроил еще один db на новый номер порта по умолчанию, но я не знаю, как получить к нему доступ, используя sql-mysql.
Как указать номер порта, когда я пытаюсь подключиться к базе данных?
Было бы еще лучше, если Emacs может запросить у меня номер порта и просто использовать значение по умолчанию, если я не укажу. Есть ли шансы на это?
Ответы
Ответ 1
После обработки файла sql.el я обнаружил переменную, которая позволяет мне указывать порт при попытке создать соединение.
Эта опция была добавлена GNU Emacs 24.1.
SQL-MySQL-Войти-PARAMS
Список параметров входа, необходимых для подключения к MySQL.
Я добавил это в свой файл init Emacs:
(setq sql-mysql-login-params (append sql-mysql-login-params '(port)))
Порт по умолчанию - 0. Если вы хотите установить его на порт MySQL по умолчанию, вы можете настроить sql-port
(setq sql-port 3306) ;; default MySQL port
Существует переменная sql-*-login-params
для всех популярных систем RDMS в GNU Emacs 24.1. sql-port
используется как для MySQL, так и для PostreSQL
Ответ 2
(setq sql-mysql-options (list "-P <port number>"))
Ответ 3
Я нашел вариант, используя:
M-x customize-group
SQL
Это включало настройку с надписью:
Mysql Options:
Если вы установите параметр и сохраните его, появится новая строка, добавленная в ваш .emacs:
(custom-set-variables
'(sql-mysql-options (quote ("-P ???"))))
(Очевидно, что вы должны использовать фактический номер порта.)
Я использую XEmacs, поэтому ваш пробег может меняться.