Mysql_async не удастся с «недействительным аргументом (ошибка ОС 22)» в контейнере Docker, пока Python MySQL работает ноMySql

Форум по Mysql
Anonymous
Mysql_async не удастся с «недействительным аргументом (ошибка ОС 22)» в контейнере Docker, пока Python MySQL работает но

Сообщение Anonymous »

Вопрос: < /h2>
Я испытываю конкретную проблему с ящиком Mysql_async Rust (v0.34.2) при работе внутри контейнеров Docker. Та же самая база данных MySQL отлично работает с клиентами Python, но Rust выходит из строя постоянно. Составьте
[*] MySQL: 8.0 (работа в отдельном контейнере)
[*] Хост: macOS (Apple Silicon), контейнеры работают как Linux/AMD64

Проблема
, когда я сталкиваюсь с MyS -in Io (io (os {код: 22, вид: Invalidinput, сообщение: «Неверный аргумент»}))
code
Минимальный случай репродукции:
use mysql_async::{prelude::*, Pool, PoolOpts, OptsBuilder};

#[tokio::main]
async fn main() -> Result {
let opts = OptsBuilder::default()
.ip_or_hostname("nas_catalog_mysql") // Docker container name
.tcp_port(3306)
.db_name(Some("nas_catalog"))
.user(Some("nas_catalog_user"))
.pass(Some("nas_catalog_password"))
.tcp_keepalive(Some(30u32))
.prefer_socket(false);

let pool_opts = PoolOpts::default()
.with_constraints(mysql_async::PoolConstraints::new(1, 5).unwrap());

let pool = Pool::new(opts.pool_opts(pool_opts));

// This line fails with OS error 22
let mut conn = pool.get_conn().await?;
conn.query_drop("SELECT 1").await?;

Ok(())
}
< /code>
что работает < /h2>
  • Разрешение DNS: NSLOKUP NAS_CATALOG_MYSQL Решает правильно < /li>
    TCP подключение: NC -ZV NAS_CATALOG_MYSQL 3306. Рука: Telnet NAS_CATALOG_MYSQL 3306 показывает правильное приветствие MySQL
  • Клиенты Python: отлично работайте с теми же учетными данными/хостом:



Подробнее здесь: https://stackoverflow.com/questions/797 ... ainer-whil

Вернуться в «MySql»