Ошибка подключения Openresty LUA Mysql - PullRequest
0 голосов
/ 05 июня 2018

Я использую openresty lua и пытаюсь подключиться к базе данных mysql, работающей на моем локальном хосте.Но я не могу подключиться к нему, и я не смог отладить его, так как клиент lua mysql не предоставляет никакой информации об ошибке.

    --
-- Created by IntelliJ IDEA.
-- User: AGK
-- Date: 6/5/18
-- Time: 2:14 PM
-- To change this template use File | Settings | File Templates.
--

local mysql = require "resty.mysql"

local _M={}
function _M.connect()


local db, err = mysql:new()
if not db then
    ngx.say("failed to instantiate mysql: ", err)
    return
end

db:set_timeout(1000) -- 1 sec

-- or connect to a unix domain socket file listened
-- by a mysql server:
--     local ok, err, errcode, sqlstate =
--           db:connect{
--              path = "/path/to/mysql.sock",
--              database = "ngx_test",
--              user = "ngx_test",
--              password = "ngx_test" }

local ok, err, errcode, sqlstate = db:connect{
    host = "127.0.0.1",
    port = 3306,
    database = "mydb",
    user = "root",
    password = "abcd1234",
    charset = "utf8",
    max_packet_size = 1024 * 1024,
    ssl = true,
    sslverify = true,
}

if not ok then
    ngx.say("failed to connect: ", err, ": ", errcode, " ", sqlstate)
    return
end

ngx.say("connected to mysql.")
end

return _M

эти выходы не удалось подключиться: не удалось подключиться:Отказ в соединении: nil nil

Любая идея, что может быть не так с этой простой программой.Примечание: я использую mysql 5.7.x на моем Mac.

1 Ответ

0 голосов
/ 08 июня 2018

Если вы работаете в Docker-контейнере - не подключайтесь к 127.0.0.1.

В зависимости от того, как вы запускаете MySQL, нам могут потребоваться разные решения.Я полагаю, вы также запускаете MySQL в контейнер.

Настройте Docker-сеть для обоих контейнеров таким образом, чтобы контейнер MySQL был виден под каким-либо именем.

Обычно для этой цели я создаю именованную пользовательскую сеть..

...