Jump to content

MySQL server has gone away


Recommended Posts

Здравствуйте уважаемые!

Перевел сервер на новый хостинг и вот такая строка стала появляться в логе сервера:

MySQL server has gone away

Я так понимаю, сервер не видит или теряет связь с БД? Помогите кто имеет опыт в данном вопросе.

С уважением, Дмитрий.

Link to comment

Вероятно у тебя MySQL сервер стоял на localhost (Ну тоесть на той же машинке, на которой стоял твой сервер)

После переезда на другой хостинг, ресурс не может приконектиться к серверу MySQL так как его не существует, или не существует базы данных с таким названием...

Вобщем во первых проверь куда ресурс, в котором путь к MySQL серверу прописан, коннектиться.

Если localhost или 127.0.0.1 (точно не помню цифры, но примерно такие), то создай на новом хостинге базу данных MySQL, и к ней коннекться...

Link to comment
Вероятно у тебя MySQL сервер стоял на localhost (Ну тоесть на той же машинке, на которой стоял твой сервер)

После переезда на другой хостинг, ресурс не может приконектиться к серверу MySQL так как его не существует, или не существует базы данных с таким названием...

Вобщем во первых проверь куда ресурс, в котором путь к MySQL серверу прописан, коннектиться.

Если localhost или 127.0.0.1 (точно не помню цифры, но примерно такие), то создай на новом хостинге базу данных MySQL, и к ней коннекться...

Спасибо за ответ! :-) К серверу с БД сервер MTA конектится, проверил, аккаунты видит и регестрирует новые без проблем, но в лог пишет это сообщение... :-(

Link to comment

MySQL server has gone away

Просто MySQL отключился от MTA, как бы кончилась сессия.. Просто нужно переподключиться. MySQL server has gone away это тоже самое что и Lost Connection.

P.S. Такие вопросы нужно задавать на MySQL форум, к МТА это никак не относится, да и вообще пользуйтесь поисковиком.

Link to comment
MySQL server has gone away

Просто MySQL отключился от MTA, как бы кончилась сессия.. Просто нужно переподключиться. MySQL server has gone away это тоже самое что и Lost Connection.

P.S. Такие вопросы нужно задавать на MySQL форум, к МТА это никак не относится, да и вообще пользуйтесь поисковиком.

Спасибо Вам за ответ!

С уважением, Дмитрий.

Link to comment

Wikipedia: MySQL (МФА: [maɪ ˌɛskjuːˈɛl]; жарг. мускул) [4] — свободная система управления базами данных (СУБД)

Вобщем MySQL, это база данных, в которую ты можешь сохранять какие либо данные... Например wantedlvl игрока, или его деньги...

компьютеры-сервера это ты имеешь ввиду VPS? Если да, то можно... Обычно есть втроенный MySQL сервер, если его нет, то вполне можно поставить свой.

Если хочешь использовать MySQL на домашнем компе, то можешь поставить Denwer (Web Kit). Он прост в установке, поэтому советую именно его...

Через него немного разберешься с PhpMyAdmin... Чаще всего приходится обозревать и редактировать MySQL базы через PhpMyAdmin.

Еще советую выучить SQL синтаксис... Введи в поисковике любимом: "sql учебник" ну и почитай побольше вобщем.

Кстати, для создания соединения с MySQL базой данных, лучше использовать отдельный ресурс, и коннектиться при включении ресурса, а дисконнектиться при выключении!

Вот как можно подключиться к MySQL серверу:

-- MySQL details 
local server = "localhost" --Адресс сервера. (Localhost, это локальный адресс, тоесть MySQL сервер расположен на той же машинке, что и MTA сервер) 
local user = "TestUser" --Имя пользователя. (Пользователь должен иметь права на запись и чтение базы данных) 
local password = "Testpass123" --Пароль пользователя. 
local db = "testbd" --Название базы данных, к которой коннектиться. 
  
-- connect 
connection = dbConnect( "mysql", "dbname="..tostring(db)..";host="..tostring(server).."", tostring(user), tostring(password), "share=0" ) 
if connection then 
    if (user == "root") then 
        setTimer( outputDebugString, 100, 1, "Connecting to your MySQL as 'root' is strongly discouraged.", 2 ) 
    end 
    outputDebugString ( "Successfully connected to MySQL server." ) 
else 
    outputDebugString ( "Connection to MySQL Failed.", 1 ) 
end 

При наличии такого ресурса, ты можешь экспортировать connection, для того, что бы использовать в других ресурсах.

Как экспортировать:

1) Создаешь функцию, которая возвращает это соединение.

function getMysqlConnection() 
    return connection 
end 

2) В meta.xml пишешь: (Meta файл того ресурса, из которого экспортируем MySQL соединение)

function="getMysqlConnection" type="server"/> 

3)Получаем в нужном нам ресурсе MySQL соединение, и записываем в переменную MySQLConnect

local MySQLConnect = exports[ "MySQL_Resource" ]:getMysqlConnection ( ) --Получаем MySQL соединение  
-- MySQL_Resource это имя ресурса, который экспортировал MySQL Connection! 

Теперь мы можешь создать функцию с использование MySQL соединения, экспортированного из другого ресурса.

Допустим в таблицу ServerPlayers, в колонки (`ID`, `AccountName`, `Money`, `WantedLvl`) вставим значения ( NULL, 'Funk', '5000', '4' ).

p.s. для того что бы лучше это понять, изучи SQL синтаксис...

dbExec( MySQLConnect, "INSERT INTO `ServerPlayers` (`ID`, `AccountName`, `Money`, `WantedLvl`) VALUES ( NULL, 'Funk', '5000', '4' ) ;" ) 
 -- INSERT INTO - вставить строку в таблицу 
 -- ServerPlayer это название таблицы 
 -- В первых скобках название колонок, в скобках после слова VALUES значения каждой колонки, в определенном порядке! 

Очень советую почитать статью, ныне забаненого MX_Master'а, отличная статья: https://forum.multitheftauto.com/viewtopic.php?f=153&t=37482

Понимаю, многое непонятно, но стоит самому попробовать, и все встанет на свои места!

Link to comment
  • 4 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...