PDA

Просмотр полной версии : [Урок] Переводим сервер на MySQL #1



Endo
06.01.2014, 16:08
Osetin уже создавал тему о переводе сервера на MySQL , но она в большей степени показывала преимущества MySQL над фалами.
Я же хочу написать серию уроков о переводе мода написанного на файлайх в MySQL! И так начнем)
Это первый урок из серии о переводе сервера на MySQL! Для начало нам нужно будет подготовить Pawno и сам сервер к работе с MySQL,
первое что мы сделаем это скачаем плагин от by BlueG (http://files.g-stylezzz.com/mysql/rel/R7/windows/plugin-R7-win32_vs9.rar) и библиотеку libmysql.dll (http://files.g-stylezzz.com/libmySQL.dll)(его нужно поместить в папку с сервером).

В архиве должно быть два файла: mysql.dll и a_mysql.inc.
Кидаем mysql.dll в папку plugins которая находится в папке с сервером и в server.cfg нужно дописать в строчке plugins:


plugins mysql //Если у вас есть и другие плагины то их дописываете через пробел


Инклуд a_mysql.inc из архива скидываем ко всем инклудам pawno! Теперь нам нужно создать саму БД, вы можете создать на хостинге или на своем компьютере с помощью специальных программ, таких как: Denwer,MySQL 5.6.15 / 6.0.11 Alpha их много! Как создать саму БД:

http://www.youtube.com/watch?v=eB4J0Xeol_g
Создайте поля:


userid // ид игрока
username // ник игрока
password // пароль

Теперь возьмемся за мод:
Создадим дефайны чтобы облегчить себе жизнь


#define SQL_HOST "localhost"//хост MySQL
#define SQL_USER "root"//пользователь MySQL
#define SQL_PASS ""//пароль MySQL
#define SQL_DB "DB_NAME"//имя БД

Таки дефайны можно встретить в любом моде на MYSQL.
Так же чтобы легче было жить создадим провtрку на подключение к MySQL
В конец мода добавим:


///////////////////////[Проверка подключения к MySQL]////////////////////////
forward ConnectMySQL();
public ConnectMySQL()
{
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);//подключаемся
if(mysql_ping() == 1)//проверка подключились мы к MySQL
{
mysql_debug(1);
printf("[MYSQL]: Подключение к `%s` выполнено!", SQL_DB);
}
else
{
printf("[MYSQL]: [ERROR]: Подключение к `%s` не выполнено", SQL_DB);
}
return 1;
}
/////////////////////////////////////////////////////////////////////////////

Теперь в консоли сервера мы будем видеть состояние подключения к MySQL =)

На этом все ,скоро будут другие уроки!
При создание этого урока опирался информацию найденную в интернете!

[ForD]
06.01.2014, 18:03
Ну не плохо,продолжай Ватсон..

TWIX
06.01.2014, 22:46
Отлично!

Johny
06.01.2014, 23:20
Спасибо!

Стас123321
18.01.2014, 17:56
скажи свой скайп

Osetin
14.02.2014, 16:14
Поправил название темы!

VeRyNaYa
01.05.2015, 13:36
Серьезно? А как же новички поймут где их создать?




Создайте поля:
userid // ид игрока
username // ник игрока
password // пароль

