PreparedStatement 에서 SQL 문 확인하기

System.out.println(preparedStatement);

https://stackoverflow.com/questions/2683214/get-query-from-java-sql-preparedstatement

문제점


해결방안

▶ 아래 명령어 입력
mysqld --skip-grant-tables
▶ 확인하기
mysql -u root  mysql
mysql> show databases;


 실행환경

 Desktop

 조립식

 CPU

 Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz 3.40GHz

 Memory

 8.00 GB

 OS

 Windows 7 Professional K 64bit

 Java

 1.8.0_05

 MySQL

 Ver 14.14 Distrib 5.6.19, for Win64


MySQL data 디렉토리 변경하기

확실한 방법인지는 모르겠다. my.ini을 찾아보려해도 없어 WorkBench 를 이용해 바꾸어 보았다.

(이에 대한 문제는 책임지지 않는다.)


1. 먼저 MySQL 을 Stop한 뒤에 WorkBench를 실행하고 왼쪽에 Options File를 클릭하고 datadir의 경로를 바꾸어 주었다.


2. 기존 data 폴더에 있는 두개의 디렉토리를 복사하여 변경한 디렉토리에 넣어준다.


3. MySQL 을 Start 한다.


데이터베이스 생성하기

mysql> create database DB명;

혹은 mysql> create schema 스키마명;

두 명령어는 같은 역할을 한다. 참고


데이터베이스 제거하기

mysql> delete from db where db='DB명';

혹은 mysql> drop database DB명;


! 변경사항 적용하기 위해 아래 명령어 사용.

mysql >flush privileges;




'Database > MySQL' 카테고리의 다른 글

[MySQL] ODBC 설치 및 설치 에러: Error 1918  (0) 2014.06.25
[MySQL] MySQL 설치하기  (0) 2014.06.25
[MySQL] root 계정 비밀번호 변경하기  (0) 2014.03.15
[MySQL] 버전 확인하기  (2) 2014.03.05

사용자 확인, 사용자 추가


▶ 사용자 확인

mysql> use mysql;
mysql> select user, host from user;
▶ 사용자 추가

로컬접근 허용 mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) -> values ('localhost','사용자명',password('비밀번호'),'','','');

외부접근 허용 mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) -> values ('%','사용자명',password('비밀번호'),'','','');

▶ 사용자 삭제
mysql> drop user 사용자명@호스트;
▶ 변경사항 적용
mysql> flush privileges;

사용자 데이터베이스 권한 부여, 박탈(삭제)

*grant 문을 이용하면 flush privileges 를 할 필요가 없다.


▶ 모든 권한 주기
mysql> grant all privileges on *.* to 사용자명@호스트
     -> identified by '비밀번호' with grant option;
▶ 특정 사용자에게 특정 DB의 모든 테이블에 모든 권한 부여하기
mysql> grant all privileges on DB명.* to 사용자명@호스트 identified by '비밀번호';
▶ 특정 사용자에게 특정 DB의 모든 테이블에 select, insert 권한 부여하기
mysql> grant select, insert on DB명.* to 사용자명@호스트 
     -> identified by '비밀번호';
▶ 특정 사용자에게 특정 DB의 특정 테이블의 정해준 컬럼에만 update 권한 부여하기
mysql> grant update(컬럼1,컬럼2,컬럼3) on DB명.테이블명 to 사용자명@호스트
     -> identified by '비밀번호';
▶ 모든 호스트에서 접속가능하고 select 권한만 갖는 사용자를 추가할 땐
mysql> grant select on DB명.* to 사용자명@% identified by '비밀번호';
▶ ip주소가 192.168.0.으로 시작하는 컴퓨터에서 접속가능한 사용자를 추가할 땐
mysql> grant all privileges on *.* to 사용자명@'192.168.0.%' identified by '비밀번호';


▶ 모든 권한 삭제
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 사용자명@호스트;
▶ usage (삭제하면 로그인조차 안됨) 권한 부여, 삭제

usage 권한 부여 mysql> GRANT USAGE ON *.* TO USER_NAME@HOST IDENTIFIED BY 'USER_NAME'; usage 권한 삭제 mysql> REVOKE USAGE ON *.* FROM USER_NAME@HOST;


