일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 전자정부표준프레임워크
- String Functions and Operators
- 오라클
- 방화벽
- MySQL
- 티베로
- String Function and Operators
- String Functions and Date Operators
- Date and Time Function
- Date and Time Functions
- Tibero
- Oracle
- HTTP
- 전자정부 표준프레임워크
- Sring Functions and Operators
- SVN
- Data and Time Functions
- 윈도우
- Today
- Total
웹이야기
전자정부 표준프레임워크 MySQL 연결 본문
1. MySQL을 설치한다.
- Window 에서 설치하는 경우 아래 방법을 추천한다.
- 리눅스에서 설치하는 경우 아래 방법을 추천한다.
2. 설치 후 character-set 을 확인한다.
- 한글이 잘 안들어가는 경우가 발생할 수 있으므로 확인한다.
3. 전자정부 표준프레임워크 3.8의 경우 아래 글의 3. MySQL 연결 항목을 참고한다.
4. 전자정부 표준프레임워크 3.9의 경우를 기술해본다.
- 연결정보를 암호화 하는 경우
- 연결정보를 암호화 하지 않는 경우 2가지로 생각해볼 수 있다.
* 연결정보를 암호화 하는 경우에는 아래 글을 참조한다. 오라클을 기준으로 하여 작성되어 있다.
5. 연결정보를 암호화하지 않고 기존 방식대로 설정하는 방법
- globals.properties
- context-datasource.xml
- context-crypto.xml
3개의 파일을 수정한다.
* MySQL 드라이버는 프로젝트에 load 되어 있어서 따로 설정이나 드라이버를 다운받지 않는다.
1) context-crypto.xml
- Ctrl + Shift + r 을 누른다음 context-crypto.xml 을 입력하여 파일을 연다.
- 소스를 수정한다.
<egov-crypto:config id="egovCryptoConfig"
initial="true"
crypto="true"
algorithm="SHA-256"
algorithmKey="egovframe"
algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ="
cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/>
부분에서
initial="false"
crypto="false"
로 수정한다.
2) context-datasource.xml
- 동일한 방법으로 context-datasource.xml 파일을 연다.
- 소스를 수정한다.
<!-- MySQL -->
<beans profile="mysql">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.mysql.DriverClassName}"/>
<property name="url" value="${Globals.mysql.Url}" />
<property name="username" value="${Globals.mysql.UserName}"/>
<!-- 암호화(Crypto) 관련 서비스 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:crypto_simplify_v3_8 참조 -->
<property name="password" value="#{egovEnvCryptoService.getPassword()}"/>
</bean>
</beans>
부분에서
<property name="password" value="#{egovEnvCryptoService.getPassword()}"/>
을
<property name="password" value="${Globals.mysql.Password}"/>
으로 수정한다.
3) globals.properties
- 동일한 방법으로 파일을 연다.
- 소스를 수정한다.
Globals.DbType = mysql
#mysql
Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3306/com
Globals.mysql.UserName = com
Globals.mysql.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D
이 부분을 수정하고 나머지 설정정보는 주석처리 한다.
Globals.DbType = mysql
mysql 이 소문자인 것도 확인하고 연결정보를 입력해준다.
#mysql
Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://1.1.1.1:3306/testdb
Globals.mysql.UserName = test
Globals.mysql.Password = test1234
1.1.1.1 : MySQL이 설치된 PC의 IP
testdb : DB 명
test : MySQL 사용자 명
test1234 : MySQL 비밀번호 이다.
다른 것들은 아래와 같이 주석처리 해준다.
#oracle
#Globals.oracle.DriverClassName=oracle.jdbc.driver.OracleDriver
#Globals.oracle.Url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
#Globals.oracle.UserName = com
#Globals.oracle.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D
#altibase
#Globals.altibase.DriverClassName=Altibase.jdbc.driver.AltibaseDriver
#Globals.altibase.Url=jdbc:Altibase://127.0.0.1:20300/mydb?encoding=UTF-8
#Globals.altibase.UserName = com
#Globals.altibase.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D
#tibero
#Globals.tibero.DriverClassName=com.tmax.tibero.jdbc.TbDriver
#Globals.tibero.Url=jdbc:tibero:thin:@127.0.0.1:8629:tibero
#Globals.tibero.UserName = com
#Globals.tibero.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D
#cubrid
#Globals.cubrid.DriverClassName=cubrid.jdbc.driver.CUBRIDDriver
#Globals.cubrid.Url=jdbc:cubrid:127.0.0.1:30000:com:::?charset=utf-8
#Globals.cubrid.UserName = com
#Globals.cubrid.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D
#MariaDB
#Globals.maria.DriverClassName=org.mariadb.jdbc.Driver
#Globals.maria.Url=jdbc:mariadb://127.0.0.1:3336/com
#Globals.maria.UserName = com
#Globals.maria.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D
#postgreSQL
#Globals.postgres.DriverClassName=org.postgresql.Driver
#Globals.postgres.Url=jdbc:postgresql://127.0.0.1:5432/comdb
#Globals.postgres.UserName=com
#Globals.postgres.Password=xz4fmrSdr1vGGl6UtwPLwA%3D%3D
6. 디비 스크립트 실행
- 처음 설치하는 경우에 테이블 생성 및 스크립트를 실행해주어야 한다.
2개의 파일을 열어 MySQL 에서 실행하여 테이블 및 데이타를 생성해준다.
1. com_DDL_mysql.sql
- 프로젝트 > script > ddl > mysql > com_DDL_mysql.sql
2. com_DML_mysql.sql
- 프로젝트 > script > dml > mysql > com_DML_mysql.sql
이제 톰캣을 시작해보거나 해서 연결된 것을 테스트 해본다.
연결도중에
Unable to load authentication plugin 'caching_sha2_password'.
와 같은 오류가 발생한다면 아래 URL 을 참조한다.
https://web-obj.tistory.com/311
* 이 글을 보시는 분이 경험이 많지 않은 분이고, 처음 셋팅해보는 것이라면 MySQL 버전을 낮추는 것(ex, MySQL 5.5 같은)을 추천한다.
Done.
'전자정부표준프레임워크' 카테고리의 다른 글
전자정부표준프레임워크에 Tiles 적용 (0) | 2020.08.19 |
---|---|
전자정부 표준프레임워크 3.9 모바일 공통컴포넌트 설치(템플릿) (0) | 2020.04.15 |
globals.properties 의 정보에 대한 암호문 적용 (0) | 2020.03.11 |
globals.properties 의 정보에 대한 암호문 생성 (0) | 2020.03.11 |
설정파일의 중요 정보 암호화/복호화(globals.properties) (0) | 2020.03.11 |