mysql 7

[MySQL] 데이터 중복 삽입 방지하기

데이터 삽입 시 필요에 따라 중복 삽입을 방지해줘야 하는 경우가 있다. 지금 수행하고 있는 프로젝트에서 해당 문제에 직면했고, 어떤 방법을 적용하는 것이 좋을지 궁금해서 찾아봤다. FROM DUAL NOT EXISTS INSERT INTO User (userEmail, userPassword) SELECT ?, ? FROM DUAL WHERE NOT EXISTS (SELECT * FROM user WHERE userEmail = "a@a.com", userPassword = 1234); User 테이블에 해당 이메일과 패스워드를 가진 행이 없을 경우에 삽입해준다. INSERT IGNORE INSERT IGNORE INTO User (userEmail, userPassword) VALUES ("a@a.co..

[MySQL] DATE_FORMAT으로 날짜 및 시간 형식 변경하기

MySQL에서 아래와 같이 DATE_FORMAT 함수를 이용하면 날짜나 시간 표기를 원하는 형식으로 바꿀 수 있다. DATE_FORMAT(DATE, FORMAT); 홈페이지에 굉장히 많은 포맷이 있는데, 자주 다룰법한 몇 가지를 정리해봤다. %Y : 4자리 연도 ex) 2021 %y : 2자리 연도 ex) 21 %M : 긴 월 ex) January %b : 짧은 월 ex) Jan %m : 긴 숫자 월 ex) 06 %c : 짧은 숫자 월 ex) 6 %d : 긴 일 ex) 08 %e : 짧은 일 ex) 8 %W : 긴 요일 ex) Monday %a : 짧은 요일 ex) Mon %I : 시간 (12시간 기준) ex) 12 (자정) %H : 시간 (24시간 기준) ex) 00 (자정) %i : 분 %s : 초 ..

[AWS] AWS를 이용한 서버 구축 2/2 - 외부 접속

Situation 현재 AWS 클라우드 서비스에 서버를 구축해놨다. Server Program Back-end Language DBMS (+DB) Nginx PHP MySQL chrome 웹 브라우저를 클라이언트라고 생각하고 서버에 외부 접속하는 방법을 알아보겠다. Nginx 인바운드 규칙에 HTTP를 추가하고 인스턴스의 IP 주소로 들어가면 Welcome to nginx! 문장이 우릴 맞아준다. nginx가 잘 설치된 것은 물론 외부 접속에 성공했다는 것을 의미한다. PHP phpinfo 파일 작성 $ sudo vi /var/www/html/phpinfo.php phpmyadmin 설치 phpMyAdmin은 웹 브라우저에서 MySQL 이나 MariaDB 를 관리할 수 있게 해주는 소프트웨어이다. $ s..

[AWS] AWS를 이용한 서버 구축 1/2 - NPM 설치

AWS에 대하여 Amazon Web Services, AWS는 아마존에서 만든 Cloud service로 가상 컴퓨터와 스토리지, 네트워크 인프라 등 다양한 서비스를 제공한다. 클라우드 컴퓨팅은 네트워크 상에서 클라우드 서비스 자원을 빌려 사용하는 것을 뜻하며 세 분류로 나뉜다. IaaS : Infrastructure as a Service, 컴퓨터 환경만 빌려 사용 ex) AWS EC2, Google Cloud Platform, Azure Virtual Machines, Naver Cloud Platform PaaS : Platform as a Service, 플랫폼 서비스 ex) AWS Elastic Beanstalk, Windows Azure, Heroku SaaS : Software as a Se..

[서버/Server] APM 컴파일 설치하기 3/3 - PHP

PHP 7.4.1 컴파일 설치 현재 Ubuntu 18.04위에 Apache 2.4.46과 MySQL 8.0.19까지 컴파일 설치했다. PHP 버전 7.4.1 설치를 마지막으로 우분투 위에 패키지 매니저를 사용하지 않고 APM 컴파일 설치를 완료했다. 의존성 패키지 설치 의존성 패키지까지 모두 컴파일 설치 할 수는 없으니 편하게 apt-get 명령어를 사용해준다. $ apt-get install libxml2-dev $ apt-get install libjpeg-dev $ apt-get install libpng-dev php 설치 Apache와 MySQL 설치할 때와 동일하게 tar.gz 파일을 다운 받아 압축 해제한다. $ cd /usr/local/ $ wget https://www.php.net/di..

[서버/Server] APM 컴파일 설치하기 2/3 - MySQL

MySQL 8.0.19 컴파일 설치 Ubuntu 18.04 위에 Apache 2.4.46 설치를 완료했다. (이전 내용) MySQL은 버전 8.0.19 를 컴파일 설치했는데 시간이 정말 많이 걸려서 놀랐다. 심지어 도중에 한 번 우분투 복구까지 진행했다. 스냅샷을 찍어 백업시켜둔 과거의 나한테 고마웠다. 덕분에 apt-get upgrade하는데 굉장히 많은 시간이 걸렸지만… 의존성 패키지 설치 MySQL 공식 문서에 꼭 설치해야 하는 패키지들이 명시되어 있다. apt-get update 후 필요한 패키지들을 설치하면 된다. MySQL Community Server 8.0.19 설치 Apache 설치할 때와 동일하게 tar.gz파일을 다운받아 압축 해제해준다. $ cd /usr/local $ wget ht..