▶ 권한 확인하기
mysql> SHOW GRANTS FOR 사용자명;


참고사이트



'Database > MySQL' 카테고리의 다른 글

[MySQL] root 계정 비밀번호 변경하기  (0) 2014.03.15
[MySQL] 버전 확인하기  (2) 2014.03.05
[MySQL] 원격 접속 하기  (0) 2014.01.26
[MySQL] 명령문  (0) 2014.01.06

특정 아이디에 등록된 호스트 확인

select host from mysql.user where user='사용자명';

접속 ip 추가하기

▶ 모든 IP와 DB 허용하기

mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
     -> values('%','사용자명',password('비밀번호'),'','','');
mysql> grant all privileges on *.* to '사용자명'@'%';
mysql> flush privileges;

▶ 특정 IP에 특정 DB 허용하기

mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
     -> values('111.222.333.44','사용자명',password('비밀번호'),'','','');
mysql> grant all privileges on 특정DB.* to '사용자명'@'111.222.333.44';
mysql> flush privileges;


원격 접속하기

mysql -h 호스트명 -u 사용자명 -p

'Database > MySQL' 카테고리의 다른 글

[MySQL] root 계정 비밀번호 변경하기  (0) 2014.03.15
[MySQL] 버전 확인하기  (2) 2014.03.05
[MySQL] 사용자 관리(추가, 삭제, 권한 부여)  (2) 2014.02.05
[MySQL] 명령문  (0) 2014.01.06

상단에 Downloads 탭 선택


JDBC Drivers 클릭


각자 사용할 드라이버 선택해서 로그인후 다운받음




 

DBMS(Database Management System)

  • 중복성 통제 – 데이터의 사전 검증을 통해서 중복된 데이터를 최소화 시키게 된다. 그렇기 때문에 조인을 이용하게 되며 적은 저장 공간으로 많은 데이터를 관리할 수 있게 된다. 이러한 데이터 중복성 통제는 데이터의 저장, 개발, 성능 및 유지보수 측면에서 장점을 갖게 된다.
  • 메타 데이터 관리 – 데이터의 관계나 특성들이 메타 데이터에 저장된다. 이러한 메타 데이터의 관리로 관련 프로그램들의 수정 없이도 데이터의 구조적인 변경이 가능하게 된다.
  • 사용자 중심의 데이터 처리 – 데이터간의 복잡한 관계는 DBMS가 처리해 줌으로써 사용자에 의한 데이터 처리가 좀더 용이해 진다. 또한 대부분의 DBMS는 다중 사용자를 위해서 다양하고 용이한 인터페이스를 제공하고 있다.
  • 데이터의 일관성 유지 – 중앙 집중식 통제로 동일한 사실을 표현하는 데이터들간의 불일치를 방지하고 동질성을 보장하게 된다.
  • 데이터의 정합성 보장 – DBMS는 입력이나 갱신 작업을 수행할 때마다 사용된 데이터가 규칙에 위배되지 않는 정확한 값인가를 검사하여 유효한 데이터만 허용하게 된다. 이와 같이 데이터 정합성 검증이 수행되므로 모든 데이터는 정합성을 유지할 수 있게 된다.
  • 백업 및 복구 기능 – 보관된 데이터의 안정성을 높이기 위해서 데이터의 복제본을 저장할 수 있도록 하는 백업 기능을 제공한다. 또한 장애가 발생했을 경우 백업기능으로 생성된 복제본을 이용하여 데이터를 복원시킬 수 있는 복구 기능을 제공한다.'
  • 질의(query) 처리 – 데이터를 사용하기 위해서 사용자가 질의를 수행할 경우 효과적인 방법으로 데이터에 접근하는 방법을 제공한다.
  • 보안 기능 – 데이터베이스에 대해서 허용된 사용자에 의해서만 접근을 가능하게 할 수 있다. 또한 처리 가능한 데이터를 확인 및 검사함으로써 개인 정보를 보호할 수 있도록 한다.

+ Recent posts