일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- packet-tracer
- java
- comand
- interface
- 언어
- centos7
- server
- eclipse
- cisco
- gcloud.gabia
- 홈가든
- CLI
- 무농약
- servlet
- nppFTP
- centos
- configration
- board
- 한글
- tomcat
- 게시판
- 설치
- 설정
- 패킷트레이서
- JSP
- war
- 이클립스
- vmware
- 서버
- 시스코
- Today
- Total
넓고얕은지식사전
VMware로 CentOS7에 DB(MySQL) 구축하기 본문
서버 구축 개요
서버를 만들어 보자
모름지기 서버란 결국 컴퓨터다
서버를 구축하려면 컴퓨터가 필요한데 구매를 하기엔 비용적으로나 공간적으로나 낭비가 크다
따라서 많은 개발자들이 가상머신을 통해서 구축을 하는데 이 경우 내PC의 일정 부분을 할애해서 쓰기때문에 여러모로 편리하다.
1. 가상머신 설치
가상 머신하면 Vmware, Virtualbox 가 대표적이다 모바일 환경은 녹스, 모모 등이 있다.
Vmware는 무료버전(무료 버전(workstation player) 유료(workstation유료( Pro)가 있다
Virtualbox는 네트워크 구성에서 설정해야 하는게 있는데 이게 난 귀찮다.
그래서 주로 Vmware workstation player를 사용한다.
다운로드 경로 : https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html
순서 : Try Workstation 16.0 Player for Windows DOWNLOAD NOW > exe파일 실행 > 기본설정으로 설치
2. Vmware 실행
2-1. 아래이미지와 같이 나왔다면 이제 Create a New Virtual Machine 버튼을 눌러서 가상머신을 만들어주자
2-2. I will install the operating system later....
2-3.
2-3. Disk size는 20GB면 충분하다충분하다.바로 20GB를 잡아먹는게 아니니 겁먹지 말자
2-4. 잘만들어 졌다 .
현재 이건 빈 깡통이다. OS파일을 가지고 설치를 해야 구동이 된다. 별도로 ISO 파일을 받아야 한다.
3. CentOS 다운받기
버전에 대한 이해
7.0, 7.1, 7.7, 8.0 뭐 여러 버전이 있다.
대충 설명하면 기존 버전 보다 새로운 시도가 필요할때 앞자리가 바뀐다. 7.X > 8.0!
새로운 버전을 출시했다고 완전하지는 않다. 그래서 계속 버그도 잡고 개선을 하게된다하게 된다. 8.1 > 8.2 > 8.3
자 그러면 버전이 최신것이라고 무조건 좋을까??? 정답은 X
구 버전일수록 그 세월동안 많은 사람들이 분석을 해왔다.
따라서 내가 무슨 문제에 직면했을때 찾아볼 자료들이 많다. 새로운 버전은 내가 직접 원인을 찾아가면서 해결해 가야한다.
즉 학습자라면 모름지기 구버전을 택한다.
난 회사 서버에서 사용하고 있기때문에 centos-7-x86_64-dvd-1908 버전을 쓴다.
적당히 7 버전대에서 선택하는것이 무난하다.
다운로드 경로 : http://gofile.me/6SaID/poWEO3ULf
4. CentOS 설치하기
4-1. Vmware로Vmware로 돌아가기파일 열기
4-2. Network Adapter 클릭 > Bridged : Connected directly to the physical network 클릭
이건 중요한부분으로 조금만 설명하면...
NAT는 내 PC의 네트워크를 그대로 받아서 사용한다고 이해하면 된다.
어뎁터에 브리지는 내 PC가 연결된 공유기에 랜선을가지고 가상머신에 꽂았다고 이해하면 된다.
4-3. 가상머신 실행
4-4. Install CentOS 7
4-5. 한국어 > 계속진행
4-6. 설치대상 클릭
4-7. 완료 클릭
4-8. 네트워크 및 호스트명 클릭
4-9. 켬으로 변경
이때의 연결정보를 꼭 남겨놓자(IP주소, 서브넷 마스크, 디폴트 라우트, DNS 등)
> 완료 클릭
4-10. 설치시작 클릭
4-11. ROOT 암호 클릭 > 암호설정 (잊어버리면 클남)
사용자 생성은 필수는 아님!
4-12. root 계정 로그인
root계정이란 모든 권한을 가진 최상위 계정이다.
5. 외부 네트워크 연결 확인
ping 8.8.8.8
ping 명령어는 원하는 경로의 ip주소로 신호를 보낸다. 정상적으로 연결이 됬다면 응답을 보내온다. 8.8.8.8은 구글의 dns서버 주소이다. 즉 구글과 통신이 된다는것은 인터넷 연결이 잘 되었다는것을 의미한다.
6. 고정ip 설정하기
모든 PC는 기본적으로 IP 통신을 한다. 문제는 CentOS는 기본적으로 DHCP(동적 호스트 구성 프로토콜)프로토콜) 프로토콜)로 IP주소를내려주는데 쉽게 말해서 그때그때 남는 IP를 준다는 것이다. 언제든 주소가 바뀔수 있다는것있다는 것. 하나의하나의 IP를 할당해 줘야 계속 서버에 접속할수가 있다.
6-1. Putty 사용하기
이제부터 명령어를 많이 쳐야하는데 VMware는 복붙이 번거롭다.
Putty는 원격 접속프로그램이다. 다운로드 해서 설치하자.
다운로드 경로 : https://putty.softonic.kr/
앞전에 기록해둔 내 IP를 참고하자 > Alert 뜨면 "예 " 클릭 > root 계정으로 로그인
6-2. 내 IP 확인하기
ifconfig
결과 : comand not found
이유 : CentOS최소설치시 이 명령어가 내장되어있지 않기 때문 따라서 별도의(net-tools) 설치가 필요하다.
yum install net-tools
용량 써도 되니되니? (어 그럼그럼)
Y + 엔터
Y + 엔터
설치가 됬으니 다시 ifconfig
ifconfig
Inet 192.168.123.192 부분이 이 서버의 IP주소이다.
6-3. 다시 고정ip 설정하기에 앞서 nano 에디터를 설치
nano에디터는 서버내에서 파일을 작성하거나 편집할수 있게 해주는 프로그램이다.
Vi에디터가 기본 내장되어있지만 초심자(=like me)는 익숙하지 않은 조작법에 매우 당황하게 된다.
yum install nano -y
명령어 뒤에 -y는 모두 yes한다는 뜻 아까 위에서의 Y + 엔터 과정을 생략할수 있다.
네트워크를 설정하기 위한 경로로 이동
(cd = change directory)
cd /etc/sysconfig/network-scripts
ls 명령어로 해당 경로에 있는 파일들을 확인해보자
ls
이중에 ifcfg-ens33이 내가 찾는 설정파일이다.
이 파일이름은 OS 버전마다 상이하므로 꼭 미리 확인해야 한다.
이제 nano에디터로 파일을 수정한다.
IPADDR="192.168.123.90"
GATEWAY="192.168.123.1"
위 두 주소는 똑같이 타이핑 하면 안된다.
본인의 네트워크 상황에 따라 다르므로 확인이 필요하다.
nano ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b16aa789-f661-4e15-9264-a9391427603d"
DEVICE="ens33"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.123.90"
GATEWAY="192.168.123.1"
DNS1="168.126.63.1"
다 작성했으면 Ctrl + X
저장할 거니?
Y + 엔터
수정된 파일을 반영해야 한다.
네트워크 재실행
systemctl restart network
제대로 됬으면 putty가 먹통일것이다.
왜냐면 변경하기 이전의 IP주소로 통신을 하고있었는데 IP주소가 바뀌었기 때문.
변경된 IP주소로 다시 putty 연결하자
ifconfig로 변경된정보를 확인해본다.
ifconfig
7. MySQL 설치
7-1. 필요 프로그램 설치
다운로드에 앞서 yum 버전 업그레이드가 필요하다.(오래걸린다.)
yum update
wget도 설치해야한다설치해야 한다. 웹서버로부터 콘텐츠를 가져오는 프로그램)
yum install wget
MySQL Repository를 다운로드 및 적용 한다.
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum 업데이트(재)
yum update
7-2. MySQL 서버 설치
MySQL 서버 설치
yum install mysql-server
mysqld 시작
systemctl start mysqld
리부팅 후 자동 실행 설정
systemctl enable mysqld
MySQL 정상 실행여부 확인
systemctl status mysqld
7-3. MySQL 기본 보안 설정
mysql_secure_installation
root 계정 비번. 처음 설치시 계정 비번은 없음 그냥 엔터.
Enter current password for root (enter for none):
mysql의 root 계정 비번 설정(2회 입력)
Set root password? [Y/n] y
New password: Re-enter new password:
anonymous 계정을 제거. (인증된 계정만 접속되어야 함.)
Remove anonymous users? [Y/n] y
원격 root 계정 로그인을 차단할 것인지.(허용해야함-DBA선택)
Disallow root login remotely? [Y/n] n
테스트 데이터베이스를 지우고 접속불가 설정할것인지.
Remove test database and access to it? [Y/n] y
설정한 걸 적용할 것인지것인지.적용 합니다.
Reload privilege tables now? [Y/n] y
7-4. MySQL 원격 접근 설정(mysql server 자체에서 설정)
nano /etc/my.cnf
[mysqld]
#
# bind-address = 127.0.0.1
# skip-networking
--위 내용 추가--
MySQL 재시작
systemctl restart mysqld
MySQL 접속
mysql -u root -p
MySQL 버전확인
SHOW VARIABLES LIKE "%version%";
IP 허용하기(필요에)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.123.52' IDENTIFIED BY 'Secret' WITH GRANT OPTION;
## 'Secret' : 접속 시에 사용할 비밀번호
IP허용 삭제하기 (참고용, 필요시에 사용)
DELETE FROM mysql.user WHERE Host='192.168.123.10' AND User='root';
DELETE FROM mysql.user WHERE Host='%' AND User='root';
설정 적용하기
FLUSH PRIVILEGES;
IP 허용내용 확인
SELECT User, Host, authentication_string FROM mysql.user;
포트 열기 전에 MySQL에서 나와야 한다. ctrl + C
포트 열기
firewall-cmd --zone=public --add-port=3306/tcp --permanent
포트 닫기(=참고용, 필요시에 사용)
firewall-cmd --permanent --zone=public --remove-port=3306/tcp
포트 범위 (=범위로 설정할 때 참고)
firewall-cmd --permanent --zone=public --add-port=3306-3308/tcp
방화벽 재실행
systemctl restart firewalld
또는
firewall-cmd --reload
열린 포트확인하기
firewall-cmd --zone=public --list-all
원격 연결 테스트
연결해본다. (난 HeidiSQL로 연결해 보았다.)
잘된다!
참!!
MySQL 맘 잡고 써보려고 하다 보면 한글 데이터가 깨져서 (???)로 표기되는 문제에 맞닥뜨린다.
당황하기 전에 미리 알려드리겠다!
MySQL 접속하기
mysql -u root -p
## 로그인 하자!
언어 세팅확인 하기
show variables like 'C%';
##확인했으면 나온다(ctrl + c)
아래 내용추가
nano /etc/my.cnf
[client]
default-character-set = utf8
[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
서비스 재시작
service mysql restart
'IT > 서버' 카테고리의 다른 글
windows server에 msSQL 구축하기 (0) | 2023.03.03 |
---|---|
windows server 평가판 만료일 연장 (0) | 2023.03.03 |
windows server 2016 한글 언어설정 (0) | 2023.03.03 |
가비아클라우드(gabia.cloud)로 CentOS7에 톰캣(tomcat) 서버 구축하기 (0) | 2021.11.10 |
VMware로 CentOS7에 톰캣(tomcat) 서버 구축하기 (6) | 2021.05.17 |