내 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
예를 들어 (루트로) 복사합니다 .cp -R /var/lib/mysql /tmp/mysql.bck
답변3
서로 다른 저장소가 서로 다른 버전의 mysql-server를 제공하는 것 같습니다. 어떤 저장소를 실행하고 있는지 확실하지 않으므로 어떤 저장소를 비활성화할지 알려드릴 수 없습니다. CentOS를 실행하고 있다고 가정하지만 yum의 무엇이든 될 수 있습니다.
또한 repoquery
(install yum-utils
)을 사용하여 mysql-server 패키지가 설치하는 파일과 데이터베이스가 어디에 있는지 확인할 수 있습니다(또는 패키지가 MySQL을 설치하는 방법인 경우 init 스크립트를 찾을 수 있습니다).
다른 작업을 수행하기 전에 다음 단계는 데이터베이스 파일 자체를 백업하는 것입니다. 데이터를 복구하려면 이 정보가 필요합니다.
실행 중인 MySQL의 정확한 버전을 발견하면 정확한 버전의 새 상자를 설치하고(Amazon의 EC2가 여러분의 친구입니다) 새로 설치된 버전에 데이터 파일을 복사합니다.가능한(이것이 크고 MySQL에서는 수행하지 않는 경우) mysqldump
데이터베이스에서 실행할 수 있습니다.
귀하의 원래 질문에 관해서는 정상적인 패키지가 설치된 데이터베이스를 손상시킬 것이라고 생각하지 않지만 mysql-server
귀하의 데이터를 거기에 걸지는 않을 것입니다.
행운을 빌어요.
답변4
난 그냥 yum remove mysql-commutity-server
하려고 노력 중이야센토스 6
/var/lib/mysql을 삭제하려고 합니다. 따라서 제거하기 전에 거기에서 datadir을 이동하는 것이 좋습니다.