November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Friday, May 18th, 2018 11:25 am

На работе один разработчик удалял ненужные старые базы данных на MySQL master-сервере. А внезапно slave перестал работать, типа, не смог у себя удалить одну из тех баз:
Error was = Error 'Error dropping database (can't rmdir './название_базы/', errno: 17)' on query. Default database: ''. Query: 'drop database название_базы'

Я пошёл копать, оказалось, что MySQL не делает rm -rf на директорию от удаляемой базы. Он уже удалил свои стандартные файлы с данными и индексами, а потом пытался удалить директорию, но это не сработало, потому что в директории оказались лишние файлы: какие-то 20051114_outgoing.TMD_backup и 20051115_outgoing.TMD_backup. Ну я их удалил вручную, перезапустил slave, и тогда drop database сработал.

Потом такая же фигня случилась на паре других баз данных, пришлось опять удалять лишние файлы вручную. А потом ещё и на master-сервере одна база не удалилась по той же причине, и там пришлось вручную удалить лишний файл *.TMD_backup.

Что это за файлы, и откуда они взялись – совершенно не понимаю. Пробовал погуглить, но тоже не нашёл.

Оригинал этой записи в личном блоге.