snup55
27.07.2015, 20:47
Osetin уже создавал тему о переводе сервера на MySQL , но она в большей степени показывала преимущества MySQL над фалами.
Я же хочу написать серию уроков о переводе мода написанного на файлайх в MySQL! И так начнем)
Это первый урок из серии о переводе сервера на MySQL! Для начало нам нужно будет подготовить Pawno и сам сервер к работе с MySQL,
первое что мы сделаем это скачаем плагин от by BlueG (http://files.g-stylezzz.com/mysql/rel/R7/windows/plugin-R7-win32_vs9.rar) и библиотеку libmysql.dll (http://files.g-stylezzz.com/libmySQL.dll)(его нужно поместить в папку с сервером).

В архиве должно быть два файла: mysql.dll и a_mysql.inc.
Кидаем mysql.dll в папку plugins которая находится в папке с сервером и в server.cfg нужно дописать в строчке plugins:


plugins mysql //Если у вас есть и другие плагины то их дописываете через пробел


Инклуд a_mysql.inc из архива скидываем ко всем инклудам pawno! Теперь нам нужно создать саму БД, вы можете создать на хостинге или на своем компьютере с помощью специальных программ, таких как: Denwer,MySQL 5.6.15 / 6.0.11 Alpha их много! Как создать саму БД:

http://www.youtube.com/watch?v=eB4J0Xeol_g
Создайте поля:


userid // ид игрока
username // ник игрока
password // пароль

Теперь возьмемся за мод:
Создадим дефайны чтобы облегчить себе жизнь


#define SQL_HOST "localhost"//хост MySQL
#define SQL_USER "root"//пользователь MySQL
#define SQL_PASS ""//пароль MySQL
#define SQL_DB "DB_NAME"//имя БД

Таки дефайны можно встретить в любом моде на MYSQL.
Так же чтобы легче было жить создадим провtрку на подключение к MySQL
В конец мода добавим:


///////////////////////[Проверка подключения к MySQL]////////////////////////
forward ConnectMySQL();
public ConnectMySQL()
{
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);//подключаемся
if(mysql_ping() == 1)//проверка подключились мы к MySQL
{
mysql_debug(1);
printf("[MYSQL]: Подключение к `%s` выполнено!", SQL_DB);
}
else
{
printf("[MYSQL]: [ERROR]: Подключение к `%s` не выполнено", SQL_DB);
}
return 1;
}
/////////////////////////////////////////////////////////////////////////////

Теперь в консоли сервера мы будем видеть состояние подключения к MySQL =)

На этом все ,скоро будут другие уроки!
При создание этого урока опирался информацию найденную в интернете!

Все сделал но у меня в консоль нечего не пишется что подключения выполнено к mysql
Вот видео как все я сделал может где то я что то не доделал посмотрите

https://youtu.be/yzPPZpx3bDw

bredvix
28.07.2015, 15:34
Все сделал но у меня в консоль нечего не пишется что подключения выполнено к mysql
Вот видео как все я сделал может где то я что то не доделал посмотрите

https://youtu.be/yzPPZpx3bDw

Пишите в раздел "Вопросы по PAWN скриптингу"

#ball
28.07.2015, 16:36
Все сделал но у меня в консоль нечего не пишется что подключения выполнено к mysql
Вот видео как все я сделал может где то я что то не доделал посмотрите

https://youtu.be/yzPPZpx3bDw


public OnGameModeInit()
{
ConnectMySQL();
return 1;
}

$continue$
28.07.2015, 19:45
public OnGameModeInit()
{
ConnectMySQL();
return 1;
}
Смотря какая версия плагина, в last version не прокатит.
Я про mysql_ping

#ball
28.07.2015, 20:18
Суть в том,что в данной теме нигде не вызывается ConnectMySQL(); поэтому и не будет подключения к бд и сообщения в консоль.

$continue$
28.07.2015, 20:29
Суть в том,что в данной теме нигде не вызывается ConnectMySQL(); поэтому и не будет подключения к бд и сообщения в консоль.

Я не читал тему, но точно могу сказать в плагине BlueG с версией 39 - 3, mysql_ping убран.

snup55
28.07.2015, 20:51
public OnGameModeInit()
{
ConnectMySQL();
return 1;
}

Спасибо уже показывает
Подскажите какую версию плагина MySQL лучше использовать ?

$continue$
28.07.2015, 21:10
Спасибо уже показывает
Подскажите какую версию плагина MySQL лучше использовать ?

last version (https://github.com/pBlueG/SA-MP-MySQL/releases/tag/R39-3)