"PHP MySQL 이전"의 두 판 사이의 차이

11번째 줄: 11번째 줄:
<source lang='bash'>
<source lang='bash'>
cd /var/www/html
cd /var/www/html
mysql -u디비아이디 -p패스워드 -e'SHOW DATABASES;'
mysql -uroot -p패스워드 -e'SHOW DATABASES;'
mysqldump -uDB아이디 -pDB패스워드 DB명 > DB명.sql
mysqldump -uroot -p패스워드 DB명 > DB명.sql
ll -h DB명.sql
ll -h DB명.sql
tar jcvf ../html.bz2 .
tar jcvf ../html.bz2 .

2019년 9월 23일 (월) 01:30 판

PHP MySQL 이전
PHP MySQL 이행
PHP MySQL 마이그레이션(migration)
PHP MySQL 서버 이사하기

1 예전 서버

  • DOCUMENT_ROOT 폴더로 이동
  • DB 덤프를 DB명.sql 파일 생성
  • 파일들을 압축하여 html.bz2 파일 생성(상위폴더에)
cd /var/www/html
mysql -uroot -p패스워드 -e'SHOW DATABASES;'
mysqldump -uroot -p패스워드 DB명 > DB명.sql
ll -h DB명.sql
tar jcvf ../html.bz2 .
cd ..
ll -h html.bz2
[root@zetawiki ~]# cd /var/www/html
[root@zetawiki html]# mysql -uroot -pP@ssw0rd -e'SHOW DATABASES;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb1              |
| mysql              |
| performance_schema |
| test               |
+--------------------+
[root@zetawiki html]# mysqldump -uroot -pP@ssw0rd mydb1> mydb1.sql
[root@zetawiki html]# ll -h mydb1.sql
-rw-r--r-- 1 root root 130M Nov 28 01:28 mydb1.sql
[root@zetawiki html]# tar jcvf ../html.bz2 .
... (생략)
./w/extensions/Cite/Cite.i18n.php
./w/extensions/Cite/SpecialCite.i18n.php
./w/extensions/Cite/SpecialCite_body.php
... (생략)
[root@zetawiki html]# cd ..
[root@zetawiki www]# ll -h html.bz2
-rw-r--r-- 1 root root 138M Nov 28 01:37 html.bz2

2 파일 전송

  • html.bz2 파일을 새 서버의 DOCUMENT_ROOT의 상위폴더로 전송
  • 아래와 같이 scp를 이용하거나, ftp 클라이언트를 이용하면 된다.
scp html.bz2 아이디@호스트주소:/폴더/위치/
[root@zetawiki ~]# scp html.bz2 root@135.79.246.99:/var/www/
root@135.79.246.99's password: P@ssw0rd
html.bz2                                                            100%  138MB   8.1MB/s   00:17

3 새 서버

파일확인 및 압축해제
  • DOCUMENT_ROOT의 상위폴더로 이동하여 파일 및 폴더 확인
  • 압축 해제
cd /var/www
ll -h html.bz2
ll ./html/
tar jxvf html.bz2 -C ./html/
[root@newhost ~]# cd /var/www
[root@newhost www]# ll -h html.bz2
-rw-r--r-- 1 root root 138M Nov 28 02:00 html.bz2
[root@newhost www]# ll ./html/
total 0
→ html.bz2 파일이 잘 전송되었다.
→ 하위 html 폴더가 비어있다.
[root@newhost www]# tar jxvf html.bz2 -C ./html/
... (생략)
./w/extensions/Cite/Cite.i18n.php
./w/extensions/Cite/SpecialCite.i18n.php
./w/extensions/Cite/SpecialCite_body.php
... (생략)
DB생성 및 임포트
mysqladmin -uroot -p패스워드 create DB명
mysql -uroot -p패스워드 DB명 < DB명.sql
[root@newhost www]# mysqladmin -uroot -pP@ssw0rd create mydb1
[root@newhost www]# mysql -uroot -pP@ssw0rd mydb1 < mydb1.sql
→ 임포트 중 오류(ERROR 2006 (HY000): MySQL server has gone away 참고)

4 테스트

  • 웹브라우저에서 새 서버 URL로 접속해본다.

5 의견

  • 소스압축파일과 DB덤프파일을 왜 DOCUMENT_ROOT의 상위폴더에 저장해두는가?
외부에서 HTTP로 접근하지 못하도록 함

6 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}