我正在学习ruby,并且我正在尝试使用以下连接字符串打开到MySQL的连接:
require 'mysql'
begin
# Create new database connection.
db = Mysql.new('127.0.0.1','user','password!','myDb')
...问题是我的数据库是在一个非本地端口上运行的,如何在这个连接字符串中指定一个端口,它似乎只有4个参数,如上所示…
作为信息,我的数据库运行在一个docker容器中,3306映射到本地端口50101。
发布于 2019-01-04 18:12:28
如果您使用“标准”gem mysql,可以查看文档there
#connect(host = nil, user = nil, passwd = nil, db = nil, port = nil, socket = nil, flag = 0) ⇒ Object (also: #real_connect) 也可以尝试使用像mysql2这样的gem,那里有很多文档和示例:
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
)https://stackoverflow.com/questions/54036630
复制相似问题