본문 바로가기
Mysql

Centos 7. 에서 Mysql data import 방법

by JunsC 2024. 10. 14.
728x90

Linux 서버 뿐 아니라 로컬 에서도 Mysql data import 혹은 export 를 해야할 상황이 있다.

로컬에서는 당연히 workbench 를 사용하기 때문에 간단히 import , export 를 할 수 있다.

 

하지만 Linux 서버에서는 로컬 언어를 사용하기 때문에 지식이 필요해서 여기에다 그 지식을 적어 놓으려 한다 ㅎㅎ

리눅스 서버 조작 관련해서는 해당 언어를 잘 사용하는 것이 효과적이라 할 수 있다. 

여기엔 그에 따른 해결방법과 예시등을 적어놓을 것이다.

 

 

 

1. MySQL 로그인

먼저 MySQL에 로그인해야 합니다. 터미널에서 다음 명령어를 입력하여 MySQL 서버에 접속합니다:

 

기본적인 mysql 명령어 In Linux

mysql -u root -p

 

여기서 root는 MySQL 사용자의 본인의 이름이다. 비밀번호를 입력하라는 메시지가 나타나면 MySQL root 사용자의 비밀번호를 입력한다 . 자기가 하고 싶은 비밀번호를 입력하면 되는데 보통 비밀번호 입력하는 부분이 굉장히 타이트하다.

mysql> select host, user, authentication_string from user;

이렇게 하면 mysql 8 버전에서 현재 자기가 어떤 암호를 설정해놓았는지 확인할 수 있다.

 

암호를 변경하고 싶다면 

mysql> alter user 'root'@'localhost' identified with mysql_native_password by '변경후 비밀번호';

 

위와 같이 코드를 입력하면 암호를 변경할 수 있다. 하지만 아까 말했듯이 암호 정책이 굉장히 타이트하다 . 우선 암호 정책을 확인해보자

 

정책을 확인하는 코드이다.

show variables like 'validate_password%';

 

위와 같은 사진을 보면 바로 정책 부분을 볼 수 있다.

 

우선 각 정책의 옵션들의 특징을 알아보자면

  • LOW인 경우, Length(최소 8자 이상만) 맞추기
  • MEDIUM인 경우, Length & 숫자, 대문자, 소문자, 특수문자가 모두 포함된 비밀번호를 사용
  • STRONG인 경우 dictionary file 이란 것을 등록해야 한다. 이 파일에 포함된 단어는 비밀번호로 사용할 수 없다.
  • 보통 MEDIUM을 LOW로 변경하여 계정을 생성하면 쉽게 정책을 수정하면서 비밀번호를 수정할 수 있다.

그럼 정책을 변경해보자

set global validate_password.policy=LOW;

 

그리고 정책을 LOW 변경되면 

CREATE USER connectuser@localhost IDENTIFIED BY '비밀번호';

 

자신이 원하는 비밀번호를 설정하면 변경 완료 !!!

 

 

 

2. 데이터베이스 선택 또는 생성

임포트할 데이터를 넣을 데이터베이스가 이미 존재하는 경우 해당 데이터베이스로 이동한다.

데이터베이스 목록을 확인하려면 다음 명령을 실행한다.

SHOW DATABASES;

 

데이터베이스가 존재하지 않는다면, 새 데이터베이스를 생성할 수 있는데 이 명령어로 입력하면 된다.

CREATE DATABASE your_database_name;

 

그 후 해당 데이터베이스를 선택한다

USE your_database_name;

 

굳굳 !!

 

 

 

3. SQL 파일 임포트

MySQL에서 .sql 파일을 데이터베이스에 임포트하려면 source 명령을 사용할 수 다.

MySQL 프롬프트 내에서 다음 명령어를 사용하면 된다.

source /path/to/yourfile.sql;

 

예를 들어, 파일이 /home/user/backup.sql에 있다면:

source /home/user/backup.sql;

 

이 명령을 실행하면 MySQL이 해당 SQL 파일을 실행하고 데이터베이스에 데이터를 임포트하면 된다.

 

그럼 바로 .sql 덤프된 파일들이 알아서 mysql 에 덮어씌워지는 로그들을 확인할 수 있다. 

쭈르르르르륵 내려간다 ~~!

볼만하구만...

 

 

 

4. MySQL 외부에서 임포트하기

MySQL 명령줄 인터페이스에 들어가지 않고도 MySQL 외부에서 직접 파일을 임포트할 수 있다.

MySQL 사용자 계정과 비밀번호, 데이터베이스 이름을 알고 있는 경우 다음 명령어를 터미널에서 직접 실행할 수 있는데 그 방법은

mysql -u root -p your_database_name < /path/to/yourfile.sql

 

이렇게 사용하면 된다. 이게 근데 자세히 무슨 뜻인지 모르는 경우가 있다. 그래서 예를 들자면,

mysql -u root -p my_database < /home/user/backup.sql

 

이 명령어는 MySQL 사용자 root를 사용하여 my_database에 /home/user/backup.sql 파일의 내용을 임포트 한다는 내용이다.

 

 

 

5. 데이터 임포트 확인

임포트가 완료되면 MySQL에 다시 접속하여 임포트된 데이터가 정상적으로 들어갔는지 확인할 수 있다. 

이 방법은 그냥 처음부터 다시 들어가서 제대로 입력되었는지 검색하는 방법이다

mysql -u root -p

 

데이터베이스로 이동한 후 테이블 목록을 확인한다.

USE your_database_name;
SHOW TABLES;

 

테이블의 데이터를 확인하려면:

SELECT * FROM your_table_name LIMIT 10;

 

짜란 !! 이렇게 하면 제대로 입력되었는지 확인할 수 있다.. 

 

엄청 내용은 길다.

하지만 이 부분들에서는 문제와 해결책이 자세히 쓰여져있기 때문에 나중에 큰 도움이 될 수 있을 것이다 !!!!

 

 

 

추가 팁

  • 임포트하는 파일이 크다면, mysql 명령어에 --max_allowed_packet 옵션을 추가하여 임포트할 수 있는 패킷 크기를 조정할 수 있다. 패킷 용량을 키우는 것이다.
  • 백업 파일이 압축되어 있을 경우, 압축을 풀고 임포트해야 한다. gzip으로 압축된 파일은 다음 명령어로 임포트할 수 있다.
gunzip < /path/to/yourfile.sql.gz | mysql -u root -p your_database_name

 

과정을 따라 하면 CentOS 7에서 MySQL 데이터베이스에 SQL 파일을 성공적으로 임포트할 있당..

 

끄읕!!!

 

'Mysql' 카테고리의 다른 글

Mysql_ Mybatis ResultMap ....  (1) 2024.09.11
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."