데이터 폴더 이동 및 mysql centos 구동


11

데이터를 다른 폴더로 이동하고 cent os db 서버에서 드라이브해야합니다.

공간이 부족하여 새 하드 드라이브를 추가했습니다.

1TB의 하드 드라이브가 있고 새로운 2TB가 있습니다. 데이터를 동일한 서버에 저장하고 싶습니다 (데이터 센터에서 호스팅되는 전용 서버)

데이터를 잃지 않고 데이터를 마이그레이션하는 쉬운 방법이 무엇인지 알고 싶습니다.

현재 데이터 /var/lib/mysql/를 센트 OS에 있습니다.mysql version is 5.1


@abdelsaid no, myisam을 사용하는 메신저

답변:


13

1 단계

먼저 드라이브를 설정하고 (fstab에 올바르게 설치되었다고 가정) 새 MySQL 디렉토리를 만듭니다.

sudo mkdir /path/to/new/mysql

이 폴더에 올바른 권한이 있는지 확인하십시오.

chown -R mysql:mysql /data/mysql

이제 데이터를 복사하는 동안 서비스를 종료 할 수 있습니다. 현재 데이터 디렉토리에서 새 데이터 디렉토리로 데이터를 복사하십시오 (예 :

sudo cp -R /var/lib/mysql/* /path/to/new/mysql/

원하는 경우 또는 안전하다고 생각되면 mv명령을 사용하여 폴더를 이동할 수 있습니다 .

2 단계

에서 MySQL 데이터의 위치를 ​​변경할 수 있습니다 my.cnf. 이 파일의 위치를 ​​모르는 경우 다음 명령을 실행할 수 있습니다.

locate my.cnf

그러면 my.cnf가있는 경로가 제공됩니다. 그런 다음 파일을 편집하십시오.

sudo vi /etc/mysql/my.cnf (물론 경로로 바꿔야합니다)

이제를 찾아서 datadir = /var/lib/mysql업데이트하십시오 datadir = /path/to/new/mysql.

그런 다음 mysql을 다시 시작하십시오.

sudo /etc/init.d/mysqld restart

며칠 / 주 후에 편안하다고 느끼면 이전 폴더 (/ var / lib / mysql)를 제거하거나 내부의 모든 것을 백업 할 수 있습니다.


0

마이그레이션하는 동안 종료하지 않으려면 mysql (동일 버전)이있는 2tb의 chroot 환경에 마스터 마스터 복제를 설정 한 다음 동기화시 1tb를 끄면 chroot 환경이 작동합니다.

chroot 환경을 사용하지 않으려면 my.cnf (chroot가 아닌)를 변경하여 mytb 파일을 2tb 디스크에 저장할 위치를 가리키고 복제를 비활성화하십시오. 그런 다음 chroot 환경을 끄고 my.cnf에있는 데이터로 데이터를 이동하십시오. 동일한 디스크에 있기 때문에 여기까지 이동하는 데 1 초가 걸리지 않습니다. mysql을 다시 시작하십시오.

이 작업은 약간 복잡하므로 먼저 로컬 vm 환경에서이 작업을 수행 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.