스프링 공부를 시작하기 위해 개발 환경을 구축하는 과정에서 여러 에러가 발생했다.

시작부터 아주 막막했던 경험을.. 나만 하길 바라면서 해결 과정을 간단히 정리한다.

 

1. IntelliJ IDEA 최신 버전 설치

기존에 2020 IntelliJ IDEA Community 버전이 설치되어있었는데, 이 버전에서 프로그램이 제대로 실행되지 않았다.

https://www.jetbrains.com/idea/download/other.html에서 최신 버전을 설치해준다.

기존에 설치된 버전에 덮어쓰기 해주면 된다.

 

2. Gradle 설치

터미널에서 아래 명령어 한 줄만 입력하면 된다.

$ brew install gradle

 

아래 명령어로 설치된 버전을 확인할 수 있다.

$ gradle --version

 

3. 최신 버전의 JDK 설치

IntelliJ로 이동해서 JDK 최신 버전을 설치한다. 내가 듣는 강의에서 jdk 17 버전 이상을 설치하라해서 17 버전을 설치했다.

Cmd+; 단축키로 Project Structure로 이동한 뒤, SDK > Download JDK를 누르면 아래 창이 뜬다. 아래와 같이 17 버전을 설치 및 적용한다.

 

Cmd+, 단축키로 Setting으로 이동한 뒤, Build,Execution,Deployment > Compiler > Java Compiler로 이동한다.

Project bytecode version을 17로 변경해준다.

 

이번엔 Build,Execution,Deployment > Build Tools > Gradle로 이동해서 Gradle JVM을 마찬가지로 방금 설치한 17버전으로 선택해준다.

 

4. Apply !

확인을 위해 스프링 테스트 코드를 실행하면 에러 없이 잘 돌아간다.

 

m1의 iterm2 초기 세팅 과정에서 powerlevel10k를 설치했다. (powerlevel10k 설치 방법)

모든 설치 과정을 마치니 다음과 같은 상태가 되었다.

위처럼 이런식으로 경로만 뜨고 username이 표시 안 됐다.

 

내가 원하는 거 :

 

찾아보니 .zshrc 파일에 아래 내용을 추가하라던데 이 방법으로는 내 문제가 해결 되지 않았다.

# .zshrc 파일
prompt_context() {
	if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
		prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
	fi
}

 

 

해결 방법 : .p10k.zsh 파일을 아래 과정에 따라 수정해준다.

$ vi ~/.p10k.zsh		# .pk10k.zsh 파일 열기

 

 

typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(

...

# context		# 해당 라인을 주석 처리

...

)

 

 

난 왼쪽에 표시하고 싶으니 POWERLEVEL9K_LEFT_PROMPT_ELEMENTS 에 context element를 추가해준다.

  typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
	...
    
    context			# 해당 라인 추가
    
    ...
  )

 

 

username만 표시하고 싶으므로 형식도 바꿔준다.

  # Context format when running with privileges: user@hostname.
  # typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' 	# 이 부분을 주석처리하고
  typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n'		# 이렇게 바꿔준다. 아래도 마찬가지

  # Context format when in SSH without privileges: user@hostname.
  # typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m'
  typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n'
  
  # Default context format (no privileges, no SSH): user@hostname.
  # typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m'
  typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n'

 

그럼 아래와 같이 된다.

 

 

 

참고: https://www.reddit.com/r/zsh/comments/e416xp/prompt_elements_with_powerlevel10k/

일단 나는 Mac m1 사용자고 homebrew로 mysql을 설치했다.

 

문제상황

MySQL 실행중, 외부에서 csv 파일을 가져와 테이블에 insert하려고 할 때 아래 코드를 실행 시켰더니 에러가 발생했다.

load data infile '/Users/home/Team.csv'
into table Team
fields terminated by ';'
enclosed by ''
lines terminated by 'n'
ignore 1 rows;

 

에러문: ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 

 

 

원인

M1 터미널에 MySQL을 설치한 뒤 아래 명령어를 사용해서 서버 관련 설정을 해주게 되는데,

