반응형

글을 시작하기에 앞서

댓글을 달아주신 분들의 의견중

root 계정에 모든 권한 허용시

DB 가 외부에 노출이 되면 위험하다는 의견이 있었습니다.

만약 해당 사항이 있으시다면 이점 참고하여 주시기 바랍니다.


 

MYSQL 에서 DB를 생성하고 유저에게 권한을 주려고 할 때

 

root 로 접속했음에도

 

ERROR 1410 (42000): You are not allowed to create a user with GRANT

 

라는 에러를 내뿜으며 유저에게 권한주기 권한이 없다는 에러가 발생한 적이 있었습니다.

 

약간의 구글링을 통하여 해결방안을 찾아냈습니다.

 

우선

 

CREATE DATABASE testDB;

 

쿼리로 데이터베이스를 생성해 준 후

 

CREATE USER testUser@localhost identified by 'password';

 

쿼리로 유저를 생성 해 주었습니다.

그리고

 

GRANT ALL PRIVILEGES ON testDB.* TO 'testUser'@'localhost' WITH  GRANT OPTION;

 

쿼리를 날려서 권한을 주려고 했는데

위와같은 에러가 발생을 하였습니다.

 

해결방안은

 

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

 

위의 두 쿼리로 루트 계정을 생성하고 

생성된 계정에 먼저 권한을 부여 한 후

 

권한을 주는 쿼리를

 

GRANT ALL PRIVILEGES ON testDB.* TO 'testUser'@'%' WITH GRANT OPTION;

 

로 수정하여 권한을 부여하니 잘 동작하였습니다.

 

 


 

+ 추가

 

댓글을 달아주신 분들에 의하면

 

CREATE USER 'root'@'%' IDENTIFIED BY 'root';


root권한을 가진 유저를 만드는 거라 외부로 노출된 db이면 상당히 위험합니다.

프로젝트나 내부에서만 쓰이는 거면 괜찮을 수도 있지만 그 외에는 안됩니다.

정말 필요한 작업만하시고 외부 권환하고 삭제하셔야 합니다.

 

 

라고 알려주셨습니다.

 

꼭 필요한 경우만 사용하시고 삭제하시거나 

혹시나 더 좋은 해결 방안이 있으신 분들은

댓글로 알려주시면 감사하겠습니다.

 

반응형
반응형

MYSql 을 이용하여 작업을 하던 중


Developer tool 로 mysql 접속을 하려 하니


client does not support authentication protocol requested by server consider upgrading mysql client


같은 에러를 내뿜으며 연결이 안 될 때가 있었습니다.


일반 콘솔창 기반으로는 연결이 잘 되는데


툴만 연결이 안되어서


검색을 해보니


설치과정중에 약간의 수정사항이 필요할 것 같아 이렇게 포스팅을 하게 되었습니다.

혹시 저와 같은 에러로 어려움을 겪으셨던 적이 있다면 도움이 되시길 바랍니다.


https://www.inflearn.com/dwquestion/nodejs%EC%99%80-mysql-%EC%97%B0%EB%8F%99-%EC%97%90%EB%9F%AC/


해당 게시글을 참조하였습니다.


방법은 

1. MYSQL installer 를 실행시킵니다.



2. MySQL Server 오른쪽의 Reconfigure 를 눌러 속성을 변경해 줘야합니다.





3. 앞의 두개는 Next > 를 눌러 넘어간 후

Authentication Method 에서


Use Legacy Authentication Method 에 체크를 해줍니다.





4. Next 를 눌러서 넘어가면 비밀번호 인증을 한번 해야합니다.





5. 비밀번호를 입력하고 check를 눌러 확인을 해준 후

Next > 로 넘어가서 Execute 로 다시 설치를 해주면






다른 Developer tool 들에 잘 연결이 되시는걸 확인하실 수 있으실 겁니다.


반응형
반응형

mysql 작업을 하던 중 한참을 헤메다 답을 찾은 문제가 있어서,

혹시나 저와 같은 문제로 시간낭비 하시는 분이 있을까봐

간단한 내용을 하나 포스팅 하려 합니다.


mysql 에서 여러개의 행을 동시에 수정하고 싶을 때 구글링을 해보면


