my.cnf 파일에 datadir 줄을 추가한 후 MariaDB를 다시 시작할 수 없습니다.

my.cnf 파일에 datadir 줄을 추가한 후 MariaDB를 다시 시작할 수 없습니다.

my.cnf의 [mysqld] 섹션에 다음 줄을 추가한 후 MariaDB를 다시 시작하는 데 문제가 있습니다.

datadir = /home/mysql

다시 시작되지 않습니다. 이는 권한 문제일 수 있습니다. 이것은 내 모든 SQL 데이터가 보관되는 디렉토리입니다. 이것은 systemctl status mysql.service가 표시하는 것입니다.

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2021-11-10 08:33:00 CST; 36s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 14438 ExecStart=/usr/lib/mysql/mysql-systemd-helper start (code=exited, status=1/FAILURE)
  Process: 14425 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper upgrade (code=exited, status=0/SUCCESS)
  Process: 14412 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install (code=exited, status=0/SUCCESS)
 Main PID: 14438 (code=exited, status=1/FAILURE)
   Status: "MariaDB server is down"

Nov 10 08:33:00 law-amp3 mysql-systemd-helper[14438]: 2021-11-10  8:33:00 0 [Note] /usr/sbin/mysqld (mysqld 10.4.17-MariaDB-log) starting as process 14438 ...
Nov 10 08:33:00 law-amp3 mysql-systemd-helper[14438]: 2021-11-10  8:33:00 0 [Warning] Could not increase number of max_open_files to more than 1024 (request: 32214)
Nov 10 08:33:00 law-amp3 mysql-systemd-helper[14438]: 2021-11-10  8:33:00 0 [Warning] Changed limits: max_open_files: 1024  max_connections: 151 (was 151)  table_cache: 421 (was 2000)
Nov 10 08:33:00 law-amp3 mysql-systemd-helper[14438]: 2021-11-10  8:33:00 0 [Warning] Can't create test file /home/mysql/law-amp3.lower-test
Nov 10 08:33:00 law-amp3 mysql-systemd-helper[14438]: [87B blob data]
Nov 10 08:33:00 law-amp3 mysql-systemd-helper[14438]: 2021-11-10  8:33:00 0 [ERROR] Aborting
Nov 10 08:33:00 law-amp3 systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Nov 10 08:33:00 law-amp3 systemd[1]: Failed to start MariaDB database server.
Nov 10 08:33:00 law-amp3 systemd[1]: mariadb.service: Unit entered failed state.
Nov 10 08:33:00 law-amp3 systemd[1]: mariadb.service: Failed with result 'exit-code'.

답변1

권한 문제인 것 같습니다. 디렉토리의 소유자가 mysql인지 확인하십시오. 예를 들어

chown --reference=/var/lib/mysql /home/mysql
chmod --reference=/var/lib/mysql /new/dir/for/mysql

편집하다:

서비스 파일에 ProtectHome이 있는지 확인하십시오.

vi /usr/lib/systemd/system/mariadb.service

ProtectHome=true를 ProtectHome=으로 변경합니다.잘못된

문서 저장

systemctl daemon-reload

mariadb를 다시 시작하세요.

관련 정보