DB 25

MariaDB 데이터베이스생성, 사용자생성, 권한부여

프로젝트 초기 설정 : DB 연결데이터베이스 생성 -> 사용자 생성 -> 권한 부여 -> 클라이언트 접속 -> 서버 기동0. 준비MariaDB 설치 후 root계정 접속, sys로 연결1. 데이터베이스 생성create database mydb;2. 사용자 생성create user 'mydb'@'%' identified by '1234';create user 'mydb'@'localhost' identified by '1234';(참고)- '%' : 원격 접속(외부 IP 또는 도메인) 허용 (TCP 접속)- localhost : 로컬에서 접속 허용 (Unix 소켓 접속)(참고)- TCP : 네트워크 접속- Unix : OS 제공하는 Unix 소켓 파일 접속 (파일 : /var/run/mysqld/mysql..

DB 2025.03.18

MAC mariaDB 설치 및 실행 : 오류 발생 시 대응, 클라이언트, 서버 실행

MAC mariaDB 설치 및 실행기본 설치 및 실행 포함오류 발생 시, 완전 히 삭제 후 재설치 포함DB 클라이언트 확인 포함SpringBoot 연동 확인 포함 Homebrew로 MariaDB 설치1. 설치Homebrew 설치Homebrew : Mac에서 터미널을 이용해 소프트웨어를 쉽게 설치하고 관리할 수 있도록 도와주는 패키지 관리자. (설치/실행/삭제)/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Homebrew로 MariaDB 설치brew install mariadb설치 확인mysql --version 2. 실행MariaDB 서버 시작brew services start ma..

DB/전체 2025.03.12

[mariadb] 컬럼 데이터에 ','를 row로 처리하기

* 컬럼 데이터에 ','를 row 컬럼로 처리하기 DB data row1 : 데이터1,데이터2,데이터3 row2 : 데이터4 row3 : 데이터5 ... (아래와 같이 표현) row1 : 데이터1 row2 : 데이터2 row3 : 데이터3 row4 : 데이터4 row5 : 데이터5 SELECT replace(SUBSTRING_INDEX(SUBSTRING_INDEX(your_column, ',', n.digit+1), ',', -1), ' ','') AS split_data FROM your_table JOIN (SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n ON LENGTH(your_column) - LENGT..

DB/전체 2023.10.18

[mysql] DB index 추가

데이터 양이 많아질 때, 속도가 느려진다면! 성능 검토 시! DB index를 추가하면, 조회 시 전체 조회를 하지 않기 때문에 속도가 빨라 진다. -- 방법 CREATE INDEX {index명} ON {table_name}({column_name}); -- example CREATE INDEX table1_IDX ON table1(column1); -- 확인 EXPLAIN select * from table1 where column1 = 'test'; (결과) index 없을 시, ==> 1 SIMPLE [table1] ALL index 추가 시, ==> 1 SIMPLE [table1] ref

DB/My SQL 2023.03.21

Docker mysql 시간 변경, vi command not found, docker 서버 시간 변경

SELECT NOW(), @@system_time_zone; -- [현재시간 -9시간],UTC 1. docker mysql 컨테이너아이디 조회 $docker ps -a CONTAINER_ID IMAGE [CONTAINER_ID] mysql 2. docker mysql 접속 $ sudo docker exec -it [CONTAINER_ID] /bin/bash bash-4.4# vi /etc/my.cnf [mysqld] default_time_zone = '+09:00' [mysqld] # 아래 추가 default_time_zone = '+09:00' 3. docker mysql 재기동 $ sudo docker stop [CONTAINER_ID] $ sudo docker start [CONTAINER_ID]..

DB/My SQL 2023.02.23

[MYSQL] SQL Error [10930][HY000] : You can't specify target table 해결

mysql insert문 안에 select문 있을 시, error 발생 SQL Error [10930][HY000] : You can't specify target table insert into table_name (column1, column2, column3) values ((select ifnull(max(seq), 0) + 1 from table_name), 'value2', 'value3') 해결! insert문 안에 select max 함수를 사용 할 때는, select max 함수 table에 별칭 추가 insert into table_name (column1, column2, column3) values ((select ifnull(max(seq), 0) + 1 from table_nam..

DB/My SQL 2023.02.16

[mysql] 현재기준 월요일~일요일, 특정 요일 조회

mysql 현재 기준 각 요일 별 일자 조회 -- 2021.06.15 (화) 기준 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+0); -- 0 : 월요일 2021-06-14 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+1); -- 1 : 화요일 2021-06-15 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+2); -- 2 : 수요일 2021-06-16 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+3); -- 3 : 목요일 2021-06-17 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+4); -- 4 : 금요일 202..

DB/My SQL 2021.06.15