Я вытаскиваю свои волосы здесь, и я понятия не имею, как отладить. Я думаю, что это проблема Linux, а не проблема Go, но я понятия не имею, как ее исправить. Любые указания о том, как продолжить, будут высоко оценены. или selinux, обычные подозреваемые, но происходит следующее: Перед подключением к сокету я могу вызвать OS.Stat ("/var/lib/mysql/mysql.sock") и возвращает нормально, база данных подключается и Я могу запросить это и получить данные. Все хорошо до сих пор.
Однако сразу после подключения, вызов OS.Stat снова вернуть stat /var/lib/mysql/mysql.sock: нет такого файла или каталога . Это очевидно, когда после истечения срока действия SetConnmaxLifetime пул соединений не может повторно подключиться, а все запросы не выполняются (та же ошибка). Затем после того, как я вызову db.close , внезапно все OS.Stat не возникают проблем с поиском /var/lib/mysql/mysql.sock снова!
< P> Как это возможно? Файл сокета сохраняет существование в течение всего времени, каким -то образом система блокирует доступ к сокету для этого процесса, в то время как база данных подключена? х MariaDB имеет среди других настроек: < /p>
max_connections=200
wait_timeout=120
open_files_limit=1200
local_infile=0
skip_name_resolve
skip_show_database
symbolic_links=0
< /code>
Странно! Любая помощь в отладке этого высоко ценится.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ry-only-wh
Dial Unix /var/lib/mysql/mysql.sock: Connect: нет такого файла или каталога; Только при подключении с использованием баз ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение