권한 누락으로 인해 MySQL 서버가 시작되지 않지만 권한이 부여됩니다.

권한 누락으로 인해 MySQL 서버가 시작되지 않지만 권한이 부여됩니다.

방금 이전 데이터베이스 세트를 /var/lib/mysql에 복사했는데 뭔가 이상한 점이 생겼습니다. 처음에는 "sudo mc"를 사용하여 백업 위치에서 백업을 복사했기 때문에 권한은 "root:root"였습니다. 이전 권한에 맞게 chmod 및 chown을 실행했으며 다른 컴퓨터에 새로 설치하는 것과 비교해도 권한이 괜찮을 것입니다. 그러나 mysqld가 /var/lib/mysql에 chdir을 지정할 수 없다는 메시지가 계속 나타납니다.

콘솔 출력은 다음과 같습니다.

thopiekar@gate:~$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Di 2016-05-03 22:44:07 CEST; 15s ago
  Process: 9760 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 9754 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 9760 (code=exited, status=1/FAILURE);         : 9761 (mysql-systemd-s)
    Tasks: 2 (limit: 512)
   CGroup: /system.slice/mysql.service
           └─control
             ├─9761 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─9894 sleep 1

Mai 03 22:44:07 gate systemd[1]: Stopped MySQL Community Server.
Mai 03 22:44:07 gate systemd[1]: Starting MySQL Community Server...
Mai 03 22:44:08 gate mysqld[9760]: mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.130902Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.131097Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.274970Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275222Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275449Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.11-0ubuntu6) starting as process 9760 ...
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.285371Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
thopiekar@gate:~$ sudo ls -la /var/lib/mysql/
insgesamt 145460
drw-r-----  8 mysql mysql     4096 Mai  3 22:29 .
drwxr-xr-x 87 root  root      4096 Apr 30 00:05 ..
-rw-r-----  1 mysql mysql       56 Apr 30 00:06 auto.cnf
-rw-r-----  1 mysql mysql        0 Apr 30 00:06 debian-5.7.flag
-rw-r-----  1 mysql mysql      657 Mai  2 10:33 ib_buffer_pool
-rw-r-----  1 mysql mysql 35651584 Mai  2 10:33 ibdata1
-rw-r-----  1 mysql mysql 50331648 Mai  3 22:29 ib_logfile0
-rw-r-----  1 mysql mysql 50331648 Apr 29 15:08 ib_logfile1
-rw-r-----  1 mysql mysql 12582912 Mai  3 22:29 ibtmp1
drwxr-x---  2 mysql mysql     4096 Apr 30 00:06 mysql
drwxr-x---  2 mysql mysql     4096 Mai  2 09:46 MXYZ
drwxr-x---  2 mysql mysql     4096 Apr 30 00:06 performance_schema
drwxr-x---  2 mysql mysql    12288 Apr 30 00:06 sys
drwxr-x---  2 mysql mysql     4096 Apr 29 15:08 XY
drwxr-x---  2 mysql mysql     4096 Apr 29 15:08 XYZ

누군가 나에게 이것을 설명해 줄 수 있습니까? 감사해요!

답변1

당신은 "라고 말했다.방금 이전 데이터베이스 세트를 복사했습니다." 그 말 "사자" 이 상황에서는 잘못된 접근 방식을 암시할 수 있습니다. 물론 귀하의 "사자"는 공개되지 않은 다른 단계를 포함했을 수 있습니다. MySQL은 다음과 같이 구성되어 있는 것 같습니다.내보내다귀하의 데이터베이스와 그 이후수입그들을 "새로운" 데이터베이스. 실제 복사가 아닙니다.

원래 MySQL 구성이 아직 작동하고 있습니까? 데이터베이스가 아직 거기에 있고 액세스할 수 있나요?

"새" 시스템에 MySQL이 설치되어 있습니까?

phpMyAdmin이 설치되어 있습니까? 사용법을 살펴보지 않았다면mysqldump.

phpMyAdmin을 사용할 수 있는 경우 phpMyAdmin을 사용하여 데이터베이스를 내보냅니다. 그런 다음 출력을 "의 다운로드 폴더에 복사합니다.새로운" 컴퓨터 시스템.

"에새로운" 컴퓨터 시스템에서 다시 phpMyAdmin을 사용하지만 이 경우에는 다운로드 폴더에서 데이터베이스를 가져옵니다. 데이터베이스를 가져오면 권한 문제가 해결됩니다.

내보내기/가져오기 방법에 대한 더 자세한 지침을 보려면 "에서 인터넷 검색을 수행하세요.mysql 데이터베이스 내보내기".

다음은 mysqldump 사용을 기반으로 한 무작위 선택 예입니다.한 번에 모든 MySQL 데이터베이스 내보내기 및 가져오기"

관련 정보