mysql3 ubuntu에 mysql 설치하기 설치sudo apt updatesudo apt install mysql-server 실행sudo systemctl start mysql 서버 재부팅 시 mysql 자동 시작 설정sudo systemctl enable mysql 포트 오픈mysql의 기본 포트는 3306보안 그룹에서 3306 포트 오픈aws같은 클라우드 환경에서 보안 그룹은 VPC 수준에서 트래픽을 제어하므로 해당 EC2 인스턴스에 도달하기 전부터 외부 트래픽을 필터링ufw 같은 로컬 방화벽이 설정되어 있지 않아도 외부로부터의 접근은 보안 그룹 설정에 의해 차단 config 설정외부 접속 허용sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]bind-address = 0.0.0.0기본 설정인 127... 2024. 11. 18. MySQL Error [1248]: Every derived table must have its own alias 에러 원인 1. MySQL은 파생 테이블이나 서브쿼리로 생성된 각 테이블에 대해 alias(별칭)이 필요하다. 2. 이 별칭은 쿼리 내에서 해당 테이블을 참조할 때 사용된다. 에러 쿼리 SELECT * FROM (SELECT point FROM post WHERE category = 'B' AND today_rank = 1) 해결 alias를 지정해준다. SELECT * FROM (SELECT point FROM post WHERE category = 'B' AND today_rank = 1) AS p 2024. 3. 16. MySQL Error [1093]: You can't specify target table 테이블명 for update in FROM clause 에러 원인 MySQL은 UPDATE, DELETE의 경우 SELECT와 달리 자기 테이블의 데이터를 바로 사용할 수 없다. 상황 A 카테고리에서 1등 게시글의 포인트 점수와, B 카테고리에서 1등 게시글의 포인트의 차이를 계산해서 gap column을 업데이트 하고 싶다. 테이블 정의 CREATE TABLE post ( id BIGINT AUTO_INCREMENT PRIMARY KEY, category VARCHAR(1) NOT NULL, today_rank BIGINT NOT NULL, point INT NOT NULL, gap INT NULL ); 에러 발생 쿼리 UPDATE post SET gap = point - (SELECT point FROM post WHERE category = 'B' AN.. 2024. 3. 16. 이전 1 다음