디스크가 꽉 찼습니다. mysql 데이터베이스 파일을 이동하는 방법은 무엇입니까?

디스크가 꽉 찼습니다. mysql 데이터베이스 파일을 이동하는 방법은 무엇입니까?

/var/lib/mysql파티션에 있는 내 데이터베이스 파일/dev/sda5

이 파티션은 꽉 찼습니다(자세한 내용은 여기를 참조하세요)

/var/lib/mysql그래서 데이터베이스 파일의 위치를 ​​에서 로 옮기겠습니다./home/lib/mysql

이 데이터베이스 파일을 이동하는 올바른 방법은 무엇입니까?

나는 다음 단계를 수행할 것입니다:

  1. http 서버 및 PHP 중지
  2. datadir=/var/lib/mysql로 변경datadir=/home/lib/mysql/etc/my.cnf
  3. 모든 데이터베이스 파일을 새 위치로 이동
  4. 실행 killall -9 mysql한 다음 /etc/init.d/mysqld start
  5. http 서버 및 PHP 시작

이게 옳은 거니? 틀 렸으면 고쳐줘

추가됨:

현재 mysql은 멈추지 않습니다. 여기를 참조하세요:mysql이 멈추지 않고 mysqld_safe가 맨 위에 나타납니다.

답변1

1- 파일을 이동하기 전에(3단계) mysql 서버를 중지해야 합니다(4단계).

2- 꼭 필요한 경우가 아니면 사용하지 말고 정상적으로 중지해야 합니다 kill -9.

3- 5단계부터 시작하라는 뜻인 것 같습니다. (질문을 편집합니다.)

4- 파일 권한과 소유권도 확인해야 합니다.

답변2

  1. http 서버 및 PHP 중지
  2. mysql에 루트로 로그인하고 "테이블 플러시"(플러시가 실패하면 복구할 일부 테이블이 있음)
  3. killall -9 mysql 실행
  4. /etc/my.cnf에서 datadir=/var/lib/mysql을 datadir=/home/lib/mysql로 ​​변경합니다.
  5. 모든 데이터베이스 파일을 새 위치로 이동
  6. MySQL 서버를 시작하다
  7. 테이블 상태 확인(phpmyadmin 또는 기타 GUI에서)
  8. http 서버 및 PHP 시작

관련 정보