티스토리 뷰
* 개요
1대 컴퓨터에 우분투, 윈도우즈 멀티부팅 환경 하에서 개발 중.
윈도우즈에 개발용 DB (MariaDB) 있음.
우분투에서도 이걸 쓰고 싶은데 윈도우즈+우분투 동시 부팅할 수 없고, OS 다른데 이걸 공유할 순 없을까.
* 착안점
- 우분투 MariaDB 는 당연히 윈도우용 MariaDB 데이터 파일 못 읽을거라고 생각하고(설마 되나?)
- 우분투에서 VMWare 띄우고, 가상머신에 윈도우즈+MariaDB 설치하고,
- 가상머신 MariaDB 에서 대상 데이터베이스(호스트PC Windows 환경 MariaDB)를 연결
- 호스트 PC 우분투에서는 가상머신 Windows MariaDB에 클라이언트로 접속하여 DB 사용
- 주의 : 윈도우즈에서 사용하는 디스크를 우분투-가상머신-윈도우즈에서 직접 연결하는 방법으로, 데이터에 문제가 생길 수 있음.
따라서 공유하고자 하는 데이터파일만 별도의 파티션에 놓고
주기적으로 백업하며
파괴되어도 문제 없는 데이터만 사용할것.
- 일반 디스크에 적용했다가 실제로 데이터가 파괴된 경험 있음.
* 환경
Ubuntu 14.04
Windows 10
MariaDB 10.2
* 0. 우분투 Mysqlworkbench, VMWare 설치
- MariaDB 는 HeidiSQL 많이 쓰지만...
- 우분투에 깔려면 wine 따로 깔아야 한데서 일단 워크벤치 사용...
* 1. VMWare 구동 (관리자모드)
sudo /usr/bin/vmware
- 관리자 모드 안하면 데이터 저장된 하드디스크 추가를 할 수 없어..
* 2. VMWare 에 Windows 7 가상머신 설치
- MariaDB 설치
- 당연히 원 DB 의 MariaDB 버전과 같아야 함.
* 3. 가상머신에 사용대상인 MariaDB가 있는 하드디스크 연결
우클릭 -> Setting -> Add(버튼) -> Hard Disk 선택 + Next 버튼 -> SCSI
-> Use a physical disk -> Device 에서 해당 디스크 선택 -> Use individual partition -> 연결 원하는 파티션 선택
완료하면 가상머신 Win7 에 해당 디스크가 생성된다.
* 4. 가상머신 MariaDB 를 위에서 잡은 하드디스크의 데이터파일과 연결
- 혹시나 모르니 연결 전 data 파일 꼭 따로 백업해놓을것.
- HeidiSQL로 연결 잘 되는지 확인확인
* 5. 가상머신 네트워크 아답터에 포트 포워딩
상단메뉴 -> Edit -> Virftual Network Editor -> NAT 선택 -> NAT Setting -> (Port forwarding) Add -> 3306 포트 포워딩
- 가상머신이 NAT 사용하여 인터넷 연결한다고 가정
* 6. 가상머신 내에서 ipconfig 로 IPv4 주소 확인
* 7. 가상머신 윈도우즈의 방화벽 해제
- 또는 사용할 포트만 열어주기
* 8. 호스트 PC Mysql workbench 에서 위의 주소로 연결
- "Cannot connect do Database Server " 메시지가 나온다면
Can't connect to MySQL server on '192.168.123.129' (113) 일때
IP 주소 틀렸을 가능성..
- ... Host '192.168.123.1' is not allowed to connect to this MariaDB server
연결은 제대로 되었으나 외부 IP 접속을 거부한 것.. 다음 동작을 수행.
* 9. MariaDB 에 외부 접속 가능 IP 등록
- (가상머신 IP 가 아니라) 호스트 PC의 IP 의 외부 접속이 가능하도록 설정해줌
SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.123.%'
IDENTIFIED BY '[패스워드]' WITH GRANT OPTION;
FLUSH PRIVILEGES;
* 참고 : 브라우져에 해당 주소를 쳤을때
사이트에 연결할 수 없음
ERR_ADDRESS_UNREACHABLE
=> 애초에 IP 연결이 안됨..
IP 틀리거나, 네트워크 아답터 문제
- 페이지가 작동하지 않습니다.
192.168.123.128에서 잘못된 응답을 전송했습니다.
ERR_INVALID_HTTP_RESPONSE
=> 연결은 된것 (브라우져에선 안 되지만 MySQL 에선 가능
- 오랜 시간 응답하지 않을때
=> 방화벽 문제일 가능성..
- 사이트에 연결할 수 없음
192.168.123.128에서 연결을 거부했습니다.
다음을 시도:
연결 확인
프록시 및 방화벽 확인
ERR_CONNECTION_REFUSED
=> 연결 시도한 포트가 Port forwarding 되지 않은 경우
* 참고 : Physical disk 연결시 경고메시지
- 날릴 수 있다는 듯.. 꼭 백업
* 참고 : 우분투에서 윈도우즈용 디스크(파티션) 읽지 못하는 경우
마운트 하려고 할때 .unsafe 어쩌구 하면서 메시지 나오는 경우
....The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully ...
윈도우즈 제어판 -> 전원 -> 빠른 시작 켜기(권장) 을 체크 해제...
180513 추가
* VM의 IP 고정하기
- VM 의 네트워크 방식은 Host-only, bridge, NAT 3가지임
- 위에서는 NAT 로 설정하는데 이 방식은 매번 IP 주소가 바뀜
개발시 설정 매번 바꿔야 해서 번거로움
=> 해결 : 1. Bridge 방식으로 바꾸고
2. VM 내에서 TCP/IPv4 어댑터 설정에서 자동 -> 수동으로 바꾸고
자신의 설정에 맞게 IP 를 지정해줌.
- 참고 : Bridge 하면 공유기에서 VM 도 인식하지 않을까 싶었는데.. 인식하지 못함.
홈네트워크 참여는 되는데, 공유기에서 잡진 못하므로 공유기의 IP 고정기능 사용 못함.
* 180704 추가 : VMWare에서 인터넷 연결이 갑자기 안되는 현상
iptime 공유기 이용시에는 정상동작 했지만
KT 에서 준 와이파이 기기에서는 인터넷 연결 안됨
=> 윈도우즈(VmWare) 의 네트워크 설정이 iptime 이용한 고정IP 로 되어있으니 네트워크 바뀌면 안 되는건 당연.
'SW개발 > Database' 카테고리의 다른 글
ubuntu 14.04 / mariaDB 설치 (실패) (1) | 2018.05.01 |
---|---|
ubuntu 14.04 / MySQL 설치 (0) | 2018.05.01 |
[요약] MySQL 대용량 Restore(Import) (0) | 2018.04.28 |
MySQL 8 VS MariaDB 10.2 / 3천만 대량 Row Restore 작업후기 (0) | 2018.04.26 |
폴더내 SQL 파일 CREATE/DROP 부분 모두 제외하기 (자바) (0) | 2018.04.25 |