Последние обновления

Создание/восстановление загрузочного раздела на дисках с GPT

Случаются ситуации когда при установке Windows в компьютере стоял не один диск и даже не смотря на указание диска для установки, скрытые служебные разделы Windows оказываются на другом диске. Пока конфигурация компьютера не меняется, всё будет работать как положено, но при смене конфигурации...

Исправление работы AJAX в админке JA Comment 2.5.5

На свежих версиях PHP (7.4) есть проблема с AJAX функционалом в административной панели Joomla JA Comment 2.5.5. Например, при попытке активировать/деактивировать комментарий, не видно изменений до перезагрузки страницы.

Меняем SPD модулей памяти DDR2 и DDR3

Принесли мне в жертву для обновления старенький Macbook 13 mid 2010 для обновления. Процедура стандартная - расширяем память до 8Gb DDR3, ставим SSD и обновляем Mac OS. С последними двумя пунктами проблем не возникло, а вот с первым всё оказалось не так просто - имеющиеся у меня на руках планки...

Рутина MySQL

Небольшая заметка по регулярной работе с MySQL.

Резервное копирование и восстановление

Резервное копирование и восстановление в случае с маленькими базами можно делать привычным всем phpMyAdmin, но когда база начинает весить сотни мегабайт и больше, у phpMyAdmin начинаются проблемы. В этом случае лучше использовать консольные команды:

Создаем резервную копию базы

mysqldump -uИМЯПОЛЬЗОВАТЕЛЯ -h localhost -p ИМЯБАЗЫ --set-gtid-purged=OFF | gzip -c > last.gz

Восстанавливаем копию базы

gunzip < last.gz | mysql -uИМЯПОЛЬЗОВАТЕЛЯ -p ИМЯБАЗЫ

Восстановление таблиц в базе делаем командой

repair table 'ИМЯТАБЛИЦЫ'

Для со старым типом MyISAM может потребовать команда

repair table 'ИМЯТАБЛИЦЫ' use_frm

но надо иметь в виду что при этом слетит значение auto_increment

Заменить какой-то текст в таблице можно следующим образом

UPDATE ИМЯТАБЛИЦЫ SET ИМЯПОЛЯ = REPLACE(ИМЯПОЛЯ,'ЧТО_МЕНЯЕМ','НА_ЧТО_МЕНЯЕМ')

Удаление таблиц по шаблону (удалить все таблицы со схожей часть в названии, в данном случае prefix_)

SET SESSION group_concat_max_len = 99000000;
SELECT CONCAT('DROP TABLE ', GROUP_CONCAT(table_name), ';')
FROM information_schema.tables
WHERE table_schema = 'dev_table1' AND table_name LIKE 'prefix_%'

на выходе получим готовый запрос для выполнения