MariaDB와 MySQL을 혼합했습니다.

MariaDB와 MySQL을 혼합했습니다.

저는 Ubuntu 18.04를 사용하고 있으며 Mysql을 설치하고 있습니다.

나는 다음을 입력합니다:

sudo apt-get install mysql-server

이 메시지를 받았지만 끝에 오류가 있습니다.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
mysql-server is already the newest version (5.7.28-0ubuntu0.18.04.4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up mysql-server-5.7 (5.7.28-0ubuntu0.18.04.4) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 191: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 installed mysql-server-5.7 package post-installation script subprocess returned error exit status 127
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                          Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

추가 정보:

입력하면 apt-cache policy mysql-common 다음과 같은 응답이 나타납니다.

mysql-common:
  Installed: 1:10.4.11+maria~bionic
  Candidate: 1:10.4.11+maria~bionic
  Version table:
 *** 1:10.4.11+maria~bionic 100
        100 /var/lib/dpkg/status
     1:10.3.21+maria~bionic 500
        500 http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic/main ppc64el Packages
        500 http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic/main arm64 Packages
        500 http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic/main amd64 Packages
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic/main ppc64el Packages
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic/main arm64 Packages
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic/main amd64 Packages
     1:10.3.20+maria~bionic 500
        500 http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic/main ppc64el Packages
        500 http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic/main arm64 Packages
        500 http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic/main amd64 Packages
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic/main ppc64el Packages
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic/main arm64 Packages
        500 http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic/main amd64 Packages
     1:10.3.14+maria~bionic 500
        500 http://archive.mariadb.org/mariadb-10.3.14/repo/ubuntu bionic/main ppc64el Packages
        500 http://archive.mariadb.org/mariadb-10.3.14/repo/ubuntu bionic/main amd64 Packages
        500 http://archive.mariadb.org/mariadb-10.3.14/repo/ubuntu bionic/main arm64 Packages
     5.8+1.0.4 500
        500 http://fr.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
        500 http://fr.archive.ubuntu.com/ubuntu bionic/main i386 Packages

mysql 제거, mariadb 설치, stackOverflow의 다양한 솔루션 보기 등 많은 솔루션을 시도했지만 오류를 정확히 지적한 것은 없습니다.

귀하의 도움에 진심으로 감사드립니다. 한동안 이 문제로 봉착했습니다...

답변1

MariaDB와 MySQL을 혼합했습니다.

출력을 확인하세요 apt-cache policy mysql-common.

        500http://archive.mariadb.org/mariadb-10.3.14/repo/ubuntuBionic/메인 amd64 패키지
        500http://fr.archive.ubuntu.com/ubuntuBionic/메인 amd64 패키지

둘 다 mysql-common패키지를 가지고 있습니다. 보시다시피 MariaDB( +maria버전 문자열 참고)는 타사 MariaDB 저장소에서 가져오고 MySQL은 Ubuntu 패키지 저장소에서 가져옵니다.

아쉽게도 패키지 내용물은아니 똑같다. 또한 MySQL 설치는 다음 사항에 의존합니다.MySQL 패키지 mysql-common의 일부이 패키지의 MariaDB 버전포함하지 않는다, 특히프로그램/usr/share/mysql-common/configure-symlinks, 그것은 /etc/mysql/my.cnf.

이로 인해 MySQL mysql-server-5.7패키지가 설치의 마지막 단계인 "구성" 단계를 수행하지 못했습니다.

이 패키지의 타사 MariaDB 버전을 제거 mysql-common하고 Ubuntu 저장소에서 MySQL 버전을 설치(및 구성)해야 합니다. 그러면 패키지의 "구성" 단계가 mysql-server-5.7작동합니다.

mysql-common예를 들어 in의 올바른 버전을 선택 하고 설치 aptitude하면 됩니다 . 그러나 아마도 이를 달성하는 가장 간단하고 깨끗한 방법은 다음과 같습니다.

  • sources.list및 에서 타사 MariaDB 리포지토리의 모든 흔적을 제거합니다 sources.list.d/.
  • 모든 고아 MariaDB 패키지를 지웁니다.
  • MySQL mysql-server-5.7과 해당 종속성을 다시 설치하십시오.

다음 단계는 my.cnf발생할 수 있는 이러한 앞뒤로 인해 발생하는 파일 문제를 해결하는 것입니다.다음mysql-server-5.7설치를 완료할 수 없는 이유입니다.저것Ubuntu 릴리스 노트에 있습니다.

추가 읽기

  • "MySQL 5.7". 우분투 16.04 LTS 릴리스 노트. 모델. 2016.wiki.ubuntu.com.

답변2

참고: 이 오류는 다른 응용 프로그램에서 포트(3306)를 사용하는 경우에도 발생할 수 있습니다. 제 경우에는 포트 3306을 사용하는 mysql을 실행하는 Docker 컨테이너가 있으므로 로컬 mysql 설치를 구성할 수 없습니다.

$ sudo netstat -nltp | grep LISTEN | grep 3306
$ sudo netstat -nltp | grep LISTEN | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      1017033/docker-prox 

sudo apt purge --auto-remove mysql*
sudo rm -r /etc/mysql
sudo rm -r /var/lib/mysql*

sudo apt install mysql-client-8.0 mysql-server-8.0 --fix-broken -y

관련 정보