웹사이트 검색

모든 MySQL 데이터베이스를 이전 서버에서 새 서버로 전송하는 방법


서버 간 MySQL/MariaDB 데이터베이스 전송 또는 마이그레이션은 일반적으로 몇 가지 간단한 단계만으로 이루어지지만, 데이터 전송은 전송하려는 데이터의 양에 따라 다소 시간이 걸릴 수 있습니다.

이 문서에서는 모든 MySQL/MariaDB 데이터베이스를 기존 Linux 서버에서 새 서버로 전송하거나 마이그레이션하고, 성공적으로 가져오고, 데이터가 있는지 확인하는 방법을 알아봅니다.

중요 사항

  • 동일한 배포판을 사용하는 두 서버에 동일한 버전의 MySQL이 설치되어 있는지 확인하십시오.
  • 데이터베이스 덤프 파일과 가져온 데이터베이스를 보관할 수 있도록 두 서버 모두에 충분한 여유 공간이 있는지 확인하십시오.
  • 데이터베이스의 data 디렉터리를 다른 서버로 이동하는 것을 고려하지 마세요. 데이터베이스의 내부 구조를 망치지 마십시오. 그렇게 하면 나중에 문제에 직면하게 됩니다.

MySQL 데이터베이스를 덤프 파일로 내보내기

먼저 이전 서버에 로그인하고 표시된 대로 systemctl 명령을 사용하여 mysql/mariadb 서비스를 중지하여 시작하세요.

systemctl stop mariadb
OR
systemctl stop mysql

그런 다음 mysqldump 명령을 사용하여 모든 MySQL 데이터베이스를 단일 파일로 덤프합니다.

mysqldump -u [user] -p --all-databases > all_databases.sql

덤프가 완료되면 데이터베이스를 전송할 준비가 된 것입니다.

단일 데이터베이스를 덤프하려면 다음을 사용할 수 있습니다.

mysqldump -u root -p --opt [database name] > database_name.sql

MySQL 데이터베이스 덤프 파일을 새 서버로 전송

이제 scp 명령을 사용하여 표시된 대로 데이터베이스 덤프 파일을 홈 디렉터리 아래의 새 서버로 전송합니다.

scp all_databases.sql [email :~/       [All Databases]
scp database_name.sql [email :~/       [Singe Database]

연결하면 데이터베이스가 새 서버로 전송됩니다.

MySQL 데이터베이스 덤프 파일을 새 서버로 가져오기

MySQL 덤프 파일이 새 서버로 전송되면 다음 명령을 사용하여 모든 데이터베이스를 MySQL로 가져올 수 있습니다.

mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

가져오기가 완료되면 mysql 셸에서 다음 명령을 사용하여 두 서버의 데이터베이스를 확인할 수 있습니다.

mysql -u user -p
show databases;

MySQL 데이터베이스 및 사용자를 새 서버로 전송

모든 MySQL 데이터베이스, 사용자, 권한 및 데이터 구조 이전 서버를 새 서버로 이동하려면 rsync 명령을 사용하여 표시된 대로 mysql/mariadb 데이터 디렉터리의 모든 콘텐츠를 새 서버로 복사할 수 있습니다.

rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

전송이 완료되면 mysql/mariadb 데이터 디렉토리의 소유권을 사용자 및 그룹 mysql로 설정한 다음 디렉토리 목록을 작성하여 모든 파일이 전송되었는지 확인할 수 있습니다.

chown mysql:mysql -R /var/lib/mysql/
ls  -l /var/lib/mysql/

GUI를 사용하여 MySQL 데이터베이스를 마이그레이션하는 방법

최신 데이터베이스 도구를 사용하면 사용자는 MySQL 데이터베이스 마이그레이션 작업을 간소화할 수 있습니다. 주요 요소는 마이그레이션 프로세스의 각 단계를 안내하는 사용자 친화적인 그래픽 인터페이스입니다. 몇 번의 클릭만으로 작업 구성이 완료됩니다. MySQL 데이터베이스를 새 대상으로 전송하기 위해 수동으로 명령을 입력할 필요가 없습니다.

일반적으로 이러한 도구는 전체 데이터베이스 또는 해당 부분을 전송하는 다양한 방법을 지원합니다. 백업 및 복원, 데이터베이스 복사, 데이터 가져오기 및 내보내기 등이 될 수 있습니다.

게다가 MySQL 데이터 마이그레이션 도구는 독립형 솔루션일 수도 있고 나머지 모든 데이터베이스 작업을 처리하는 데 적합한 dbForge Studio for MySQL과 같은 훨씬 더 강력한 도구 세트의 일부일 수도 있습니다.

그게 다야! 이 기사에서는 모든 MySQL/MariaDB 데이터베이스를 한 서버에서 다른 서버로 쉽게 마이그레이션하는 방법을 배웠습니다. 다른 방법과 비교하여 이 방법을 어떻게 찾나요? 아래 의견 양식을 통해 귀하의 의견을 듣고 싶습니다.