목록Study (59)
오늘도 한 뼘 더
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqcf3t/btsv7ptXm1Z/X6roPfkYlKUt9zAhsDa5zk/img.png)
# 배경 데이터를 dump 한 뒤에 다시 import 하려는 sql문을 작성했다. # 문제 mysql -h 127.0.0.1 -u root -p < dump.sql 위의 sql문을 실행했는데 다음과 같은 에러 메세지가 발생하였다. ERROR 1046 (3D000) at line : No database selected # 해결 방법 import하려고 하는 파일에 "use database" 구문이 없어서 발생한 문제이다. 파일 편집기를 켜서 "use database;"를 추가할 수도 있지만 dump 한 파일의 용량이 크면 편집기를 여는데 부하가 걸릴 수 있어서 mysql구문에 데이터베이스 선택을 다음과 같이 작성했다. mysql -h 127.0.0.1 -u root -p --database=jihyunb ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A0r0I/btstg2wj8bW/JGZ3kxqqzNbmeV0Aq6PEH1/img.jpg)
# MySQL 설치하기 1. mysql 설치 $ brew install mysql 2. mysql 서비스 시작 $ mysql.server start 3. mysql 관련 기본 설정 진행 처음 세팅에 대한 내용 및 password의 복잡도, 원격 접속 가능 여부 등에 대한 설정을 진행한다. $ mysql_secure_installation 4. mysql 접근 확인 설정한 비밀번호를 통해 접근했을 때 "mysql >"과 같이 출력되면 동작이 되는 것이다. $ mysql -u root -p mysql> # MySQL WorkBench 설치하기 MySQL 공식 페이지에서 mysql 다운로드 받는다 https://dev.mysql.com/downloads/workbench/ MySQL :: Download My..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byFhRN/btstfS1HlrG/67JMKu4tHYdbKK1Kdv6Kek/img.jpg)
# brew 설치하기 1. brew 내려받기 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 내려받고 설치한 뒤에 brew 명령어를 사용하면 여전히 찾지 못한다. 2. alias 설정하기 다음 명령어로 brew 명령어가 동작할 수 있도록 설정한다. # zshrc에 homebrew path 추가 $ echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc # zshrc 반영 $ source ~/.zshrc 다시 brew 버전을 확인하면 명령어가 제대로 동작한다. $ brew --version
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/di5Q4b/btstkts5AO8/cKd0m84GOccgbOkjpK8ukK/img.jpg)
# Golang 설치하기 1. Golang을 설치하기 위해서 Go 공식 홈페이지에 들어가서 원하는 버전의 go를 다운로드한다 https://go.dev/dl/ All releases - The Go Programming Language go.dev 2. 다운로드된 파일 설치하기 다운로드 한 "go1.19.10.darwin-amd64.pkg" 파일을 실행하여 설치를 진행한다. # Go 설치 확인하기 $ go version > go version go1.19.10 darwin/arm64 설치된 파일의 위치 확인을 위한 명령어는 다음과 같다 $ which go > /usr/local/go/bin/go
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZRDbb/btstfmVsHrZ/QOkdOAAqkfNW9x0DKzDS3k/img.jpg)
# 배경 회사에서 맥북을 받아서 사용을 하게 되었다. zsh: command not found: ll 맥북에서 ls 명령어는 사용이 되는데 ll 명령어는 동작하지 않는다. # "ll" 명령어 사용하기 mac OS에 "ll" 명령어에 대한 alias 설정을 진행한다. 터미널에 다음과 같이 입력한다. $ echo "alias ll='ls -lgaf'" >> ~/.bash_profile $ source ~/.bash_profile 이제 "ll" 명령어를 사용하면 동작을 하는 것을 볼 수 있다. "ll" 명령어를 영구적으로 사용하고 싶다면 다음과 같은 명령어를 적용하면 된다. $ echo "source ~/.bash_profile" >> ~/.zshrc
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xg0l2/btspxcppVG0/qmrpTwpVNW769bDoPDIzqK/img.png)
# 배경 데이터를 백업하고 복원하는 작업을 진행하였다. 복원하는 작업을 진행하는 중에 다음과 같은 에러가 뜨면서 복원이 진행되지 않았다. ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ''. # 문제 서버가 달라지면서 인코딩이 달라져서 한글이 깨져서 복원하는데 문제가 생긴 것이었다. # 해결 방법 백업하는 과정에서 캐릭터 셋 옵션을 주어서 해당 문제를 해결할 수 있다. mysqldum..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dqa07B/btsoeAc1O2P/VmtjW08nvtr7RoWzlFhKnK/img.png)
# 배경 비개발자들이 데이터를 볼 수 있도록 조회한 데이터를 csv파일로 저장해서 공유해야 한다. 일반 데이터가 아닌 데이터 테이블의 칼럼 정보들을 조회 후 저장해야 했다. # 데이터 조회하기 일반 데이터와 같이 select가 아닌 show를 사용하여 데이터 조회가 가능하다 SHOW columns from {DATABASE}.{TABLE}; # csv 파일로 저장하기 1. INTO OUTFILE 사용 select 문으로 조회한 데이터의 경우 'INTO OUTFILE' 명령어를 통해서 csv 파일로 저장이 가능하다. SELECT * FROM {DATABASE}.{TABLE} INTO OUTFILE 'C:\\Doc\info.csv'; 2. select 문이 아닌 경우 show의 경우 이 방식으로는 저장이 불..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/csBZsC/btsjYtCISmC/9jVKEcCm3ZXIZ6ahr399WK/img.png)
# 테이블 하나 이름 변경 RENAME TABLE old_table TO new_table; ALTER TABLE old_table RENAME new_table; # 테이블 여러 개 이름 변경 RENAME TABLE old_table1 TO new_table1, old_table2 TO new_table2; # 다른 데이터베이스, 스케마로 테이블 이동 RENAME TABLE current_db.table_name TO new_db.table_name;
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcOC4V/btsjWsp27lV/hG43oK5rPV3DWjAKmvljCK/img.png)
# 배경 개발자가 작성한 테스트 코드를 돌리고 나서 결과에 따라서 GitLab에서 바로 Merge가 되지 않았으면 한다는 요구 조건이 있었다. 이전에 테스트 코드 실행은 GitLab에서 Merge Request가 열리면 Webhook을 통해서 Jenkins에서 테스트 코드가 실행되었다. 위의 요구 조건을 실행하기 위해서 GitLab의 CI/CD 툴을 사용하기로 하였다. # .gitlab-ci.yaml gitlab ci/cd의 경우 레포지토리에 .gitlab-ci.yaml 파일을 포함하고 있으면 자동으로 pipeline이 실행이 된다. gitlab repository > Settings > CI/CD에 들어가면 변수 세팅을 할 수 있다. 변수를 세팅할 때 Protected로 변수를 설정할 경우 Protec..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bOzXoc/btsimGwIvV0/LIR5vwHEGQfM9ljgQWltf1/img.png)
# 배경 git repository를 pull 하거나 push 할 때마다 username과 password를 입력해야 하는 번거로움이 있다. 한번 설정하고 나면 물어보지 않았으면 좋겠다. 저장하는 방법을 찾아보도록 한다. # 저장 방법 다음 명령어를 통해 git 설정에 추가한다. git config (--global) credential.helper store 이후 push나 pull 할 때 username과 password를 입력하고 나면 저장이 되어 그 이후에 더 이상 입력을 해야 할 필요가 없다.