$ mysql.server start

 

이때 --secure-file-priv 옵션을 설정해줘서 그렇다고 한다. 위 명령어를 터미널에 입력해 서버를 다시 시작하고, 옵션 설정을 다시 해주면 된다.

 

해결을 시도했으나 실패

서버 설정을 다시 해주려고 위의 명령어를 입력했지만 갑자기 아래와 같은 에러가 떴다. 

 

여기를 참고해서  다음 명령어를 시도했다.

// MySQL에 대한 소유 변경
$ sudo chown -R _mysql:_mysql /opt/homebrew/var/mysql
// MySQL 설치 위치 확인
$ brew --prefix mysql
// MySQL 및 폴더 권한 변경
$ sudo chmod -R 750 /opt/homebrew/opt/mysql
$ sudo chmod -R 750 /opt/homebrew/opt/

 

그러나......

 

해결 안돼서 그냥 여기를 참고해서 mysql을 삭제하고 재설치했다.

 

---

아무튼 다시 본론으로 돌아와서

 

해결 시도 1) infile 앞에 local을 붙여라

load data infile '/Users/yujimin/C:C++/Team.csv'
into table Team
fields terminated by ','
enclosed by ''
lines terminated by 'n'
ignore 1 rows;

 

응안돼~

 

해결 시도 2) my.cnf 파일에 "" 추가

아래 명령어로 my.cnf의 위치를 찾는다.

 

 

/opt/homebrew/etc/my.cnf

 

$ brew sercives restart mysql

 

 

 

???아또왜

 

에러 메시지

. ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/dhcp198.merusouth113.iit.edu.pid).

 

해결방법

$ sudo rm -rf /opt/homebrew/var/mysql/

$ brew reinstall mysql

$ mysql.server start

$ mysql_secure_installation 

Would you like to setup VALIDATE PASSWORD component? -> n

Remove anonymous users? -> y

Disallow root login remotely? -> n

Remove test database and access to it? -> n

Reload privilege tables now? -> n

 

All done!

 

mysql 실행

$ mysql -u root -p

비번입력하면

mysql> 창 뜨면서 시작~

 

 

ref: https://cocoze.tistory.com/93

1. homebrew 설치

$ brew -v	// homebrew 설치 여부 확인

Homebrew 4.2.10과 같이 설치 버전이 뜨면 설치되어있는 것이다.

설치가 안 되어있다면 설치해주자.

 

2. 아래 명령어를 순서대로 입력해서 mysql을 설치 및 시작한다.

$ brew install mysql

$ mysql.server start

$ mysel_secure_installation

 

3. 기본 설정 창이 뜬다. 상황에 맞게 y or n를 입력해준다. 나는 여기를 참고해서 똑같이 해줬다.

 

4. mysql 실행하기

$ mysql -u root -p

 

 

 

ref: https://velog.io/@haleyjun/MySQL-Mac%EC%97%90-MySQL-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-M1%EC%B9%A9

데이터베이스 초보자는 설치 과정에서부터 난관에 봉착한다.

 

지금까지는 MySQL로 수업 내용을 커버해왔는데,

OLAP을 배우면서 CUBE라는 다차원 배열 데이터베이스에 대해 배우면서, MySQL에서는 지원하지 않는다는 것을 알게 되었다.

그래서 PostgreSQL을 설치한 뒤 'Initialize'를 눌렀더니

 

이런 경고문이 떴다.

 

해결 방법

먼저 터미널에 아래와 같이 입력한다. 5432 포트를 사용/수신대기 중인 프로세스에 대한 정보를 확인하는 명령어이다.

$ sudo lsof -i :5432

원인: postgress로 식별되는 다른 프로세스가 이미 5432 포트를 사용중이어서 위와 같은 에러가 발생했다.

 

해결: 터미널에 아래 명령어를 입력해 PostgreSQL 프로세스를 죽인다.

$ sudo pkill -u postgres

 

 

해결 ~

 

reference: https://dev.to/balt1794/postgresql-port-5432-already-in-use-1pcf

+ Recent posts