728x90

db 9

[MySQL/Mac] root 비밀번호 초기화하기

개인 컴퓨터에서 개발을 하다보면 DB를 로컬 환경에 설치하게 되는데, 그때마다 root 비밀번호가 나를 곤란하게 한다. 비밀번호를 설정 안하고 싶지만, 그래도 형식상으로 설정을 하다보면 늘 비밀번호를 까먹게 된다. root 비밀번호를 초기화하는 방법에 대해 알아보자. MySQL 8 Mac에서 homebrew로 설치 위 환경을 전제로 썼지만, Mac OS + MySQL이라면 명령어는 거의 비슷할 것이다. (MySQL 버전에 따라 다를 순 있다.) 1. 서버 종료 후, mysqld_safe로 인증 없이 실행하도록 서버 실행 아래 명령어가 제대로 동작하지 않거나, 명령어가 없다고 뜨는 경우 환경변수를 체크해보도록 하자. mysql.server stop mysqld_safe --skip-grant-tables ..

Computer Science/DB 2024.02.12

MySQL(MariaDB)의 EXPLAIN으로 실행 결과 분석하기

실행 계획이라고 하면, 쿼리가 어떻게 데이터를 불러오는지에 대한 계획을 의미한다. 실행 계획을 통해서 어떤 테이블이 어떤 방식으로 조회됐는지 확인할 수 있다. 조회 쿼리의 인덱스 사용 유무를 확인할 때, 전체 조회 대상 중에서 검색 조건에 의해 어느정도의 비율로 필터링 되는지와 같이 성능 튜닝에 필요한 요소들을 확인하고자 할 때 쿼리 실행 계획을 확인해보는 것이 좋다. 실행 계획을 확인하는 데 있어서, MySQL(MariaDB)에서는 EXPLAIN, DESCRIBE, DESC를 사용한다. 세 명령어 모두 같은 결과를 내기 때문에 편한 걸 사용하면 된다.(필자는 EXPLAIN을 많이 쓴다.) 사용 예시 EXPLAIN SELECT * FROM employee WHERE employee_num BETWEEN ..

Computer Science/DB 2021.11.07

M1 맥북에서 MySQL 설치하기

MySQL은 호환성 문제가 없는 편인 것 같다. M1 맥북에서 MySQL을 설치하는 방법은 기존 맥과 다르지 않은 편인데, 혹시나 싶어서 망설이고 있는 사람들과 초보자들을 위해 글로 남긴다. 기본 설정 Homebrew는 맥을 사용해본 사람이라면 한 번쯤은 사용해본 패키지 관리자로, 이번 설치에서 활용할 수 있다. Homebrew를 설치하고 나서 cask 패키지를 설치하고 업데이트 체크를 한 번 수행해주자. brew install cask brew update MySQL 설치하기 Homebrew를 설치해줬다면, 이제 MySQL을 설치해볼 차례다. 먼저 아래 명령어를 통해 MySQL 패키지 목록을 확인해보자. brew search mysql 여기서 그냥 mysql을 설치한다고 하면, 기존 맥에서는 다음 명령..

토막 정보 - Command Line으로 MySQL 원격 접속 시 옵션 값들

EC2 위에 올려놓은 MySQL에 접속하거나, 다른 워크스테이션의 DB 등에 접근할 때, 원격 접속을 할 일이 생기는데 그때마다 주로 Workbench로 처리를 하는 편이었다. Workbench가 시각적으로 활용하는 것이나, 환경 확인하는데 있어서는 되게 쉬운 편이지만, 입문을 CLI 환경에서 하다 보니 편하지 않을 때가 많고, Workbench를 사용하지 못하는 경우가 생긴다. 최근에 딱 그런 상황이 왔는데, 원격 접속을 하려니 완전히 애를 먹었다. 대충 다음과 같은 상황이라고 가정했을 때, 주소 : 255.255.255.0 포트번호 : 3306 ID : user PW : user CLI에서 MySQL 외부 접속을 위해서는 다음과 같은 명령어를 쳐야 한다. mysql -h 255.255.255.0 -P..

[DB] SQL에 대한 내용 간단한 정리

