/var/lib/mysql
파티션에 있는 내 데이터베이스 파일/dev/sda5
이 파티션은 꽉 찼습니다(자세한 내용은 여기를 참조하세요)
/var/lib/mysql
그래서 데이터베이스 파일의 위치를 에서 로 옮기겠습니다./home/lib/mysql
이 데이터베이스 파일을 이동하는 올바른 방법은 무엇입니까?
나는 다음 단계를 수행할 것입니다:
- http 서버 및 PHP 중지
datadir=/var/lib/mysql
로 변경datadir=/home/lib/mysql
/etc/my.cnf
- 모든 데이터베이스 파일을 새 위치로 이동
- 실행
killall -9 mysql
한 다음/etc/init.d/mysqld start
- http 서버 및 PHP 시작
이게 옳은 거니? 틀 렸으면 고쳐줘
추가됨:
현재 mysql은 멈추지 않습니다. 여기를 참조하세요:mysql이 멈추지 않고 mysqld_safe가 맨 위에 나타납니다.
답변1
1- 파일을 이동하기 전에(3단계) mysql 서버를 중지해야 합니다(4단계).
2- 꼭 필요한 경우가 아니면 사용하지 말고 정상적으로 중지해야 합니다 kill -9
.
3- 5단계부터 시작하라는 뜻인 것 같습니다. (질문을 편집합니다.)
4- 파일 권한과 소유권도 확인해야 합니다.
답변2
- http 서버 및 PHP 중지
- mysql에 루트로 로그인하고 "테이블 플러시"(플러시가 실패하면 복구할 일부 테이블이 있음)
- killall -9 mysql 실행
- /etc/my.cnf에서 datadir=/var/lib/mysql을 datadir=/home/lib/mysql로 변경합니다.
- 모든 데이터베이스 파일을 새 위치로 이동
- MySQL 서버를 시작하다
- 테이블 상태 확인(phpmyadmin 또는 기타 GUI에서)
- http 서버 및 PHP 시작