본문 바로가기

MYSQL

(9)
[mysql] Access denied for user 'root@'localhost' (using password: YES) 유형 2) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES) - 사용자의 비밀번호가 틀렸을 경우 나타나는 오류 문구, 아래 해결 방법에 나와있는 명령어들을 입력. 비밀번호가 맞았는데 계속 틀렸다는 오류를 내밷었다. 심지어 application.properties는 같은 비밀번호로 접속 가능한데, application.yml으로 하면 비밀번호가 틀렸다는 오류가 계속 났다. 한참을 고민한 끝에, password: 비밀번호 -> password: '비밀번호' 로 ''를 붙여 string으로 만들어보았는데 성공했다... 이유는 모르겠지만, application.yml에서 password는 string으로 입력하기...
[mysql] [JDBC] [에러] JDBC 이용하여 mysql 접속 시, "java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone ..." 문제 - timezone 관련 문제 Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. JDBC를 이용하여 mysql 접속 시 , timezone 관련 문제가 발생하였다. 현재 내 ..
[mysql] [java] java.util.Date & java.sql.Date // 자바 Date 타입 <-> 데이터베이스 timestamp 타입 간 변환 java.util.Date 년,월,일 시,분,초 를 가지고 있다. 자바가 직접적으로 사용하는 타입이다. java.sql.Date java.util.date를 상속받는다. 하지만, 값을 가져올 때 년,월,일 까지만 가져온다. 자바에서, sql로 데이터베이스에 값을 넣을 때 사용하는 타입이다. 데이터베이스 타입과 비교 자바 1. Date : 날짜와 시간(년월일 시분초) 데이터베이스 1. date : 날짜 2. time : 시간 3. timestamp(mysql은 datetime) : 날짜와 시간 데이터베이스의 timestamp -> 자바 java.util.Date - getTimestamp() 사용 - 자바의 Date 타입으로 자동으로 upper casting 된다 Date create_date = rs.g..
[mysql] DATETIME TIMESTAMP DATETIME timezone에 의존하지 않는다 즉, database의 time_zone을 변경해도 시간이 변하지 않는다. 1000-01-01 00:00:00부터 9999-12-31 23:59:59까지 지원 TIMESTAMP timezone에 의존한다 즉, database의 time_zone을 변경하면 자동으로 시간이 바뀐다! 글로벌 서비스를 위해 사용하기 좋음 1970-01-01 00:00:01부터 2038-01-19 03:14:07까지 지원
[mysql] 문자열 데이터 타입 : CHAR vs VARCHAR CHAR - 고정 크기의 공간을 할당받게 된다. - 고정 데이터에 사용한다 (성별, 주민번호 등) - 저장 및 검색이 빠르지만, 저장공간 낭비 VARCHAR - 입력되는 데이터에 따라 길이가 가변적이다. - 가변적인 데이터에 사용한다 (주소, 내용 등) 문자열 데이터 타입의 특징 - 문자셋(UTF-8 등)을 지정할 수 있다. - 따라서, 같은 데이터 타입이라도 문자셋에 따라 다른 크기의 공간을 차지하게 된다!! [예시] VARCHAR(10) CHARACTER SET UTF8mb4 -> 40바이트 VARCHAR(10) CHARACTER SET UTF8 -> 30바이트 VARCHAR(10) CHARACTER SET ASCII -> 10바이트
[mysql] 사용 중인 데이터베이스 전환하기 코드 use database이름; 특징 - 이미 해당 데이터베이스가 존재해야함 - 현재 접속 중인 계정이, 해당 데이터베이스를 사용할 수 있는 권한이 있어야 한다
[mysql] password 정책 확인 및 변경하기 위와 같이, "새로운 계정을 생성하려고 하면" 비밀번호 정책 문제로 계정이 생성되지 않는 경우가 있다. 이때는, 비밀번호 정책을 낮춰 원하는 비밀번호를 사용하면 된다. 1. 현재 password policy 확인하기 show variables like 'validate_password%'; 기본은, MEDIUM으로 설정되어 있다. [정책 옵션] LOW인 경우, Length(최소 8자 이상만) 맞추기 MEDIUM인 경우, Length & 숫자, 대문자, 소문자, 특수문자가 모두 포함된 비밀번호를 사용 STRONG인 경우 dictionary file 이란 것을 등록해야 한다. 이 파일에 포함된 단어는 비밀번호로 사용할 수 없다. 우리는, MEDIUM을 LOW로 변경하여 계정을 생성하면 된다. (mysql 재..
[mysql] mysql 사용자 조회, 생성, 권한 주기, 비밀번호 변경하기, 삭제 1. mysql 사용자 생성 1. 해당 데이터베이스를 사용하는 계정을 생성해야 한다. create user '계정아이디'@'localhost' identified by '패스워드'; [설명] - mysql 8 이상부터는, 계정을 먼저 생성하고 권한을 부여해야한다. - 이때, 패스워드 정책과 맞지 않는다는 오류가 뜰 수 있는데, 해결 방법은 아래의 글을 참고하자. - mysql password 정책 확인 및 변경하기 : https://yoons-development-space.tistory.com/13 2. mysql 사용자에게 권한 부여하기 2. 해당 계정에, 데이터베이스를 이용할 수 있는 권한을 부여해야 한다. grant all privileges on db이름.* to '계정이름'@'localhost..
[mysql] mysql 실행 -> 접속 -> 접속 끊기 -> 종료 (+ 데몬으로 실행 및 종료) 1. mysql 서버 실행하기 mysql.server start 1. mysql을 데몬으로 실행하기 운영체제의 백그라운드로 mysql을 계속 실행시키고 싶다면, homebrew의 명령을 통해 mysql 데몬을 실행하면 된다 실행 brew services start mysql 재시작 brew services restart mysql 데몬으로 실행되고 있는 프로그램 리스트 출력하기 brew service list 2. mysql 접속하기 # 접속 방식 mysql -h[접속하려는 내 ip주소] -u[계정명] -p[계정의 비밀번호] [데이터베이스명] # 1. 일반적인 접속 방식 # - root 계정으로 접속 # - password는 그 다음에 치게 된다 # - db는 지정하지 않음 mysql -uroot -p ..