ALTER TABLE table_name MODIFY (

column1     datatype    NOT NULL,

column2     datatype    NULL, 

column3     datatype    NOT NULL,

.....

);


이런식으로 혹은 MODIFY 뒤에 COLUMN 을 붙여 수정하라는 방법이 많았는데요

이상하게 저는 저런 방식으로 하면 오류가 나더군요

저는 MYSQL 8 버전을 사용하고 있는데

버전에 따른 차이때문인지 저 방식은 

mysql syntax error 를 내뿜으며

쿼리가 수행되질 않았습니다.


그렇게 한참 구글링을 하던 중 답을 알아냈습니다.


제가 수정한 쿼리는


ALTER TABLE table_name 

MODIFY COLUMN     column1     datatype    NOT NULL,

MODIFY COLUMN     column2     datatype    NULL,

MODIFY COLUMN     column3     datatype    NOT NULL,

.....

MODIFY COLUMN     column_last     datatype    NOT NULL;



이렇게 하니까 한 쿼리문 안에 모든 행들이 수정되었습니다.


혹시나 저와 같은 문제로 고민하신 분들이 계셨다면,

조금이나마 도움이 되셨길 바랍니다.

반응형
반응형
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
32
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<script>
function buttonFunction() {
    if(document.getElementById("text").value != document.getElementById("hidden1").value) {
        alert("아이디가 틀렸습니다.");
    } 
    if(document.getElementById("password").value != document.getElementById("hidden2").value) {
        alert("비밀번호가 틀렸습니다.");
    }
    if((document.getElementById("text").value == document.getElementById("hidden1").value) && (document.getElementById("password").value == document.getElementById("hidden2").value)) {
        alert("로그인 되었습니다.");
    }
}
 
</script>
<body>
    아이디        <input type="text" id="text"/><br/>
    비밀번호        <input type="password" id="password"/><br/>
    <input type="button" value="로그인" id="button" onclick="buttonFunction()"/>
    
    <input type = "hidden" id="hidden1" value="dkdlel"/>
    <input type = "hidden" id="hidden2" value="qlalfqjsgh"/>
        
</body>
</html>
cs


이런 jsp 페이지를 만들어 봅시다.

 제목에서 알 수 있듯이


아이디, 비밀번호를 입력하고

버튼을 누르면

hidden 값에 저장된 값과

텍스트 와 패스워드 필드에 입력된 값을 비교 후

alert 문을 이용하여 아이디 비밀번호 매치 여부를 알려주는

그런 간단하고 가장 기본이 되는 코드 입니다.


참고로 alert 문은 확인창? 안내창? 경고창? 같은 그런 창입니다.

아마 직접 저 코드를 작성하신 뒤 실행시켜 보시면 알 수 있으실 겁니다.


코드를 간단히 설명드리자면

버튼 태그에 onclick="buttonFunction()" 이라는 코드를 추가하여

버튼을 클릭할 시 어떤 이벤트(함수) 을 발생시킬 지 정의를 해 줍니다.


그리고 그 함수는 </head> 태그 바로 아래의

<script></script> 사이에 정의해두었습니다.


document.getElementById 라는 메소드를 이용하여

각 태그들에 미리 id="" 이라는 고유의 아이디 값을 부여하여

그 아이디값의 value 에 들어있는 값을 가져 온 뒤

hidden 태그 값에 미리 value 를 정의해둔 값과 비교하여

맞으면 맞다고 틀리면 틀리다고 안내메시지를 띄워주는 코드입니다.


이런식으로 코드들이 서로 상호작용하여 동작하면서

기능들을 만들어 나가는 것입니다.


만약 정말 개발쪽 공부를 하시고싶은 분들이라면

가장 기본적이면서도 가장 많이 쓰이게 될 형식이니

코드를 복붙 하지 마시고 직접 한번 타이핑 해보시면서

실습해보시는걸 추천드립니다.


저 페이지를 실행시켜보면



이런 로그인 폼이 생성되고


만약 아이디가 hidden1 값과 다르다면



이런 메시지가,

비밀번호가 hidden2 와 다르다면



이런 메시지가,


아이디와 비밀번호 모두 일치한다면



이런 메시지가 뜨게되는 간단한 코드입니다.


