
Мой сервер MySQL сломался, и я не могу понять, почему. Пытаюсь переустановить yum, получаю следующее: Ошибка: конфликт mysql-server с mysql-server
Я думаю, это потому, что на сервере уже был установлен сервер MySQL, и когда я запустил обновление, все испортилось.
Я не могу получить доступ к MySQL, поэтому я даже не могу сделать mysqldump. Как мне переустановить, не ставя под угрозу мои существующие базы данных?
решение1
Пакет mysql-server
разработан таким образом, что он не затронет пользовательские данные ни при удалении, ни при установке. Проблема, которую вы видите, вероятно, заключается в том, что у вас установлен пакет i386, а он хочет пакет x86_64, или наоборот. Для продолжения вам понадобится полный вывод yum.
решение2
Если вы хотите переустановить mysql, обратите внимание, что все ваши данные находятся в /var/lib/mysql
(проверьте ваш my.conf
). Скопируйте все ваши данные в другую папку, а затем внесите изменения.
Вы также можете проверить свои репозитории, переставить их и установить mysql с нуля. Безопаснее сделать все это и быть осторожным в следующий раз. Поэтому сделайте две вещи перед переустановкой:
- Проверьте версию вашего mysql.
- Скопируйте
/var/lib/mysql
, например (как root):cp -R /var/lib/mysql /tmp/mysql.bck
решение3
Похоже, у вас разные версии mysql-server, предлагаемые разными репозиториями. Я не уверен, какая из них у вас запущена, поэтому не могу сказать, какие репозитории нужно отключить. Я предполагаю, что у вас CentOS, но с yum это может быть что угодно.
Вы также можете использовать repoquery
(installed with yum-utils
), чтобы проверить, какие файлы установил ваш пакет mysql-server и где были расположены базы данных (или узнать скрипт инициализации, если ваш пакет устанавливает MySQL именно таким образом).
Следующее, что нужно сделать, прежде чем что-то делать, это сделать резервную копию самих файлов базы данных. Если вы хотите иметь надежду на восстановление данных, они вам понадобятся.
Как только вы выяснили, какая именно версия MySQL у вас установлена, установите новый сервер (Amazon EC2 вам в помощь) с этой версией и скопируйте файлы данных поверх недавно установленных.может(большое, если здесь, и не делайте этого при запущенном MySQL) позволяют вам работать mysqldump
с вашей базой данных.
Что касается вашего изначального вопроса, я не думаю, что нормальный mysql-server
пакет уничтожит ваши установленные базы данных, но я не буду делать ставку на ваши данные.
Удачи.
решение4
Я просто попытался yum remove mysql-commutity-server
сделатьЦентос 6
Он пытался удалить /var/lib/mysql. Так что вам лучше переместить datadir оттуда перед удалением.