programing

SQL 덤프를 MySQL로 가져오는 중 오류 발생: 알 수 없는 데이터베이스 / 데이터베이스를 만들 수 없습니다.

sourcejob 2022. 11. 13. 19:31
반응형

SQL 덤프를 MySQL로 가져오는 중 오류 발생: 알 수 없는 데이터베이스 / 데이터베이스를 만들 수 없습니다.

SQL 덤프 파일을 가져오는 방법을 헷갈립니다.MySQL에서 먼저 데이터베이스를 만들지 않으면 데이터베이스를 가져올 수 없습니다.

이것은, 다음의 경우에 표시되는 에러입니다.database_name아직 작성되지 않았습니다.

username= 원래 서버의 데이터베이스에 액세스할 수 있는 사용자의 사용자 이름입니다.
database_name= 원본 서버의 데이터베이스 이름

$ mysql -u username -p -h localhost database_name < dumpfile.sql   
Enter password:  
ERROR 1049 (42000): Unknown database 'database_name' 

루트로 MySQL에 로그인하여 데이터베이스를 작성하면database_name

mysql -u root  
create database database_name;  
create user username;# same username as the user from the database I got the dump from.  
grant all privileges on database_name.* to username@"localhost" identified by 'password';  
exit mysql

그런 다음 sql 덤프 Import를 다시 시도합니다.

$ mysql -u username -p database_name < dumpfile.sql  
Enter password:  
ERROR 1007 (HY000) at line 21: Can't create database 'database_name'; database exists

SQL 덤프 파일을 Import하려면 어떻게 해야 합니까?

이것은 MySQL에서 이미 알려진 버그입니다.

버그 42996
버그 40477

보시는 바와 같이 이것은 2008년부터 알려진 문제로 아직 수정되지 않았습니다.

회피책
먼저 Import할 데이터베이스를 작성해야 합니다.테이블은 필요 없어요.그런 다음 데이터베이스를 가져올 수 있습니다.

  1. 먼저 MySQL 명령줄 시작(필요한 경우 사용자 이름과 비밀번호 적용)
    C:\>mysql -u user -p

  2. 데이터베이스를 만들고 종료합니다.

    mysql> DROP DATABASE database;  
    mysql> CREATE DATABASE database;  
    mysql> Exit  
    
  3. 덤프 파일에서 선택한 데이터베이스 가져오기
    C:\>mysql -u user -p -h localhost -D database -o < dumpfile.sql

가져올 MySQL 서버의 IP 또는 도메인으로 localhost를 대체할 수 있습니다.mysql 프롬프트에서 DROP 명령어를 사용하는 이유는 빈 데이터베이스부터 시작해야 하기 때문입니다.

sql 파일을 열고 기존 데이터베이스를 작성하려는 행을 코멘트 아웃합니다.

데이터베이스 덤프에는 데이터베이스 작성에 대한 정보가 포함되어 있는 것 같습니다.따라서 MySQL 명령줄에 데이터베이스 이름을 지정하지 마십시오.새 데이터베이스를 만들고 데이터베이스로 전환하여 가져오기를 수행합니다.

직접 관리 또는 cpanel에서 데이터베이스를 작성하는 경우 메모장 또는 메모장++로 SQL을 편집하고 변경해야 합니다.CREATE DATABASE명령하다CREATE DATABASE IF NOT EXISTS22행의

명령줄을 사용하여 직접 데이터베이스를 만듭니다.그런 다음 다시 가져오십시오. 작동합니다.

언급URL : https://stackoverflow.com/questions/859313/error-importing-sql-dump-into-mysql-unknown-database-cant-create-database

반응형