한번만 코드를 읽어보신다면 이해하시는데 어렵진 않으실겁니다.

반응형
반응형

일을 하면서 배웠던 이클립스 단축키들을 여기에 

간단한 설명과 함께 하나씩 정리해 보려고 합니다.


이 게시글은 아마 수시로 업데이트가 될 것 같습니다.


Ctrl + Shift + L = 모든 단축키 보기


Ctrl + alt + R = 파일 찾기 (파일 명을 그대로 입력해야 정확하게 나옴)


Ctrl + H = 파일 내용으로 찾기 (File Search 탭으로 이동 후 찾아야 함)


Ctrl + D = 커서가 있는 한 줄 삭제


Alt + ↑ or ↓ = 커서가 있는 해당 줄 위 아래로 순서 바꾸기


Ctrl 누른 상태로 메소드 클릭 or 해당 메소드 이름 위에 커서 놓고 F3 = 해당 메소드가 정의되어있는 곳으로 이동


Ctrl + Space bar = 자동완성


Ctrl + Shift + O =  필요한 클래스 자동 import


Ctrl + Shift + / = 주석달기


Ctrl + Shift + F = 자동정렬


Alt + Shift + A = 구간 복사 (네모낳게 영역을 선택하여 복사할 수 있음)

반응형
반응형

홈페이지는 대부분 마우스의 클릭과 키보드의 타이핑으로 동작을 합니다.


클릭을 하기 위해선 버튼이 있어야 하고


타이핑을 하기 위해선 텍스트 필드가 있어야 합니다.


그래서 이번시간에는

JSP 의 가장 기초 중 하나인

input type 들과

가장 많이 쓰이는 태그 중 하나인 a 태그에 대해서 알아보겠습니다.





위의 사진은 https://www.w3schools.com/tags/att_input_type.asp

사이트에서 퍼온 현재 제공되는 input type 들입니다.


개발을 하다 보면 구글링을 통해 영어로 된 문서를 읽어야 할 때가 정말 많습니다.

지금부터라도 영어공부와 병행하시는걸 진심으로 추천해드립니다.


저기 제공되는 태그들 중

5자로 슈퍼맨같은 마크가 박혀있는 타입들은

html5 버전에서 새롭게 제공되는 태그들입니다.

사실 많이 쓰이지도 않고 표준에 맞게 개발을 하다보면 쓰고싶어도 쓰지 못할때가 종종 있으니

저 마크가 없는 중요하고 자주 쓰이는 타입들 위주로 살펴보겠습니다.






<body></body> 사이에 저렇게 코드를 써준 뒤 저번처럼 실행시켜주게되면






위와같은 화면이 출력되게 됩니다.


하나씩 설명을 해드리자면


1. text : 말 그대로 텍스트를 입력할 수 있는 타입입니다. 여기에 입력된 텍스트들을 value 에 담아서 사용할 수 있습니다.


2. button : 눌렀을 때 어떠한 이벤트들을 발생시킬 수 있는 가장 기본적인 태그입니다.


3. checkbox : 여러개의 선택지 중 여러개를 선택할 수 있도록 하는 체크박스 입니다.


4. file : 첨부파일을 생각하시면 됩니다. 파일선택 버튼을 클릭 시 내 컴퓨터의 파일 하나를 첨부할 수 있습니다.


5. hidden : 숨겨진 태그입니다. 어떠한 값을 숨겨놓고 사용하고 싶을 때 사용하시면 됩니다.


6. password : 비밀번호 입니다. 보시는것과 같이 타이핑을 해도 검은 동그라미로만 표시가 됩니다.


7. radio : 여러개의 선택지들 중 하나만 선택할 수 있는 라디오박스입니다.


8. submit : 확인, 혹은 제출의 의미로 생각하시면 되겠습니다. 버튼을 눌렀을 때와 거의 동일하게 사용되지만, 해당 태그가 쌓여져 있는 폼의 속성에 의해 움직이게 됩니다.


9. reset : 초기화 버튼입니다. 예를들면 텍스트 타입에 글을 입력하다가 reset 버튼을 누르게 되면

작성하던 텍스트를 모두 지우고 초기화 시킬 수 있습니다.