SQLSEQUEL(Structured English Query Language)최초의 RDBMS인 SystemR을 위한 DB 언어로 개발되었음.1986년 ANSI에서 관계형 DB의 표준언어로 인증. SQL은 데이터 정의(DDL)/조작(DML)/제어(DCL)하는 종합 DB언어관계 대수식에 비해 키보드로 표기하기 쉬움 관계 대수식(Relational Algebra)와 SQL의 차이 - 관계대수식Relation튜플의 집합결과 중복 불허 - SQL튜플의 백(Bag)튜플 간의 순서는 없고, 결과 중복 허용 관계 대수식이 중복을 불허하면서, 결과에 대해 항상 중복 내용을 제거하는 작업이 발생하여, 결과를 내는데 시간이 오래 걸리는 성능 문제가 발생함. 기본 구문 DDL : 데이터 정의CREATECREATE TABL..

데이터베이스(DB)와 DBMS의 특징과 정의

데이터베이스(DB; Database)어느 한 조직의 다양한 응용 프로그램들이 공동으로 사용하는 데이터들을 통합해 저장하고 운영하는 데이터의 집합. 정의에 함축된 개념공용 데이터(Shared Data)한 조직의 여러 응용 프로그램이 공동 사용여러 사용자가 서로 다른 목적으로 공유 통합된 데이터(Integrated Data)여러 부서에서 사용하는 데이터를 한 곳에 모아 공동 관리최소한의 중복, 통제된 중복 저장된 데이터(Stored Data)컴퓨터가 접근 가능한 저장 매체에 저장 운영 데이터(Operational Data)조직의 운영에 기본적으로 반드시 필요한 데이터를 저장고유한 기능을 수행하는데 필수적인 데이터를 저장 특징실시간 접근성(Real-Time Accessibility)질의(Query)에 대한 실..

Web] Select 태그를 이용해 정렬하기

Web] Select 태그를 이용해 정렬하기 필자가 텀 프로젝트를 하면서,구매 내역 조회야 DB에 쿼리문 하나만 날리면 조회가 쉽게 이루어지지만,평가 기준에 별도의 기능이 추가되어 있어야 했고,당시 필자의 뇌리에 스쳤던 것은 구매 내역을 정렬하는 기능이었다. 인터넷에 있는 오픈 마켓에서 자기가 구매했던 내역을 특정일을 기준으로,혹은 특정 기간을 기준으로 정렬하는 것을 구현하는 기능을 흔하게 볼 수 있다.필자는 조회일을 기준으로 최근 1개월, 3개월, 6개월 기준으로 구매 내역을 조회하는 기능을 만들어보려고 했다. 소스와 이런 부분에 대해서 이야기를 나누기 전에 하나 짚고 넘어가야 할 점은,필자는 이전에 PHP를 해본 적도 없고, PHP의 버전이 어디쯤 왔는지까지 정확히 알지 못했다.(지금도 자세히는 모른..

Etc] MS SQL Server 데이터 형식

MS SQL 데이터 형식 BigInt : 64bit 부호 있는 정수 Binary : Byte 형식의 Array Bit : 0, 1 및 Null참조일 수 있는 부호 없는 숫자 Char : 1~8000자의 유니코드가 아닌 문자의 고정 길이 스트림 DateTime : 3.33ms의 정확성으로 값 범위가 1753/1/1에서 9999/12/31까지의 날짜 및 시간 데이터 Decimal : -(10^38+1)~+(10^38-1) 사이의 고정 전체 자릿수 및 소수 자릿수 값 Float : -1.79e+308 ~ 1.79e+308의 부동 소수점 숫자 Image : 0~(2^31-1)byte의 이진 데이터 가변 길이 스트림 Text : 최대 (2^31-1)자의 유니코드가 아닌 데이터의 가변 길이 스트림

C#] MySQL 사용하기

C#] MySQL 사용하기 필자가 읽고 있는 책에서 그리고 공부하고 있는 사이트에서C#을 이용해서 데이터베이스를 다룰 수 있게끔 해놨는데,그 중에 필자의 눈에 들어왔던 것은 MySQL을 활용하는 것이었다. 이미 필자는 지난 학기 데이터베이스 프로그래밍을 통해서 인터넷 쇼핑몰을 만들어본 경험이 있어서MySQL 쿼리문 활용은 어렵지 않게 할 수 있지만, 이를 C#으로 다룰 수 있다는 것에곧바로 필자가 평소 즐기는 게임인 메이플스토리의 '코어 젬스톤'이라는 것을 획득했을 때마다작성하여 기록하는 일종의 가계부 비슷한 프로그램을 만들었다.(이를 속칭 '젬계부'라 한다...) (디자인이 개판이어도 이해 바란다.. 그냥 실습이 목적이었고, 기껏해야 게임 아이템 획득 수량 기록하는 프로그램이니..) 일단 MySQL 데..

728x90