Pancake Stack › Pancake Stack 매뉴얼
데이터베이스
사이트마다 따로 있는 MySQL 데이터베이스, Adminer와 phpMyAdmin, 가져오기와 내보내기, 이미 가진 데이터베이스 연결, PostgreSQL을 다룹니다.

7.1Pancake의 데이터베이스
모든 사이트에는 전용 MySQL 8.4 데이터베이스와, 그 데이터베이스만 열 수 있는 전용 사용자가 있습니다. 둘 다 사이트 이름을 따릅니다(my-blog는 my_blog가 됩니다). 암호는 무작위로 만들어져 키체인에 보관되며, 사이트는 DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD에서 모든 정보를 읽으므로 사이트 파일에 암호를 넣을 필요가 없습니다.
데이터베이스 패널에는 데이터베이스마다 크기, 테이블 수, 그 데이터베이스를 쓰는 사이트가 표시됩니다. 목록을 보려면 MySQL이 실행 중이어야 하므로 모두 시작을 클릭하십시오.
- 새 데이터베이스(+ 버튼)는 데이터베이스를 하나 더 만듭니다. 이름에는 영문 소문자, 숫자, 밑줄을 씁니다.
- 휴지통 버튼은 데이터베이스를 삭제합니다. Pancake가 먼저 사본을 내보낸 뒤 삭제를 제안합니다.
7.2Adminer와 phpMyAdmin
Adminer는 브라우저의 adminer.localhost에서 데이터베이스를 엽니다. 테이블을 탐색하고, 쿼리를 실행하고, 행을 편집할 수 있습니다. 서버, 사용자, 데이터베이스는 Pancake가 채워 주므로 암호만 입력하십시오. 사이트 전용 사용자를 쓰거나, root와 함께 고급 ▸ root 비밀번호 복사로 얻은 암호를 쓰십시오. Adminer는 외부 접속을 켜도 절대 온라인에 올라가지 않습니다.
phpMyAdmin을 쓰고 싶다면 phpMyAdmin을 클릭하고, phpmyadmin.net에서 "all-languages" ZIP을 내려받아 고르십시오. Pancake가 이 Mac에만 머무는 phpmyadmin.localhost 사이트로 제공합니다. (phpMyAdmin은 Pancake에 포함되어 있지 않습니다.)
7.3내보내기와 가져오기
- 내보내기…는 데이터베이스를 날짜와 시간이 이름에 붙은
.sql파일로 저장합니다. - 가져오기…는
.sql파일을 데이터베이스로 불러옵니다. 파일 내용에 따라 기존 데이터에 추가되거나 기존 데이터를 대체합니다.
큰 변경을 하기 전에는 내보내기를 하거나, 사이트 카드에서 저장 지점을 만드십시오. 저장 지점은 파일과 함께 데이터베이스도 복사합니다.
7.4다른 앱에서 연결하기
고급을 켜면 다른 도구에서 연결에 TablePlus, Sequel Ace, DBeaver 등 데이터베이스 앱에 입력할 내용이 표시됩니다. 호스트 127.0.0.1, MySQL이 쓰는 포트(보통 3306), 사용자 root입니다. root 비밀번호 복사로 암호를 복사합니다. Pancake의 MySQL은 이 Mac에서 오는 연결만 받습니다.
다른 MySQL(MAMP, Homebrew, Docker 등)이 이미 포트 3306을 쓰고 있으면, Pancake의 MySQL은 3307처럼 비어 있는 다음 포트를 쓰며 패널에 그 포트가 표시됩니다.
7.5외부 데이터베이스
사이트는 Pancake의 데이터베이스 대신 이미 가진 데이터베이스를 쓸 수도 있습니다. MAMP의 MySQL, NAS나 다른 컴퓨터의 데이터베이스, Amazon RDS, Supabase, Neon 같은 클라우드 데이터베이스가 해당합니다.
- 이미 있는 데이터베이스에 연결…을 클릭하십시오.
- MySQL / MariaDB 또는 PostgreSQL TallStack을 고르십시오. 프리셋을 고르면 MAMP(포트 8889), Homebrew 또는 Docker, TLS를 쓰는 클라우드 데이터베이스, Postgres.app, Supabase, Neon, RDS 같은 일반적인 구성이 채워집니다.
- 이름을 정한 다음 서버, 포트, 데이터베이스, 사용자, 비밀번호를 입력하십시오.
- 보안을 고르십시오. 암호화(TLS), 암호화하고 서버 인증서도 확인(CA 파일을 고름), 암호화 안 함 중 하나이며, 암호화 안 함은 이 Mac과 로컬 네트워크에서만 허용됩니다.
- 테스트를 클릭한 다음 저장을 클릭하십시오.
- 사이트 카드(고급)에서 데이터베이스를 새 연결로 설정하십시오.
그러면 사이트에 그 데이터베이스의 정보가 DB_HOST, DB_PORT 등으로 주어지며, DATABASE_URL, DB_CONNECTION, DB_SSL_MODE도 함께 주어집니다.
각 외부 연결에는 테스트, 내보내기…, Pancake로 복사(안전하게 개발할 수 있도록 <name>_copy라는 로컬 사본을 만듦), 편집…, 그리고 데이터베이스는 건드리지 않고 연결 정보만 지우는 휴지통 버튼이 있습니다.
Pancake는 소켓 파일이 아니라 네트워크로 연결합니다. App Store 앱은 다른 앱의 소켓을 쓸 수 없기 때문입니다. 호스트에는 127.0.0.1을, 포트에는 서버의 포트를 쓰십시오.
SSH를 통해 연결
TallStack 많은 서버는 자기 자신에서 오는 데이터베이스 연결만 받습니다. SSH로 연결을 켜고 SSH 서버, 포트, 사용자, 암호나 키 파일을 입력하십시오. 이때 데이터베이스의 서버는 SSH 서버에서 본 주소이며, 보통 127.0.0.1입니다. Pancake는 터널을 열어 두며, 끊어지면 다시 엽니다.
테스트가 실패하면
Pancake는 흔한 오류를 알기 쉬운 말로 바꿔 보여 줍니다. 사용자 이름이나 암호가 틀림, 그 이름의 데이터베이스가 없음, 서버가 이 Mac의 연결을 받지 않음(서버에서 허용하거나 SSH로 연결하십시오), 서버 이름을 찾을 수 없음, 그 포트에서 응답이 없음(서버가 실행 중인지, 방화벽이 이 Mac을 허용하는지 확인하십시오), 암호화된 연결 실패(서버가 내 네트워크에 있고 TLS가 없다면 암호화 안 함을, 자체 인증 기관을 쓴다면 CA 파일을 고르십시오) 등입니다.
7.6PostgreSQL
FullStack Pancake에는 PostgreSQL 17이 포함되어 있습니다. 서비스 패널에서 켜십시오. 그러면 각 사이트에 전용 PostgreSQL 데이터베이스와 역할(site_<name>)도 생기며, 사이트는 PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, POSTGRES_URL에서 그 정보를 읽습니다. PHP의 pgsql 및 pdo_pgsql 확장도 포함되어 있습니다.
PostgreSQL 데이터베이스는 데이터베이스 패널의 별도 섹션에 나타나며, Adminer, 내보내기, 가져오기, 새 데이터베이스 버튼도 똑같이 있습니다. 다른 앱에서는 사용자 postgres와 postgres 비밀번호 복사(고급)로 얻은 암호를 쓰십시오.