728x90

MySQL 8

[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을 설치한다고 하면, 기존 맥에서는 다음 명령..

MySQL에서 sql 파일로 데이터 추가 시 한글 깨짐 문제(feat:명령프롬프트)

Workbench 같은 좋은 SQL 관련 프로그램들이 많이 나와 있어서 흑백 바탕에 무언가를 입력하는 사람들이 많이 줄어든 것 같다. 그래도 아직까지는 명령어가 편한 사람들이 많고, 특히 입문자들은 명령 프롬프트(cmd.exe)를 이용해서 mysql에 접속해서 쿼리를 날리는 것 같다. MySQL 대부분의 인코딩 문제는 인코딩 관련 설정 문제라서 관련 글들을 참조하면 잘 해결할 수 있다. 보통의 경우 UTF-8로 데이터를 설정하는데 설정 문제에서 해결을 보면 좋지만, 그게 아닌 경우가 간혹 있다. 예를 들어, sql 파일을 source 명령어로 실행하는 경우라면 입력 데이터와 DB의 인코딩 설정이 문제가 아닐 수가 있다. 분명 모든 설정들, SQL과 입력되는 데이터까지 UTF-8로 인코딩이 되어 있는 상황..

토막 정보 - 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..

PHP] mysql_query와 mysqli_query의 차이, 그리고 mysqli

mysqli에 대한 설명과 MySQLi 관련 레퍼런스 https://www.php.net/manual/en/mysqli.overview.php PHP: Overview - Manual mysqli can be great in some circumstances but much work has been put into PHP Portable Data Objects (PDO) which you should also consider when choosing a way to connect to your database using php. For example, PDO supports MySQL with minimal performance hit www.php.net https://www.php.net/manual..

Apache, PHP, MySQL을 한방에, APMSETUP

Apache, PHP, MySQL을 한방에, APMSETUP 웹 관련 공부를 하거나 간단한 프로젝트를 하다 보면,불가피하게 APM(Apache, MySQL, PHP)환경이 필요한 경우가 생긴다. 경험 삼아 이런 환경들을 무료로 사용할 수 있게 해주는무료 호스팅을 사용해보는 것도 나쁘지는 않지만, 아예 생 초짜이거나, 단지 로컬에서의 잠깐 개발 환경이 필요한 사람들에게는PC에 환경을 한 방에 구축하는 것이 좀 더 이로울 때가 있다.물론, 이 APMSETUP이 구축해주는 환경이 오래된 버전이기도 하니각각의 것들을 공식 사이트에서 받는 것을 권장한다. 여차저차, 귀찮을 수도 있는 APM 환경 구축을한 방에 정리할 수 있게 해주는 프로그램이 하나 있는데그게 바로 APMSETUP이라는 프로그램이다. APMSETU..

C#] MySQL 사용하기

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

728x90