Mysql: рдПрдХрд╛рдзрд┐рдХ рд╕рдорд╡рд░реНрддреА рдЧреЛрд░реЛрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп "tcp 127.0.0.1:3306 рдбрд╛рдпрд▓ рдХрд░реЗрдВ: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рдЕрдиреБрд░реЛрдзрд┐рдд рдкрддрд╛ рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛"

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЬрдире░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: go-sql-driver/mysql

рдореБрджреЗ рдХрд╛ рд╡рд┐рд╡рд░рдг

рдореБрдЭреЗ "рдбрд╛рдпрд▓ рдЯреАрд╕реАрдкреА 127.0.0.1:3306: рдХрдиреЗрдХреНрдЯ: рдЕрдиреБрд░реЛрдзрд┐рдд рдкрддрд╛ рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдПрдХрд╛рдзрд┐рдХ рд╕рдорд╡рд░реНрддреА рдЧреЛрд░реЛрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп:

  • 8 рд╕рдорд╡рд░реНрддреА рдЧреЛрд░реЛрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп => рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ
  • рдЕрдзрд┐рдХ рдЧреЛрд░рдЖрдЙрдЯрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп => рд▓рдЧрднрдЧ 15 рдХреЗ рдмрд╛рдж, рд╣рд░ рдЕрдиреБрд░реЛрдз err="dial tcp 127.0.0.1:3306:connect: can notassigned address" рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реА рд╡рд┐рдлрд▓рддрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд▓рдЧрднрдЧ 35 000 рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд┐рдП рдЧрдП рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд╕рдХреНрдпреВрдПрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмрдВрджрд░рдЧрд╛рд╣ рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ рдкреВрд▓ рд╕реЗ рдореМрдЬреВрджрд╛ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди DBStats рд╣реИрдВ:
(рдПрд╕рдХреНрдпреВрдПрд▓.рдбреАрдмреАрд╕реНрдЯреИрдЯреНрд╕) {
рдореИрдХреНрд╕рдУрдкрди рдХрдиреЗрдХреНрд╢рди: (рдЗрдВрдЯ) 0,
рдУрдкрдирдХрдиреЗрдХреНрд╢рди: (рдЗрдВрдЯ) 64,
рдЙрдкрдпреЛрдЧ рдореЗрдВ: (int) 64,
рдирд┐рд╖реНрдХреНрд░рд┐рдп: (рдЗрдВрдЯ) 0,
рд╡реЗрдЯрдХрд╛рдЙрдВрдЯ: (int64) 0,
рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрд╡рдзрд┐: (рд╕рдордпред рдЕрд╡рдзрд┐) 0s,
MaxIdleClosed: (int64) 28252,
рдореИрдХреНрд╕рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо рдХреНрд▓реЛрдЬреНрдб: (int64) 0
}

рдореИрдВ рдЧреЛ-рдПрд╕рдХреНрдпреВрдПрд▓-рдбреНрд░рд╛рдЗрд╡рд░ V1.4.1 рдХрд╛ рдЙрдкрдпреЛрдЧ 1.11.2 рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реВрдВ, рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдорд╛рд░рд┐рдпрд╛рдбреАрдмреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред
рдореИрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВрдиреЗ "рдШрдмрд░рд╛рд╣рдЯ" рдХреЛ рдХреЗрд╡рд▓ рдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рд╕реЗ рдмрд╛рдврд╝ рди рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдб

// the below code is called repetitly from a configurable number of worker fed using channels (fan-out)
// Mark visa_card entry as migrated
        query := fmt.Sprintf(UPDATE visa_card SET migrated=TRUE WHERE id_card=%s, this.idCard)
        _, err = conf.MySql.ExecContext(ctx, query)
        if err != nil {
            log.Error(ctx, log.EventTypeBusiness, "", err)
            spew.Dump(conf.MySql.Stats())
            panic("the END")
        }
        return err

рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ

{"level":"info","dateTime":"2019-01-17T14:58:04.095+0100","msg":"","appVersion":"0.0.0","component":"VISA-MIGRATOR","country":"bw","eventType":"incoming request","requestId":"d25e58f8-8228-4a7f-9cc4-1fd9ea2230b4","useCase":"","parameters":{"request_headers":{},"request_http_method":"POST","request_uri":"/startImportActiveCards"},"caller":"common/utils/log/ginLog.go:70"}
{"level":"error","dateTime":"2019-01-17T14:58:20.562+0100","msg":"","appVersion":"0.0.0","component":"VISA-MIGRATOR","country":"bw","eventType":"internal","requestId":"d25e58f8-8228-4a7f-9cc4-1fd9ea2230b4","useCase":"startMigration","peer":"internal","caller":"migrator/migrate/migrateActiveCards.go:211","errorDetails":"dial tcp 127.0.0.1:3306: connect: cannot assign requested address"}
(sql.DBStats) {
 MaxOpenConnections: (int) 0,
 OpenConnections: (int) 50,
 InUse: (int) 50,
 Idle: (int) 0,
 WaitCount: (int64) 0,
 WaitDuration: (time.Duration) 0s,
 MaxIdleClosed: (int64) 28258,
 MaxLifetimeClosed: (int64) 0
}
panic: the END

рд╡рд┐рдиреНрдпрд╛рд╕

*рдЧреЛ-рдПрд╕рдХреНрдпреВрдПрд▓-рдбреНрд░рд╛рдЗрд╡рд░ V1.4.1

*рдЧреЛ рд╡рд░реНрдЬрди: рдЧреЛ рд╡рд░реНрдЬрди go1.11.2 linux/amd64

*рдбреЛрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдорд╛рд░рд┐рдпрд╛рдбреАрдмреА 10.4.1

рд╕рд░реНрд╡рд░ рдУрдПрд╕: рдЬреИрд╕реЗ рдбреЗрдмрд┐рдпрди 8.1 (рдЬреЗрд╕реА), рд╡рд┐рдВрдбреЛрдЬ 10

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗред

db.SetMaxIdleConns(64)
db.SetMaxOpenConns(64)
db.SetConnMaxLifetime(time.Minure)

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗред

db.SetMaxIdleConns(64)
db.SetMaxOpenConns(64)
db.SetConnMaxLifetime(time.Minure)

рдЖрдкрдХреА рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @рдореАрдереЗрди , рдкрд░реАрдХреНрд╖рдг рд╕рдлрд▓ рд░рд╣рд╛!
рдореИрдВ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рд╣реИрд░рд╛рди рд╣реВрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ред

рдпрд╣ рд▓реЗрдЦ рджреЗрдЦреЗрдВред
http://techblog.en.klab-blogs.com/archives/31093990.html

рд▓реЗрдЦ рдореЗрдВ рд╕рднреА рдЪрд┐рддреНрд░ рдЧрд╛рдпрдм рд╣реИрдВред рд╡реЗ рд▓реЗрдЦ рдХреЗ рдЬрд╛рдкрд╛рдиреА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреАрд╡рд┐рдд рд╣реИрдВред

http://dsas.blog.klab.org/archives/2018-02/configure-sql-db.html

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

albrow picture albrow  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pedromorgan picture pedromorgan  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

knadh picture knadh  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PingGao89 picture PingGao89  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

julienschmidt picture julienschmidt  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