이러한 타입들이 자바스크립트, 혹은 제이쿼리와 같은 언어들에 의해 기능이 추가되고 이벤트가 발생하게 되면 동작들을 하게 됩니다.


다음은 input type 은 아니지만 가장 기본적이고 가장 많이 쓰이는

a 태그 입니다.



이런식으로 <a  href="" ></a> 와 같은 형식으로 사용을 해주게 되고

위의 코드를 실행시켜보면



위와 같은 파란글씨로 밑줄이 쳐진 태그가 생성이 되게 됩니다.

저 글씨를 클릭하면 href 위에 적혀진 주소로 이동을 할 수 있게 됩니다.


가장 간단하면서도 기본적인 태그들에 대해 알아봤으니

다음시간에는 간략하게 태그들이 어떻게 동작하는지 알아보겠습니다.

반응형
반응형

이클립스의 기본 폰트는 10pt 로 설정되있습니다.

이 사이즈는 체감상 너무 작기 때문에 

거의 대부분 분들이 폰트를 키워놓고 작업을 하십니다.


그래서 이번시간에는

이클립스의 폰트사이즈를 키우고

또 필요하신분들은 필요에 따라

글씨체도 변경하는 방법을 알려드리도록 하겠습니다.


1. 이클립스를 실행시키고 상단 메뉴의

Window > Preferences 를 실행시킵니다.

거의 모든 환경설정 작업이 이곳에서 이루어 집니다.





2. General > Appearance > Colors and Fonts 를 클릭하고

Basic 왼쪽의 화살표를 눌러 활성화시킨 후





3. Text Font 를 클릭한 상태로 오른쪽의 Edit 버튼을 클릭합니다.





4. 이곳에서 원하는 글꼴과 글꼴 스타일, 크기를 선택하고

확인을 눌러 빠져나온 후





5. Apply 를 눌러 주시고 Apply and Close 를 눌러주시면

글꼴 설정이 완료됩니다.



사실 이 글을 포스팅 하는 또 다른 이유는

개발자들이 많이 사용하고 가독성이 좋다는

"나눔고딕코딩" 이라는 글꼴을 소개해드리려고 입니다.




이렇게 이클립스의 기본 글씨체는 Consolas와 비교해보면

더 가독성이 좋게 만들어졌다고 하는데

으음... 사실 저는 Consolas 가 더 마음에 들고 계속해서 Consolas를 쓰고 있습니다.

그럼에도 설치 방법을 알려드리는 이유는

단지 선택의 폭을 넓혀드리기 위함이니

그냥 쓰실분들은 쓰셔도 괜찮고

저 폰트가 마음에 드시는 분들은  아래의 설치방법을 따라 설치하신 후

사용하시면 되겠습니다.





우선 네이버에 나눔고딕코딩 이라고 검색하시면

나오는 홈페이지에 접속을 해줍니다.





그리고 왼쪽의 개발전용폰트/에디터 탭을 클릭하고

저 빨간그림부분을 클릭하셔도 되고 오른쪽의 주소창을 클릭하셔도 됩니다.





접속된 github 페이지입니다.

(github는 개발을 하면서 앞으로 많이 보시게 될 겁니다)

아래쪽으로 조금 내려서 Ver 2.5(2016.10.24 배포)

라고 써진 파란 글씨를 클릭하여

설치 파일을 다운받습니다.





압축파일을 해제하면 이렇게 두개의 파일이 나오는데

더블클릭하여 열어보면





이런 창이 뜨게되고

왼쪽 위의 설치를 눌러주시면 설치가 끝납니다.





이클립스에 들어가보니 글씨폰트가 설치되어 있습니다.


이상 이클립스 글씨폰트 추천 및 크기 변경 방법이었습니다.


반응형
반응형

이번에는 Database 중 가장 널리사용되고 

기업이나 실무에서도 가장 많이 사용하는 DB 중 하나인

오라클 11g 버전을

윈도우 10 에 설치하는 방법을 

설명해드리겠습니다.


1. 오라클 홈페이지

https://www.oracle.com/index.html

혹은

한국어 홈페이지
https://www.oracle.com/kr/index.html

둘중 한군에데 접속합니다.

저는 한국어 홈페이지에서 다운받아 해보겠습니다.






2. 다운로드 버튼을 눌러줍니다.





