개발자/리눅스

[CentOS] sqldump를 활용한 MariaDB 스키마 restore // 타 서버의 스키마를 지정된 서버에 그대로 복사하고 싶은데 어떻게 하면 될까요??

푸루닉 2024. 3. 27. 14:13

다른 서버의 데이터베이스를 내가 활용하고 싶은 서버의 데이터베이스로 그대로 옮기고 싶을때 활용할 수 있는 방법이다.

 

1. Dump database

다음 > start를 누를 시 지정한 폴더에 sqldump가 생성될 것이다.

2. 해당 덤프를 FTP(파일질라, 알드라이브 등)를 활용하여 각자방식에 맞게 폴더로 옮겨준다.

필자는 프로젝트 폴더로 보냈다..

 

3. dump 백업 받기( 모든 테이블 스키마)

mysql -u [아이디] -p [DB명] < [파일명:ex. dbbackup.sql]

 

명령어는 매우 다양하다. 모든 테이블을 받는 명령어도 있고, 특정 테이블만, 특정 데이터만 등등 다양하게 활용가능하니 찾아서 사용해보면 될 것이다.

 

-----

추가

CREATE USER 'ssnsuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `ssnsdb`.* TO 'ssnsuser'@'%';
FLUSH PRIVILEGES;

가끔 정의자가 존재 하지 않아 오류가 발생할 수도 있다

 

이 경우 아마(뷰, 스토어드, 프로시저 등)에 대한 정의자로 지정된 [원래계정] 사용자가 데이터베이스 시스템에 존재하지 않기에 발생할 것이다. 위 명령어를 입력하여 객체의 정의자를 변경하면 해결할 수 있다.