1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

mysql использование и настройка

Тема в разделе 'Основные вопросы', создана пользователем Icy_Wind, 8 июл 2010.

  1. Icy_Wind Ньюфаг

    Сообщения:
    3
    Спасибы:
    0
    В настройках GHost'а нашел два возможных типа Базы данных
    mysql и sqlite3
    Расскажите плиз в чем отличие. Я немного погуглил, но так и не разобрался, как я понял, mysql база может быть не только локальная, но и онлайновая. Буду оч презнателен за подробную инструкцию по установки mysql базы данных для Ghost one
  2. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Различие... м... Можно и sqlite ипользовать для онлайн статистики, но она в 100500 раз медленнее.

    Установка по-порядку:

    1. Скачай Wamp Server http://www.wampserver.com/dl.php, затем скачай сам AllStats http://allstats.googlecode.com/files/Allstats-1.4.148.zip

    2. Установи wamp, создай там базу данных ну например ghost, затем нужно вставить в SQL (phpmyadmin) весь текст файла mysql_create_tables_v2.5one.sql, MySQLSetup.sql, optimizeMySQL.sql (ВСЕ ДЕЛАТЬ ПО-ОЧЕРЕДИ), и залей в папку www, в установочной дирректории, файлы AllStats.

    3. В трее где иконка wamp, нажми Сделать доступным извне

    4. В трее wamp выбери PhPMyAdmin, откроется браузер и сама панель управления базами мускл.

    5. Зайди по ссылке Привилегии, добавь нового юзера, если рутадмин бота тока ты и никто больше, то можно сделать юзера без пароля. Хост локальный.

    6. Дай созданному юзеру все глобальные привилегии.

    7. Теперь заходим в настройку Ghost one прописываем ник юзера базы пароль, если есть, порт 3306 сервер localhost база данных укажи ту которую создал.

    8. Запусти бота
  3. Icy_Wind Ньюфаг

    Сообщения:
    3
    Спасибы:
    0
    вот что я сделал и что не смог:

    "создай там базу данных ну например ghost" - этого, к сожалению, не нашел :mad:

    "затем нужно вставить в SQL (phpmyadmin)" - это нашел в ...\wamp\apps\phpmyadmin3.2.0.1
    "mysql_create_tables_v2.5one.sql" - в папке бота
    "MySQLSetup.sql" и "optimizeMySQL.sql" - в папке Allstats-1.4.148
    я после каждого вставленного файла делал пустую строку, надеюсь - это ни на что не повлияет^^

    как я сказал, базу данных я ещё не создал, но (вдруг важно), когда я нажимаю на "сделать доступным извне" выдается такая ошибка с заголовком Aestan Tray Menu

    Could not execute menu item (internal error)
    [Exception] Could not perform service action:
    Служба не запущена

    Больше ничего я делать не пробовал^^

    Ps Стоит win7 32bit
  4. Fanat Ranetok Старожила

    Сообщения:
    167
    Спасибы:
    0
    Сборка бота GHost:
    Skynet++ 2.0
    для начала надо было бы вопрос задать - с какой целью вы это добро юзать собираетесь? если тупо играть, то mysql ваще не нужен
  5. Icy_Wind Ньюфаг

    Сообщения:
    3
    Спасибы:
    0
    Ну да)
    Тупо играть^^
    ок, тогда забуду нахрен эту тему
    сори, что тревожил)
  6. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    :D
  7. fokevolt Ньюфаг

    Сообщения:
    13
    Спасибы:
    0
    я хочу настроить статистику для своего бота на своем локальном БН(ежедневный онлайн - 30 человек, бот только у меня).
    с БД sqlite у меня были проблеммы: почему-то не после каждой игры обновляло стат, долго обновляло, ну и т.п.
    захотел настроить Майсикл. сделал все, как в этом гайде(протестировать пока не было возможности), и остался 1 вопрос: в конфиге бота по части БД нужно поставить какие либо настройки? например:
    # после окончания игры при использовании мускула бот запустит update_dota_elo.exe
    bot_updatedotaeloaftergame = 0
    # после окончания игры при использовании мускула бот пересчитает очки (score)
    bot_updatedotascoreaftergame = 1

    тут менять что либо надо? или еще где нибуть?
  8. slik Наш человек

    Сообщения:
    81
    Спасибы:
    0
    Помогите пожалуйста с мускулом а то чё то ни как не до прет до меня как чё делать.Как создать базу в нём? Слышал вот про эту команду create database ghost; пробывал сделать ни чё не получилось :newcry:
    пробывал WampServer appserv Navicat for MySQL в итоге запутался сам чё и куда.Можно как нибудь подробно для тех у кого рация на бронепоезде.
  9. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Показываю, как говорится, один раз...


    Вначале сразу оговорюсь по поводу листингов, специально тех, у кого рация на бронепоезде.

    Если написано:

    Код:
    C:\server\mysql>cd bin
    это не значит, что надо копипастить в консоль как есть.
    Соответственно нужно понимать, что команда здесь - cd bin, то, что идёт после >, которую и нужно ввести (или скопипастить и нажать [ENTER]), а C:\server\mysql здесь показано только для информационной цели, чтобы понимать где находимся, чтобы введённая команда возымела действие.

    То же самое и с mysql, если написано:

    Код:
    mysql>CREATE DATABASE ghost;
    то нужно вводить только:

    Код:
    CREATE DATABASE ghost;
    а mysql> только показывает, что мы находимся в сеансе MySQL соответственно.



    В данном описании, если можно так сказать, будем всё лепить на локальный, системный диск C: в директорию под названием server (при желании можно задаться собственным путём), посему:


    Шаг 1

    Создаём на локальном диске C: папку server.


    Шаг 2

    Скачиваем архив с сервером баз данных MySQL с одного из зеркал: http://mirror.yandex.ru/mirrors/ftp.mys ... -win32.zip и помещаем его в директорию server.


    Шаг 3

    В зависимости от того, какого бота используем GHost++ или GHost One, извлекаем из архива с ботом и кладём в директорию server следующий файл:

    в случае с GHost++ это
    mysql_create_tables_v2.sql

    в случае с GHost One это
    mysql_create_tables_v2.5one.sql


    Шаг 4

    Распаковываем архив mysql-noinstall-5.1.59-win32.zip, кликнув на него правой кнопкой мыши и выбрав "Извлечь здесь" (верно для WinRAR и 7zip, "Извлечь здесь" возможно может быть в контекстном подменю, в зависимости от используемого архиватора), на выходе получаем директорию mysql-5.1.59-win32.


    Шаг 5

    Запускаем утилиту cmd.exe (Command Prompt/Командная строка).

    (в Windows XP должно выглядеть примерно так)
    Код:
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    
    C:\Documents and Settings\Viper>
    (в Windows 7/2008/R2 выглядит примерно так)
    Код:
    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
    
    C:\Users\Administrator>
    и переходим в директорию server на диске C:

    Код:
    C:\Users\Administrator>cd \server

    Шаг 6

    Переименовываем директорию mysql-5.1.59-win32 в mysql:

    Код:
    C:\server>ren mysql-5.1.59-win32 mysql
    удаляем более ненужный архив mysql-noinstall-5.1.59-win32.zip:

    Код:
    C:\server>del mysql-noinstall-5.1.59-win32.zip
    и создаём директорию tmp (в дальнейшем она нам понадобится):

    Код:
    C:\server>md tmp

    Шаг 7

    Переходим в директорию mysql:

    Код:
    C:\server>cd mysql
    и скопируем с переименованием один из предложенных конфигурационных файлов, например my-medium.ini:

    Код:
    C:\server\mysql>copy my-medium.ini my.ini
    Удалим ненужную дребедень, для высвобождения места:

    Код:
    C:\server\mysql>rd Docs Embedded include lib mysql-test scripts sql-bench /S/Q

    Шаг 8

    Отвлечёмся пока от командной строки и откроем файл my.ini, находящийся по адресу C:\server\mysql\my.ini в удобном текстовом редакторе (Notepad++, AkelPad, MadEdit, gVim и пр.) и внесём в него некоторые изменения.

    Находим секцию [mysqld], в этой секции находим следующую строку:

    Код:
    skip-locking
    данную ↑ строку удаляем, а на её место вставляем следующее:

    Код:
    basedir = C:/server/mysql
    datadir = C:/server/mysql/data
    tmpdir = C:/server/tmp
    log-error = C:/server/mysql/error.log
    
    skip-external-locking
    skip-character-set-client-handshake
    init_connect = 'SET collation_connection = utf8_general_ci; SET NAMES utf8;'
    character-set-server = utf8
    collation-server = utf8_general_ci
    default-storage-engine = MyISAM
    sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    
    В контексте готовое решение будет выглядеть примерно следующим образом:

    Код:
    [mysqld]
    port        = 3306
    socket      = MySQL
    
    basedir = C:/server/mysql
    datadir = C:/server/mysql/data
    tmpdir = C:/server/tmp
    log-error = C:/server/mysql/error.log
    
    skip-external-locking
    skip-character-set-client-handshake
    init_connect = 'SET collation_connection = utf8_general_ci; SET NAMES utf8;'
    character-set-server = utf8
    collation-server = utf8_general_ci
    default-storage-engine = MyISAM
    sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    
    key_buffer_size = 16M
    max_allo..............
    Сохраняем изменения и закрываем файл и/или текстовый редактор.


    Шаг 9

    Возвращаем к нашей командной строке, переходим в директорию bin:

    Код:
    C:\server\mysql>cd bin

    Шаг 10

    Устанавливаем сервис для сервера баз данных MySQL:

    Код:
    C:\server\mysql\bin>mysqld --install MySQL --defaults-file="C:\server\mysql\my.ini"
    где: MySQL - имя сервиса, которое, при желании, может быть изменено на любое другое, за исключением имени уже существующего сервиса. Например, можно в качестве имени задать: MySQL5, MySQL51, "MySQL Server".

    В результате должны получить сообщение, что сервер успешно установлен:


    Шаг 11

    Запускаем сервер баз данных MySQL следующий командой:

    Код:
    C:\server\mysql\bin>net start mysql
    В случае удачного запуска получим следующее сообщение:

    В случае возможных ошибок, в том числе ошибок в конфигурационном файле my.ini, появится сообщение примерно такого вида:


    В случае удачной установки и запуска, переходим непосредственно к работе с сервером баз данных MySQL.


    Шаг 12

    Задаём пароль для супер пользователя root:

    Код:
    C:\server\mysql\bin>mysqladmin -u root password MY_ROOT_P@55W0RD
    где: MY_ROOT_P@55W0RD - ваш пароль для супер пользователя root.

    Пометка: Водимый пароль выводится на экране в открытом виде, никаких *** нет, так что, никаких удивлений быть не должно, это нормально, так должно быть.


    Шаг 13

    Устанавливаем соединение с MySQL, введя следующую команду:

    Код:
    C:\server\mysql\bin>mysql -uroot -pMY_ROOT_P@55W0RD
    Введя верный логин и пароль получаем приветствие сервера и попадаем в сеанс MySQL:


    Шаг 14

    Для начала удалим всевозможные ненужные нам данные, заложенные в MySQL для каких-то тестовых нужд и в качестве DEMO.

    Удаляем учётные записи для анонимных пользователей, послав запрос:

    Код:
    mysql> DELETE FROM mysql.user WHERE User = '';
    Если не предполагается подключение под учётной записью супер пользователя удалённо (из школы, института, с работы, от друга и пр.), то есть смысл прибить учетку для удалённого подключения под рутом, в целях безопасности, следующим запросом:

    Код:
    mysql> DELETE FROM mysql.user WHERE User='root' AND Host != 'localhost';
    Удаляем тестовую (пустую) базу данных test:

    Код:
    mysql> DROP DATABASE test;
    Снимаем привилегии с пользователей на пользование базой test:

    Код:
    mysql> DELETE FROM mysql.db WHERE Db = 'test' OR Db = 'test\\_%';
    Делаем перезагрузку таблицы назначения привилегий:

    Код:
    mysql> FLUSH PRIVILEGES;

    Шаг 15

    Создаём базу данных с названием ghost:

    Код:
    mysql> CREATE DATABASE ghost;
    Создаём пользователя по имени ghost, с паролем ya_GH0stKO (при создании вписать свой), имеющего доступ к серверу БД только с локального компьтера localhost, и выставляем ему определённые привилегии на ранее созданную базу данных с названием ghost:

    Код:
    mysql> GRANT ALTER, INSERT, SELECT, UPDATE, TRIGGER, EXECUTE, DELETE, CREATE, DROP ON ghost.* TO ghost@localhost IDENTIFIED BY 'ya_GH0stKO';
    Завершаем сеанс MySQL:

    Код:
    mysql> exit;

    Шаг 16

    Будучи выкинутым, обратно в командную строку, выполняем следующую команду, для того, чтобы импортировать таблицы для бота в базу данных с названием ghost:

    Если используется GHost++, то:

    Код:
    C:\server\mysql\bin>mysql -u root -pMY_ROOT_P@55W0RD ghost < C:\server\mysql_create_tables_v2.sql
    Если используется GHost One, то:

    Код:
    C:\server\mysql\bin>mysql -u root -pMY_ROOT_P@55W0RD ghost < C:\server\mysql_create_tables_v2.5one.sql
    где: MY_ROOT_P@55W0RD - пароль супер пользователя root (см. Шаг 12).


    Шаг 17

    Вносим изменения в конфиг бота, для работы с MySQL:

    Код:
    ##########################
    # DATABASE CONFIGURATION #
    ##########################
    
    
    ### database type
    ###  use "sqlite3" for a local SQLite database
    ###  use "mysql" for any MySQL database
    
    
    db_type = mysql
    
    
    ### sqlite3 database configuration
    ###  this is only used if your database type is SQLite
    
    
    db_sqlite3_file = ghost.dbs
    
    
    ### mysql database configuration
    ###  this is only used if your database type is MySQL
    
    
    db_mysql_server = localhost
    db_mysql_database = ghost
    db_mysql_user = ghost
    db_mysql_password = ya_GH0stKO
    db_mysql_port = 3306
    
    
    ### the bot ID is included each time the bot adds data to the MySQL database
    ### it is used to identify where each row of data came from when you configure multiple bots to connect to the same MySQL database
    ### GHost++ does not use the bot ID number itself, it's just to help you keep track of the data in your database
    
     
    db_mysql_botid = 1

    Шаг 18

    Для того чтобы убедиться в том, что база функционирует с ботом как полагается, можно кого-нибудь забанить, а потом войти в сеанс mysql (см. Шаг 13) и выполнить следующий запрос:

    Код:
    mysql> SELECT * FROM ghost.bans;
    или прям в игре добавить админа, выполнить !countadmins.
    (это в том случае, если не используется ГУЙ гхоствана).


    Вот собственно и всё. [IMG]
  10. slik Наш человек

    Сообщения:
    81
    Спасибы:
    0
    Эх хорошо написал, вот только я уже сам всё сделал.Но всёравно спс
  11. JaMpwnz Ньюфаг

    Сообщения:
    10
    Спасибы:
    0
    привет всем, вот сижу в командной строке, пытаюсь сделать шаг 16 сделать

    C:\server\mysql\bin>mysql -u root -pMY_ROOT_P@55W0RD ghost < C:\server\mysql_create_tables_v2.sql

    но ничего не выходит, как его правильно ввести? одной командой? двумя?
  12. JaMpwnz Ньюфаг

    Сообщения:
    10
    Спасибы:
    0
  13. JaMpwnz Ньюфаг

    Сообщения:
    10
    Спасибы:
    0
    2. Установи wamp, создай там базу данных ну например ghost, затем нужно вставить в SQL (phpmyadmin) весь текст файла mysql_create_tables_v2.5one.sql, MySQLSetup.sql, optimizeMySQL.sql (ВСЕ ДЕЛАТЬ ПО-ОЧЕРЕДИ), и залей в папку www, в установочной дирректории, файлы AllStats.

    куда вставить? где это найтИ? в php.ini вставить?