먼저 데이터 베이스 다른 서버에서 다른 서버로 이전하는 방법입니다.
사전에 철저한 백업후 진행 하시기 바랍니다.
사전 정보 - 밑의 정보는 가상의 정보입니다.
기존 서버 데이터베이스명 : croft
기존 서버 유저 : croftuser
기존 서버 비밀번호 : croftpassword
신규 서버 데이터베이스명 : croft
신규 서버 유저 : croftuser
신규 서버 비밀번호 : croftpassword
먼저 신규 서버에 이전 할 데이터베이스, 유저, 유저 비밀번호를 설정해 줍니다.
[root@localhost bin]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.38-log Source distribution
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
데이터베이스 추가
mysql> create database croft default character set euckr;
→ euckr 부분에 utf8 로도 설정 가능. 기존에 캐릭터셋이 euckr이라서 euckr로 설정함
테이블 변경
mysql> use mysql;
Database changed
사용자 추가
mysql> create user croftuser@localhost identified by 'croftpassword';
Query OK, 0 rows affected (0.00 sec)
사용자 권한 부여
mysql> grant all privileges on croft.* to croftuser@localhost identified by 'croftpassword';
Query OK, 0 rows affected (0.00 sec)
새로운 설정 적용
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
이전 서버에서 데이터 백업
[root@localhost ~]# mysqldump -u root -p croft > test_backup.sql
백업 받은 파일을 신규서버에 적당한 위치에 업로드
업로드한 파일이 있는 위치에서
[root@localhost ~]# mysql -u root -p croft < test_backup.sql 실행
비밀번호 물어보면 비밀번호 입력
복구할때 오류 날 경우
오류 : ERROR 2006 (HY000) at line 868: MySQL server has gone away
[root@localhost ~]# vi /etc/my.cnf
max_allowed_packet = 128M --> 적당한 값으로 변경
이렇게 하면 db이전 완료
'프로그래밍 > 실무일상' 카테고리의 다른 글
병렬로 데이터 받을 때 디도스 공격으로 간주 아이피 차단할 경우 (0) | 2021.05.24 |
---|---|
MYSQL ROOT 비밀번호 잃어버렸을때 (0) | 2021.05.21 |