AlphaStar Опубликовано 23 октября, 2021 Поделиться Опубликовано 23 октября, 2021 Подскажите пожалуйста, как конвертировать? После обновления начала админка глючить, некоторые разделы открываются пол минуты, плюс не сохраняются настройки. Обратил внимание, что часть таблиц в MyISAM, а другая в InnoDB. Из-за этого могут быть глюки? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 23 октября, 2021 Поделиться Опубликовано 23 октября, 2021 (изменено) 13 минут назад, betastarz сказал: Подскажите пожалуйста, как конвертировать? Для преобразования таблиц в InnoDB нужно выполнить для каждой таблицы команду SQL: ALTER TABLE wp_ninja_forms_fav_fields ENGINE=InnoDB; где wp_ninja_forms_fav_fields - название таблицы. Подробнее написано тут: https://itisgood.ru/2019/01/14/kak-preobrazovat-vse-tablicy-mysql-iz-myisam-v-innodb-storage-engine/ Перевести базу полностью в InnoDB предпочтительно. Периодически следите затем за размером файла /mysql_data/ibtmp1. Он может вырасти с 200 МБ до 30 ГБ и более, что приведет к коллапсу из-за нехватки места на сервере. Если версия mysql 5.7.x, то файл "обнуляется" периодически перезапуском сервиса командой service mysqld restart руками по ssh или через крон. Изменено 23 октября, 2021 пользователем Zero108 AlphaStar 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 24 октября, 2021 Поделиться Опубликовано 24 октября, 2021 А как быть с теми таблицами что не конвертируются? Те что с FULLTEXT-индекс? У меня их по моему 3 или четыре но весят они 80% от всего форума. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 24 октября, 2021 Поделиться Опубликовано 24 октября, 2021 2 часа назад, macar сказал: Те что с FULLTEXT-индекс? Свежие версии mysql уже поддерживают fulltext индексы для InnoDB. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 24 октября, 2021 Поделиться Опубликовано 24 октября, 2021 3 часа назад, Desti сказал: Свежие версии mysql уже поддерживают fulltext индексы для InnoDB. Хорошая новость, есть смысл обновится. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 24 октября, 2021 Поделиться Опубликовано 24 октября, 2021 28 минут назад, macar сказал: есть смысл обновится. есть смысл поставить elasticsearch и вообще не мучать базу поиском. Но не всякий сервер потянет. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 9 часов назад, Desti сказал: есть смысл поставить elasticsearch и вообще не мучать базу поиском. Но не всякий сервер потянет. Я уже давно поставил, до этого слоу лог пух как на дрожжах а сейчас пуст. Просто у меня все переведено в INNODB а три основные и самые тяжелые таблицы в МуИссам. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 26 минут назад, macar сказал: Я уже давно поставил Дык тогда зачем вам держать таблицы с fulltext, если он не используется? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 (изменено) 16 минут назад, Desti сказал: Дык тогда зачем вам держать таблицы с fulltext, если он не используется? !. Я не знал про это 2. Я любитель и что то с сервером могу делать только по хорошей инструкции, по установке к примеру эластика в инете есть, как убрать fulltext нет, а тренироваться на рабочем сервере, как то не правильно. 3. А если грохнется мой сервер (тьфу, тьфу, тьфу. :)) и придется переезжать на VDS а там нет эластика, что делать? Изменено 25 октября, 2021 пользователем macar Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 Почитал, оказывается если fulltext нет то скорость выше. Где бы надыбать мануал для чайников как все это сделать и узнать риски. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 2. ALTER TABLE `forums_posts` DROP INDEX post; - удалить индекс post 3. ALTER TABLE `forums_posts` ADD FULLTEXT post (`post`); - создать индекс post для колонки post Это, например, для таблицы сообщений. Риски - никаких, индексы можно создавать и удалять, главное всегда иметь бекап и тренироваться на копиях таблиц. macar 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlphaStar Опубликовано 25 октября, 2021 Автор Поделиться Опубликовано 25 октября, 2021 12 часов назад, Desti сказал: есть смысл поставить elasticsearch и вообще не мучать базу поиском. Но не всякий сервер потянет. Он же вроде платный, или платное только облако? VPS на 2 ядра и 8 гб озу пойдет? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 Платное только облако. Насчет VPS ничего не скажу, не проверял. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 3 часа назад, betastarz сказал: VPS на 2 ядра и 8 гб озу пойдет? Если сайт посещают человек 100 в день и нет раздачи больших файлов с диска сервера. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlphaStar Опубликовано 25 октября, 2021 Автор Поделиться Опубликовано 25 октября, 2021 Zero108 а если 1000 посещалка, но все файлы на облаке cdn wasabi? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Orpheus Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 (изменено) Not sure if this is what you want to do, but this helped me long back. How to grab all the tables which are using MyISAM storage engine? Use below SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' ENGINE=InnoDB;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'DBNAME' AND ENGINE = 'MyISAM' AND TABLE_TYPE = 'BASE TABLE' Then copying all the output queries you've to run in console and hit CTRL+Enter Where DBNAME is the database name Enjoy! Изменено 25 октября, 2021 пользователем M4FIA_RaGE Gennadiy 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 (изменено) 28 минут назад, betastarz сказал: Zero108 а если 1000 посещалка, но все файлы на облаке cdn wasabi? Как считаете? Если через что-то вроде гугл-аналитики, то 90-95% - это боты. Боты могут не сильно грузить апач и мускул. Если по никам людей на сайте, то другое. Для 1000 человек я бы рекомендовал 16 ГБ оперативы и минимум 4 ядра. На 2 ядрах и 8 ГБ оперативы на пиках нагрузки будут отваливаться мускул или апач из-за нехватки физических ресурсов. Изменено 25 октября, 2021 пользователем Zero108 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 25 октября, 2021 Поделиться Опубликовано 25 октября, 2021 5 часов назад, Desti сказал: 2. ALTER TABLE `forums_posts` DROP INDEX post; - удалить индекс post 3. ALTER TABLE `forums_posts` ADD FULLTEXT post (`post`); - создать индекс post для колонки post Это, например, для таблицы сообщений. Риски - никаких, индексы можно создавать и удалять, главное всегда иметь бекап и тренироваться на копиях таблиц. Огромное спасибо! На тестовой базе все сделал и удалил и конвертировал. Морально созрею буду на рабочем форуме делать, там правда таблицы есть по 2 гига, но надеюсь пройдет все нормально. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlphaStar Опубликовано 26 октября, 2021 Автор Поделиться Опубликовано 26 октября, 2021 Zero108 Вот такое нагуглил, на днях поставлю, проверю. Цитата Во-первых, надо обратить внимание на системные требования. В официальной документации заявлено, что программа будет идеально работать на машине с 64 Гб оперативной памяти, а минимальный объём - 8 Гб. И это понятно, потому что платформа работает на Java. Но это для производственных масштабов. От себя же могу сказать, что с обработкой 1 млрд строк данных Elasticsearch неплохо справляется и на машине с 2 Гб, не так быстро как хотелось бы, но там, где MySQL задумывалась на несколько минут, Elasticsearch выдаёт результат почти мгновенно. Однако для машин с небольшим количеством ОЗУ нужна дополнительная настройка. К процессору особых требований нет, что касается дисков, то разработчики советуют использовать SSD, так как они позволят быстрее выполнять операции индексирования и чтения данных с диска. macar У меня на нескольких таблицах где по 150к строк выдавало таймаут, но при этом сохраняло новый формат и работает ок) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 26 октября, 2021 Поделиться Опубликовано 26 октября, 2021 (изменено) 12 минут назад, betastarz сказал: разработчики советуют использовать SSD, так как они позволят быстрее выполнять операции индексирования и чтения данных с диска Если бабла навалом, можно и свой сервер купить и поставить под стол, в обычном mini tower корпусе. Окупится за 2-3 года. Радость от мгновенно скачанных и закачанных с локала на сервер данных непередаваема. Ну, и можно самому следить за состоянием железа. К нему УПС-очку серии IPPON на 15 минут работы с защитой от скачков и отключения. Изменено 26 октября, 2021 пользователем Zero108 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlphaStar Опубликовано 26 октября, 2021 Автор Поделиться Опубликовано 26 октября, 2021 Zero108 Это точно не для меня) Я люблю куда-то свалить на неопределенное количество времени, а так за "домашним животным сервером" не будет кому присмотреть. 🤓 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 26 октября, 2021 Поделиться Опубликовано 26 октября, 2021 (изменено) 3 минуты назад, betastarz сказал: Zero108 Это точно не для меня) Я люблю куда-то свалить на неопределенное количество времени, а так за "домашним животным сервером" не будет кому присмотреть. 🤓 Ну, если не жалко денег платить кому-то, то не надо. Я настроил, что если электричество пропадает, а потом появляется (что бывает крайне редко), сервер включается сам (автозагрузка в биосе по событию "У нас есть электричество, братья!") Вообще сервер не замечаю. Крайне редко требует обслуживания. Изменено 26 октября, 2021 пользователем Zero108 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
macar Опубликовано 26 октября, 2021 Поделиться Опубликовано 26 октября, 2021 20 минут назад, betastarz сказал: У меня на нескольких таблицах где по 150к строк выдавало таймаут, но при этом сохраняло новый формат и работает ок) А делал через phpadmin или шелл Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlphaStar Опубликовано 26 октября, 2021 Автор Поделиться Опубликовано 26 октября, 2021 macar phpmyadmin Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 26 октября, 2021 Поделиться Опубликовано 26 октября, 2021 С большими массивами данных phpmyadmin зависнет по таймауту. Лучше делать по ssh>mysql Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.