Мы не использовали ветвления MySQL, но для нашего случая (Bioinformatics базы данных) переключающийся на PostgeSQL работал действительно хорошо. Веб-приложение (Навигатор Cellwall, 10k строки кода Perl и 10 таблиц базы данных) работало на MySQL в течение 5 лет. Нам потребовались 2 дня для корректировки SQL для миграции на Пост-ГРЭС.
Никакое приложение не кодировало необходимые корректировки за исключением соединения с базой данных.
Корректировка была:
Замененный пароль MySQL () с Пост-ГРЭС md5 () как это SELECT id FROM users WHERE email = ? AND password = password(?)
становится SELECT id FROM users WHERE email = ? AND password = md5(?)
Легкое преобразование для MySQL STRAIGHT_JOIN к регулярному СОЕДИНЕНИЮ
Исходный SQL, который был разрешен MySQL (хорошо работал для приложения перед миграцией):
SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id
Мы скорректировали его, чтобы быть надлежащим SQL, который работает в PostgeSQL и корректный для приложения:
SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?
Похоже, ваша проблема вызвана проблемой с вашим жестким диском и / или контроллером.
Рекомендации:
Конечно у вас есть полная, текущая, резервная и вы протестировали процесс восстановления, чтобы убедиться, что его действительно можно использовать. Если нет, немедленно сделайте резервную копию вашей системы.
Запустите проверку файловой системы, включая сканирование на наличие битых секторов. Имейте в виду, что плохие блоки, видимые операционной системе на современном жестком диске, являются очень плохим признаком , указывающим на то, что диск следует заменить как можно скорее.
Убедитесь, что все драйверы, связанные с диском (включая драйверы RAID) и микропрограмма контроллера) обновлены.
Замените диск / кабель заведомо исправными деталями и выполните восстановление из резервной копии.