도와주세요! 하위 프로세스 /usr/bin/dpkg가 오류 코드를 반환합니다. (1) Ubuntu에 MySQL 설치

도와주세요! 하위 프로세스 /usr/bin/dpkg가 오류 코드를 반환합니다. (1) Ubuntu에 MySQL 설치

Ubuntu에 MySQL을 설치하려고 하는데 MySQL을 지우고 다시 다운로드하는 데 3일이 걸렸지만 성공하지 못했습니다. 내가 찾은 대부분의 솔루션은 나에게 적합하지 않았으며 MySQL을 삭제하고 다시 다운로드하는 것과 약간의 변형이 있었습니다. 또한 수동으로 파일에 들어가서 모든 MySQL 관련 파일을 수동으로 삭제해 보았습니다. 또한 일부 dpkg 파일을 다시 설치해 보았지만 아시다시피 저는 이것에 꽤 익숙합니다. 이 문제를 어떻게 해결할 수 있나요?

alvin@DESKTOP-DAIIHEJ:~$ sudo apt-get install mysql-server
[sudo] password for alvin:
Reading package lists... Done
Building dependency tree
Reading state information... Done
mysql-server is already the newest version (8.0.27-0ubuntu0.20.04.1).
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-8.0 (8.0.27-0ubuntu0.20.04.1) ...
invoke-rc.d: could not determine current runlevel
 * Stopping MySQL database server mysqld                                                              [ OK ]
Renaming removed key_buffer and myisam-recover options (if present)
Cannot open /proc/net/unix: No such file or directory
Cannot stat file /proc/1/fd/5: Operation not permitted
Cannot stat file /proc/1/fd/10: Operation not permitted
Cannot stat file /proc/1/fd/6: Operation not permitted
Cannot stat file /proc/10/fd/7: Operation not permitted
Cannot stat file /proc/10/fd/10: Operation not permitted
Cannot stat file /proc/10/fd/5: Operation not permitted
mysqld will log errors to /var/log/mysql/error.log
mysqld is running as pid 143
dpkg: error processing package mysql-server-8.0 (--configure):
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-8.0; however:
  Package mysql-server-8.0 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-8.0
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

이것은 내 오류 로그입니다.

2022-01-27T22:38:25.061002Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.27-0ubuntu0.20.04.1).
2022-01-27T22:38:25.981554Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27-0ubuntu0.20.04.1)  (Ubuntu).
2022-01-27T22:38:26.615434Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27-0ubuntu0.20.04.1) starting as process 206
2022-01-27T22:38:26.629831Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-01-27T22:38:26.648358Z 1 [ERROR] [MY-012585] [InnoDB] Linux Native AIO interface is not supported on this platform. Please check your OS documentation and install appropriate binary of InnoDB.
2022-01-27T22:38:26.648440Z 1 [Warning] [MY-012654] [InnoDB] Linux Native AIO disabled.
2022-01-27T22:38:26.787334Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-01-27T22:38:26.848746Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file /var/run/mysqld/mysqlx.sock.lock'
2022-01-27T22:38:26.946919Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-01-27T22:38:26.946963Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-01-27T22:38:26.948630Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-01-27T22:38:26.948712Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-01-27T22:38:26.949587Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Permission denied
2022-01-27T22:38:26.949630Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?
2022-01-27T22:38:26.949908Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-01-27T22:38:27.949853Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27-0ubuntu0.20.04.1)  (Ubuntu).

이것이 결과이다mount | grep proc

proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime) –

답변1

위의 문제에 대한 여러 가지 해결책이 있습니다

1. dpkg 패키지 재구성

이 오류의 원인 중 하나는 손상된 dpkg 데이터베이스입니다. 이 문제는 다음으로 해결할 수 있습니다.sudo dpkg --configure -a

2. 문제가 있는 패키지 강제 설치

때로는 패키지 설치 중에 오류가 발생할 수 있습니다. 이런 경우 아래와 같이 -f 옵션을 사용하여 패키지를 강제로 설치할 수 있습니다.

sudo apt install -f
OR
sudo apt install --fix-broken

3. 불량하거나 손상된 패키지 제거

sudo apt remove --purge package_name

4. 패키지와 관련된 모든 파일을 삭제합니다.

마지막으로 문제가 있는 패키지와 관련된 모든 항목을 수동으로 제거할 수 있습니다. 먼저 /var/lib/dpkg/info 디렉터리에 있는 이러한 파일을 찾아야 합니다.

sudo ls -l /var/lib/dpkg/info | grep -i package_name

파일이 나열되면 해당 파일을 /tmp 디렉터리로 이동할 수 있습니다.

sudo mv /var/lib/dpkg/info/package-name.* /tmp

마지막으로 패키지 목록을 업데이트합니다.

sudo apt update

그런 다음 패키지를 다시 설치해 보십시오.

발생하는 오류는 포트 3306이 이미 사용 중이므로 MySQL을 설치할 수 없다는 것입니다.

이를 사용하면 netstat -lp | grep 3306어떤 프로그램이 이미 포트 3306에서 수신 대기 중인지 확인하고(마지막 열에 PID/프로그램 이름이 표시되어야 함) 해당 프로그램을 중지할 수 있습니다(mysql이 이미 실행 중일까요?).

또는 다른 포트에서 새로 설치된 서버를 시작할 수 있습니다. ( my.cnf기본 포트를 편집하고 변경하세요)

답변2

동일한 인스턴스에서 $vi /etc/mysql/mysql.conf.d/mysqld.cnf를 실행하는 MariaBD 인스턴스가 이미 있었기 때문에 포트를 변경하여 문제를 해결했습니다.

port            = 3306

~을 위한

port            = 3366

귀하의 지식을 공유해 주셔서 감사합니다!

답변3

이 답변이 도움이 되었는지 모르겠습니다. nodejs 18을 설치하는 동안 이 문제에 직면했습니다. 이 문제는 때때로 패킷 간섭으로 인해 발생합니다. 다음 명령이 나에게 효과적이었습니다.

sudo apt autoremove

그런 다음 이 패키지를 설치했습니다.

apt install -y -f <package>

답변4

sudo apt --fix-broken install

나를 위해 작동합니다. 종속성이 충족되지 않은 패키지가 있습니다.

관련 정보