목차
접기
[ mysql 서버 설치 ]
1. 설치
apt-get install mariadb-server
+ 설치 잘 됐는지 확인하기!netstat -anp | grep mysql
2. 외부에서도 들어올 수 있는 IP 주소(0.0.0.0)로 바꾸기!
cd /etc/mysql/ grep "127.0.0.1" -r ./ vi ./mariadb.conf.d/50-server.cnf
3. mariadb 실행하기
systemctl restart mariadb
4. mariadb 접속
mysql -u root mysql -u root -h localhost
5. 계정 생성하기use mysql; create user 'mydb'@'%' identified by 'abcd'; grand all privileges on *.* to mydb@[DB 서버 IP]; flush privileges;
mariadb에 접속했으면, 데이터베이스와 테이블을 생성하고 삽입, 수정, 삭제 과정을 실습해본다!
1. 데이터 베이스와 테이블 생성하기
create database testDB1; use testDB1;
create table test_1 ( name varchar(15), phone varchar(10) );
+ 이 때, 생성한 데이터베이스와 테이블을 보고 싶다면!show databases; desc [테이블명];
💡참고로 리눅스 db내에서 쿼리문은 대소문자를 구분하지 않는다고 한다!
2. 생성한 테이블에 column 삽입하기INSERT INTO [테이블명] (열1, 열2, ...) VALUES (값1, 값2, ...)
ex)insert into test_1 (name, phone) values ("홍길동", "1111-1111");
3. 테이블 확인하기!
여러 방법이 있지만 실습에서 다른 내용만 적어두겠다.
SELECT * FROM [테이블명]
SELECT * FROM [테이블명] WHERE [조건식]
3. 테이블 값 변경하기
UPDATE [테이블명] SET [COL = 값] WHERE [조건식]
4. 테이블 값 삭제하기
DELETE FROM [테이블명] WHERE [조건식]
5. 테이블, 데이터베이스 삭제하기
DROP [테이블명] DROP [데이터베이스명]
[ DB와 연동할 WAS 서버 설정하기 ]
1. mysql client 설치하기
apt-get install mariadb-client-core-10.3
2. 잘 접속되는지 확인하기
mysql -u mydb -h [DB 서버 IP 주소] -p
3. 톰캣 서버 연동 작업
-1) 커넥터 수동 설치wget https://dlm.mariadb.com/1965742/Connectors/java/connector-java-2.7.5/mariadb-java-client-2.7.5.jar cp mariadb-java-client-2.7.5.jar /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib/ cp mariadb-java-client-2.7.5.jar /usr/local/tomcat/lib/ wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.40.tar.gz tar xvf mysql-connector-java-5.1.40.tar.gz cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/tomcat/lib/
-2) 환경변수 세팅!
⚠️ 파일 경로 확인해보기
vi /etc/profile export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/ export CATALINA_HOME=/usr/local/tomcat PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/mariadb-java-client-2.7.5.jar:$CATALINA_HOME/lib/mariadb-java-client-2.7.5.jar
⚠️ 재시작 안 하고 세팅 저장하기
source /etc/profile
4. 홈페이지 소스 올리기
/usr/local/tomcat/webapps/ROOT/login.jsp
5. 브라우저에서 잘 작동하는지 확인!
💡Mission!
login.html을 통해서 로그인 ID/PWD를 입력받도록 하고,
로그인 성공 시 main.html 페이지를 열어서 보여주고, 실패 시 login.html로 돌아가기
단, login.html에는 이전에 입력했던 값이 남아있으면 안된다.
전송 method는 post 방식을 사용하고, post 방식으로 동작하는지는 access.log를 통해 확인 가능해야 함
login.jsp
⚠️ 만~약에 참고하실 새싹 동기들이 계시다면! 저는 DB_URL 설정에서 db 계정명이 myd라 mycl로 바꾸셔야 합니다!
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String uid = request.getParameter("name");
String pwd = request.getParameter("pwd");
String DB_URL = "jdbc:mysql://10.10.10.6:3306/myd";
String DB_USER = "mydb";
String DB_PASSWORD = "abcd";
String sel = "";
ResultSet rs = null;
Connection conn;
Statement stmt;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = conn.createStatement();
//사용자정보조회
sel = "select * from userInfo where uname='" + uid + "' and pass='" + pwd + "'";
rs = stmt.executeQuery(sel);
if (rs.next()) {
out.println("Success");
}
else {
out.println("fail");
//history.back(-1);
response.sendRedirect("http://10.10.10.2/login.html");
}
conn.close();
} catch(Exception e) {
out.println(e.getMessage());
}
%>
login.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
로그인 창!
</head>
<body>
<form action = "login.jsp" method = "POST">
User ID : <input type="text" name="name" />
<br />
Password : <input type="password" name="pwd" />
<input type="submit" value="로그인" />
</form>
</body>
</html>
=> main.html은 귀찮아서 따로 만들지는 않았다! 그래도 만든 것처럼 작동함 :-)
access.log에서 nginx상에서 잘 작동하는 걸 확인할 수 있다 :) 야호!!!
오늘의 후기!
: 역시 SQL문 만지고 HTML 쓰니까 그나마 적응이 쉽다! ㅋㅋ....
그래도 여전히 네트워크 개념에 많이 무지하고, 리눅스 또한 버벅거리는 부분이 많다
그나마 스스로 칭찬해줄 부분은! 매일매일 만지다 보니 자주 쓰는 명령어 몇 개는 이제 금방 쓴다는 것
역시 IT 분야는 꾸준히 공부하는 게 제일 잘하는 개발자가 되는 기초인 것 같다.
블로그 정리에서 그치지말고 복습 또 복습하면서 내 걸로 만들자! 파이팅~~~...ㅎ
'SeSAC > 네트워크 & 리눅스' 카테고리의 다른 글
[SeSAC 성동캠퍼스 1기] 네트워크&리눅스 6일차 (1) | 2023.11.14 |
---|---|
[SeSAC 성동캠퍼스 1기] 네트워크&리눅스 4일차 (2) | 2023.11.08 |
[SeSAC 성동캠퍼스 1기] 네트워크&리눅스 3일차 (2) | 2023.11.07 |
[SeSAC 성동캠퍼스 1기] 네트워크&리눅스 2일차 (0) | 2023.11.07 |
[SeSAC 성동캠퍼스 1기] 네트워크&리눅스 1일차 (0) | 2023.11.06 |