Укажите порт в соединении mysql ruby - PullRequest
0 голосов
/ 04 января 2019

Я изучаю ruby ​​и пытаюсь открыть соединение с MySQL, используя следующую строку соединения:

    require 'mysql'

    begin
      # Create new database connection.
      db = Mysql.new('127.0.0.1','user','password!','myDb')
...

Проблема в том, что моя база данных работает на не родном порту, какукажите порт в этой строке подключения, кажется, он принимает только 4 параметра, как показано выше ...

Для информации, моя база данных работает в док-контейнере с 3306, сопоставленным с локальным портом 50101.

1 Ответ

0 голосов
/ 04 января 2019

Если вы используете «стандартный» гем mysql, вы можете проверить документацию там

#connect(host = nil, user = nil, passwd = nil, db = nil, port = nil, socket = nil, flag = 0) ⇒ Object (also: #real_connect) 

Также попробуйте использовать гем как mysql2 там много документации и примеров:

    Mysql2::Client.new(
  :host,
  :username,
  :password,
  :port,
  :database,
  :socket = '/path/to/mysql.sock',
  :flags = REMEMBER_OPTIONS | LONG_PASSWORD | LONG_FLAG | TRANSACTIONS | PROTOCOL_41 | SECURE_CONNECTION | MULTI_STATEMENTS,
  :encoding = 'utf8',
  :read_timeout = seconds,
  :write_timeout = seconds,
  :connect_timeout = seconds,
  :reconnect = true/false,
  :local_infile = true/false,
  :secure_auth = true/false,
  :default_file = '/path/to/my.cfg',
  :default_group = 'my.cfg section',
  :init_command => sql
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...