переход с mySql 5.1 на mySql 5.6: размер ibdata1

Тема в разделе "Базы Данных", создана пользователем sitecreator, 6 май 2013.

  1. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    в данный момент стоит mySql 5.1, размер файла ibdata1 примерно 18М. переношу базы данных магазинов ocStore, в которых почти все таблицы myISAM на mySql 5.6. И случается "чудо" - размер файла ibdata1 становится равным 1Г?

    Как это можно объяснить?
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    первое и самое главное: зачем? какую приследуешь цель? Максимум стоит обновится до 5.5 версии. а в перспективе заменить на MariaDB.

    у MySQL 5.6 упор был сделан на innodb, т.к. вся команда ушла)
    Попробуй сделать Оптимизацию таблиц.
     
  3. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    Было желание получить более высокую производительность.
    Так чтобы увеличить производительность стоит ли переходить на другую версию mySQL?
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    тут это не работает :Smile:
    нет, стоит ковырять конфиг.
     
  5. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    Стал разбираться с конфигурацией.
    почитал здесь: http://habrahabr.ru/post/108418/

    первое с чего начал - это query_cache_size
    по умолчанию стоит 0 (т. е. кеш отключен, что есть плохо), поставил 128М.

    Тестировал на Opencart. Запросы, которые занимали время 0.03 сек. стали выполняться в два раза быстрее, а именно за 0.014 сек.
    разбираюсь дальше.
     
  6. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    sitecreator, можешь так же скачать mysqltuner и с ним поиграться. только нужно будет установить perl.
     
  7. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    Вопрос по расположению my.ini в windows.
    my.ini находится в двух местах:
    C:\ProgramData\MySQL\MySQL Server 5.1
    C:\Program Files\MySQL\MySQL Server 5.1

    PHPMyAdmin 4.0 берет информацию об my.ini из папки C:\ProgramData\MySQL\MySQL Server 5.1, а утилита MySQL WorkBench из C:\Program Files\MySQL\MySQL Server 5.1

    Сам сервер то откуда берет my.ini? как узнать?
     
  8. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    C:\ProgramData\MySQL\MySQL Server 5.1 - это папка с БД, там не должно быть никаких my.ini

    my.ini, а так же другие варианты конфигов живут в C:\Program Files\MySQL\MySQL Server 5.1
     
  9. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    PHPMyAdmin дает такое значение query cache size , явно неверное.
    Код:
    query cache size 0 Байт
    
    [​IMG]
    А MySQL WorkBench такое:



    [​IMG]

    Как заставить phpMyAdmin брать и править нужные значения в НУЖНОМ (правильном) файле?
     
  10. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    используешь последнюю версию, может быть в ней просто баг.
     
  11. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65

    использую PHPMyAdmin 4.0, это последняя.
    лечил проблему так: в папке C:\ProgramData\MySQL\MySQL Server 5.1 переименовал файл конфигурации в my_.ini.
    далее перезагрузил сервер mySQL, перезагрузил браузер и запустил PHPMyAdmin.

    теперь он видит как надо.

    все проверял с сервером MySQL Server 5.1

    --------------------------------
    а вот когда установил MySQL Server 5.6, то заметил, что my.ini находится только в папке C:\ProgramData\MySQL\MySQL Server 5.6, а в папке
    C:\Program Files\MySQL\MySQL Server 5.6 его вообще нету. И MySQL WorkBench вообще не находит my.ini от Server 5.6, т. е. с помощью продукта для настройки MySQL(причем, последней версии) я не могу настроить сервер MySQL Server 5.6, и это сразу после установки обоих продуктов.

    Вроде продукты от одного разработчика (Oracle?), а друг друга понять полностью не могут.

    ---------------------
    5.6 вообще удалил после чудес с файлом в 1 ГИГ (ibdata1). Это при том, что у меня все базы занимают 65М и все таблицы в них MyISAM.


    ***********************
    А вообще есть желание, чтобы при чтении из базы обращение к HDD отсутствовало, т. е. все таблицы размещались бы в оперативной памяти и вся информация бралась оттуда.
    Такова цель.
     
  12. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    потому что версии 5.1, 5.5 разрабатывали одни люди, а 5.6 другие.
    с базой в 65 метров никакого профита не получишь, а вот например при сбое потеряешь всю базу.
     
  13. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    понял, что про 5.6 можно забыть.
    и, видимо, про 5.7 тем более. которую, кстати, предлагают (oracle) для тестов устанавливать

    при переходе на 5.5 я могу получить выигрыш в производительности?
    Или лучше ограничиться настройками (оптимизацией) 5.1?

    При верстке на локальной машине хотел бы получить максимально быструю перезагрузку страницы.
    А то ведь меняешь в коде один цвет (символ и т. д.) и ждешь потом перезагрузки страницы чтобы увидеть результат, а хотелось бы мгновенно.
     
  14. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    нет не получишь.

    есть специальные модули для IDE.
     
    sitecreator нравится это.
  15. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    LiveEdit? про него речь? Или есть еще что-то, мне незнакомое пока?

    есть режим LiveEdit для Сhrome, но работает только со статичным HTML. А если у нас все на PHP, то просто и тупо перезагружается вся страница, соответственно со всеми обращениями к базе данных. Поэтому и появилось желание хотя бы ускорить работу БД, а потом и веб-сервера и т.д.
    --- добавлено: 7 май 2013 в 18:08 ---
    спасибо. останусь на 5.1 на локалке, тем более, что на сервере у меня тоже 5.1 стоит. для тестирования и разработки лучше иметь одинаковые версии ПО.
     
  16. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
  17. sitecreator

    sitecreator

    Регистрация:
    1 фев 2013
    Сообщения:
    291
    Симпатии:
    65
    Как я понял, полезное в 5.6 есть Performance Schema, т. е. встроенное средство мониторинга и диагностики.
     
  18. oglocky

    oglocky

    Регистрация:
    26 авг 2013
    Сообщения:
    7
    Симпатии:
    0
    Стал разбираться с конфигурацией.
    почитал здесь: http://habrahabr.ru/post/108418/

    первое с чего начал - это query_cache_size
    по умолчанию стоит 0 (т. е. кеш отключен, что есть плохо), поставил 128М.

    Тестировал на Opencart. Запросы, которые занимали время 0.03 сек. стали выполняться в два раза быстрее, а именно за 0.014 сек.
    разбираюсь дальше.
     
  19. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    Не верю что по умолчанию стоит query_cache_size = 0
    ето размер кешаКак минимум 16 стояло

    значения 0 могло стоять в параметра query_cache_type но ето не размер кеша а включения его, соответственно 1 включено 0 выключено
    по умолчанию етого параметра нет в списку

    С дефолтной базой товаров или 100 товаров понятно что он будет нормально работать, добавь от 20 000 товаров и от 1000 категорий тогда покажи результаты :biggrin:
    Тут читаем небольшой рецепт для Opencart
     
  20. alexsofdev

    alexsofdev

    Регистрация:
    13 янв 2013
    Сообщения:
    239
    Симпатии:
    46
    Как минимум 2 варианта на вскидку:
    1. Используется общая бд и потому ibdata1 больше ожидаемого размера за счет других баз
    2. Используются серьезные настройки бд и потому преаллокация даже на пустой базе обеспечит 1 гигабайт этого файлика. Рыть в сторону опции innodb_data_file_path в файле my.ini.

    Касательно производительности, тут query_cache_size имеет посредственное отношение. Вначале смотрим где тормозит, а дальше действуем по обстоятельствам. Либо нет нужных индексов, либо кривые запросы, либо маловат буфер сортировки, либо ... Вариантов 100500, все не перечислить. Вобщем оптимизация начинается с поиска тормозящих запросов и конструкции explain.