3. 데이터베이스 버튼을 눌러줍니다.





4. Database 11g Enterprise/Standard Edition 을 클릭하여 줍니다.

아래에 있는 Express Edition 도 많이들 사용을 하시는데

둘의 차이점이라고 함은

Express Edition이 조금 더 가볍고 경량화 되었습니다.

기능들도 제한을 많이 두었다고 하구요

그래서 저는 Enterprise 버전으로 받도록 하겠습니다.





5. You must accept the OTN License agreement to download this software.

에 체크를 꼭 해주시구요





6. 아래쪽으로 내려와 Oracle Database 11g Release 2 탭에 있는

본인의 컴퓨터 운영체제와 bit 에 맞게 설치 파일을 다운받아 줍니다.

설치파일은 File1, File2 모두 받아주어야 합니다.





7. 파일을 다운로드받으려면 회원가입을 해야합니다.

이미 회원이신분들은 로그인을 해주시고 아니신 분들은 계정 만들기 버튼을 눌러 회원가입을 해줍니다.





회원가인은 저런 양식으로 되어있구요 본인의 정보를 모두 입력해주고

계정 만들기를 누릅니다.

아 비밀번호는 영어 대문자 + 소문자 + 숫자 + 특수문자까지 모두 포함하고 있어야 합니다.





그러면 이메일을 확인하라는 페이지가 뜨고

회원가입시 적어놓은 이메일 확인을 해보니






이렇게 확인 메일이 와있습니다.


이메일 주소 확인 버튼을 눌러 확인을 해줍니다.


그리고 로그인 한 후 다시 파일을 다운로드받아주시면 됩니다.



8. 두개의 파일이 모두 받아졌으면 압축파일을 풀어서 한곳에 모아주시기 바랍니다.

저의 경우는 압축이 자동으로 한 폴더에 풀렸는데요

혹시 폴더 두개가 나눠져 있으신 분들은

2번 폴더 안의 stage 폴더를 1번폴더로 옮겨주시면 되겠습니다.


그렇게 한곳으로 합치셨다면


설치파일인 setup 파일을 실행해 줍니다.





이런 콘솔창도 잠깐 뜨고





이런창도 잠깐 뜨고





9 최소 요구 사항을 충족하지 않는게 아니라 너무 뛰어넘어서 그런 것 같습니다.

예를 눌러줍니다.





10. 전자메일을 안적어주셔도 상관 없고

보안 갱신 수신 안하셔도 상관 없습니다.

하실분들은 체크를 유지해주시고 저는 체크를 해제하겠습니다.

다음(N)> 버튼을 눌러줍니다.





11. 예(Y)를 눌러줍니다.





12. 데이터베이스 생성 및 구성에 체크하여주시고 다음(N)> 을 눌러줍니다.





13. 데스크톱 클래스에 체크하여 주시고 다음(N)> 을 눌러줍니다.






14. 설치 환경 구성을 하는 단계입니다.

혹시나 다른 드라이브나 다른 폴더에 설치하실 분들은

오른쪽의 찾아보기를 누르셔서 경로를 바꿔주시고 설치해주시면 됩니다.

비밀번호는 대문자 + 소문자 + 숫자만 포함해야하며 특수문자는 포함하지 않아도 괜찮습니다.

아 그리고 본인만 쓰실 거라면 1234나 abcd 같은 간단한 비밀번호를 설정하실 수 있습니다.





15. 완료버튼 눌러 설치를 진행합니다. 





16. 본격적으로 설치를 하는데 굉장히 오래 걸립니다.

식사를 하고 오셔도 되고 게임을 한판하고 오셔도 괜찮습니다.

제기준 한 20분정도 걸린 것 같습니다.





17. 중간에 이런 창도 한번 뜨고





18. 설치를 마무리 하는데 비밀번호 관리를 누르면 해당 데이터베이스에 기본적으로 생성되어 있는

사용자들의 비밀번호를 관리할 수 있습니다.

큰 의미는 없으니 확인을 눌러줍니다.





20. 닫기(C) 버튼을 누르면 설치가 끝납니다.



자세한 데이터베이스 사용 방법은 차차 포스팅 하도록 하겠습니다.


반응형

+ Recent posts