해결된 질문
작성
·
3.2K
3
yarn start:dev 실행 하고 나면 아래와 같이 나오면서 에러가 뜨고 있어요
ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...
아래 코드도 정상적으로 기입 했는데, 계속 접속 오류로 연결이 되지가 않습니다.
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'
import { Module } from '@nestjs/common'
import { GraphQLModule } from '@nestjs/graphql'
import { TypeOrmModule } from '@nestjs/typeorm'
import { BoardsModule } from './apis/boards/boards.module'
import { Board } from './apis/boards/entities/board.entity'
@Module({
imports: [
BoardsModule,
GraphQLModule.forRoot<ApolloDriverConfig>({
driver: ApolloDriver,
autoSchemaFile: 'src/commons/graphql/schema.gql',
}),
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'test1234',
database: 'myproject03',
entities: [Board],
synchronize: true,
logging: true,
}),
],
// controllers: [AppController],
// providers: [AppService],
})
export class AppModule {}
현재 brew 확인시 Mysql 서버도 정상적으로 켜져 있는것을 확인 할 수 있어요
디비버에서도myproject03 이라고 정확하게 만들었습니다.
선생님의 강의하고 다른부분을 못 찾았는데,
데이터 베이스가 연결이 안될 때는 어느부분을 더 점검 해 봐야 할지요?
답변 2
4
힌트가 될만한 좋은 정보를 주셔서 감사드려요
위 안내주신 경로 들어가보니 제 기준으로는
아래와 같이 나와서 ::1 이런부분은 찾을 수 없었지만
127.0.0.1 / 이런식으로 되어 있는 것으로 보아 숫자로 인식이 되었던거 같아요
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
풀리지 않았던 부분에 있어서 더 깊이 있는 생각을 할 수 있게 안내 주셔서 다시한번 감사드려요!
혹시라도 나중에 같은 에러가 나시는 분들을 위해 남깁니다.
제가 어제 포맷하고 다시 찾아보니 my.cnf
파일이 아니라 hosts
파일이었습니다.
기존 리눅스는 /etc/hosts로 경로가 설정되어있지만 혹시라도 맥에서 변경하실 분들은 한 번 찾아 보시는 것도 좋아보입니다.
find / -name hosts 2>/dev/null
저는 /private/etc/hosts에 존재했습니다.
거기서 맨 아래 ::1로 되어있는 부분을 주석 처리 하면 됩니다.
https://superuser.com/questions/744972/connecting-to-mysql-from-127-0-0-1-instead-of-from-localhost
2
저도 동일한 이슈를 겪었으며 해당 질문에서 힌트를 얻어 짧게나마 설명을 덧붙인 제 경험을 공유하고 싶습니다.
같은 이슈를 겪은 다른 분들도 본 글을 통해 에러를 해결하셨으면 좋겠습니다 :)
저도 해당 문제 발생했었는데,
저기 위에 에러났을 때 메세지 보면
해당 부분이 있어요. 이 부분에서 ::1는 IPv6의 localhost를 의미한다고 합니다(정확하진 않아요).
localhost가 ::1에 매핑 되어있어서 그런다고 합니다.
우리는 IPv4를 사용해야하는데 mysql 설정에 localhost가 ::1에 매핑되어 있을 가능성이 있습니다.
mysql 설정 파일 찾는 방법은