mysql - 파일 - sql 불러 오기




MySQL에서 명령 줄을 사용하여 SQL 파일을 가져 오는 방법은 무엇입니까? (20)

데이터베이스 가져 오기

  1. 운전하기 :

    command: d:
    
  2. MySQL 로그인

    command: c:\xampp\mysql\bin\mysql -u root -p
    
  3. 그것은 pwd를 요구할 것이다. 그것을 입력하십시오 :

    pwd
    
  4. 데이터베이스 선택

    use DbName;
    
  5. 파일 이름 제공

    \.DbName.sql
    

phpMyAdmin 에서 가져온 .sql 파일을 가지고 있습니다. 명령 줄을 사용하여 다른 서버로 가져 오려고합니다.

Windows Server 2008 R2 설치가 있습니다. .sql 파일을 C 드라이브 에 넣었습니다.이 명령을 시도했습니다.

database_name < file.sql

그것은 구문 오류가 작동하지 않습니다.

  • 문제없이이 파일을 어떻게 가져올 수 있습니까?
  • 먼저 데이터베이스를 만들어야합니까?

  1. MySQL 커맨드 라인 열기
  2. mysql bin 디렉토리의 경로를 입력 하고 Enter 키를 누릅니다.
  3. SQL 파일을 mysql 서버의 bin 폴더에 붙여 넣는다.
  4. MySQL에 데이터베이스를 생성하십시오.
  5. SQL 파일을 가져올 특정 데이터베이스를 사용하십시오.
  6. source databasefilename.sql입력 하고 Enter를 누릅니다.
  7. SQL 파일이 성공적으로 업로드되었습니다.

MySQL 실행 파일이있는 디렉토리로 이동하십시오. -u 는 사용자 이름이고 -p 는 암호를 묻는 프롬프트입니다.

C:\xampp\mysql\bin>mysql -u username -ppassword databasename < C:\file.sql

MySQL이있는 디렉토리로 이동하십시오.

 c:\mysql\bin\> mysql -u username -p password database_name <
 filename.sql

또한 모든 데이터베이스를 덤프하려면 -all-databases 옵션을 사용하고 데이터베이스 이름을 더 이상 지정하지 않아도됩니다.

mysqldump -u username -ppassword –all-databases > dump.sql

또는 SQLyog와 같은 일부 GUI 클라이언트를 사용하여이를 수행 할 수 있습니다.


거대한 파일을 가져 오는 데 걸리는 시간과 관련하여 가장 중요한 것은 MySQL의 기본 설정이 autocommit = true 이기 때문에 시간이 더 걸리는 것 autocommit = true . 파일을 가져 오기 전에 이것을 설정 한 다음 가져 오기가 어떻게 작동하는지 확인해야합니다.

당신은 다음과 같은 일을 할 필요가 있습니다.

mysql> use db_name;

mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;

나는 그것이 Mac OS X 사용하는 사람들에게 유용 할 수 있다고 생각했다.

/Applications/xampp/xamppfiles/bin/mysql -u root -p database < database.sql

xamppmamp 또는 다른 웹 서버로 대체하십시오.


나를 위해 일한 해결책은 아래와 같습니다.

Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;

다음 단계는 file.sql 을 MySQL 데이터베이스에 업로드하는 데 도움이됩니다.

1 단계 : file.sql.zip 을 모든 디렉토리에 업로드하고 압축을 풉니 다.
참고 : sudo apt-get install unzip : sudo apt-get unzip file.sql.zip
2 단계 : 이제 해당 디렉토리로 이동하십시오. 예 : cd /var/www/html

3 단계 : mysql -u username -p database-name < file.sql
비밀번호를 입력하고 업로드가 완료 될 때까지 기다립니다.


단일 데이터베이스를 가져 오려면 다음 명령을 사용하십시오.

mysql -u username -p password dbname < dump.sql

여러 데이터베이스 덤프를 가져 오려면 다음 명령을 사용하십시오.

mysql -u username -p password < dump.sql

대부분의 대답은 여기에 간단한 명령을 언급하는 반면

mysql -u database_user -p [db_name] <database_file.sql

오늘날 데이터베이스와 테이블은이 명령으로는 충분하지 않은 utf8- 데이터 정렬을 사용하는 것이 일반적입니다. 내 보낸 테이블에 utf8- 데이터 정렬이 있으면이 명령을 사용해야합니다.

mysql -u database_user -p --default-character-set = utf8 [db_name] <database_file.sql

Surley는 다른 문자셋에도 사용할 수 있습니다. 올바른 표기법을 표시하는 방법은 다음과 같습니다.

https://dev.mysql.com/doc/refman/5.7/en/show-collation.html

한 논평은 데이터베이스가 존재하지 않는다면 빈 데이터베이스가 먼저 생성되어야한다고 언급했다. 어떤 경우에는 맞지만 내보내기 파일에 따라 달라질 수 있습니다. 내 보낸 파일에 이미 데이터베이스를 만드는 명령이 포함되어 있으면 데이터베이스를 별도의 단계로 작성하지 않아도되므로 가져 오기 오류가 발생할 수 있습니다. 따라서 가져 오기에서 어떤 명령이 파일에 포함되어 있는지 먼저 살펴보고 내보내는 것이 좋습니다. 특히 파일이 매우 커서 편집기에서 읽기 어려울 경우 유용합니다.

여기에 나열되고 설명 된 명령 매개 변수가 더 많이 있습니다.

https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

다른 데이터베이스 버전을 사용하는 경우에도 해당 버전의 설명서를 검색하는 것이 좋습니다. 언급 된 링크는 MySQL 버전 5.7을 참조합니다.


데이터베이스를 SQL 파일로 덤프하려면 다음 명령을 사용하십시오.

mysqldump -u username -p database_name > database_name.sql

SQL 파일을 데이터베이스로 가져 오기 (SQL 파일과 동일한 디렉토리에 있는지 또는 파일의 전체 경로를 제공하는지 확인)

mysql u -username -p database_name < database_name.sql

때로는 정의 된 포트와 해당 데이터베이스의 서버 IP 주소 가 중요합니다 ...

mysql -u user -p user -h <Server IP> -P<port> (DBNAME) < DB.sql 

백업을 위해 BAT 파일을 만들고 작업 스케줄러를 사용하여이 BAT 파일을 실행하십시오. 데이터베이스를 백업합니다. 다음 줄을 복사하여 Notepad 붙여 넣은 다음 .bat 파일을 저장하고 시스템에서 실행하십시오.

@echo off
for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
for /f %%i in ('time /t') do set DATE_TIME=%%i
for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i

"C:\Program Files\MySQL\mysql server 5.5\bin\mysqldump" -u username -ppassword mysql>C:/%DATE_DAY%_%DATE_TIME%_database.sql

시험:

mysql -u username -p database_name < file.sql

MySQL 옵션을 확인하십시오.

주 1 : SQL 파일 file.sql 의 전체 경로를 사용하는 것이 더 좋습니다.

주 2 : 원본 데이터베이스의 루틴 및 트리거를 유지하려면 -R--triggers 를 사용하십시오. 그들은 기본적으로 복사되지 않습니다.


위의 문제에 대한 모든 대답 중에서 이것은 가장 좋은 답변입니다.

 mysql> use db_name;
 mysql> source file_name.sql;

이 명령을 사용하여 명령 줄에서 SQL을 가져올 수 있습니다.

mysql -u username -p password db_name < file.sql

예를 들어, 사용자 이름이 root 이고 암호가 password . 그리고 데이터베이스 이름은 bank 이고 SQL 파일은 bank.sql 입니다. 그렇다면 다음과 같이하면됩니다.

mysql -u root -p password bank < bank.sql

SQL 파일의 위치를 ​​기억하십시오. SQL 파일이 Desktop 폴더 / 디렉토리에 있으면 데스크탑 디렉토리로 이동하여 다음과 같은 명령을 입력하십시오.

~ ? cd Desktop
~/Desktop ? mysql -u root -p password bank < bank.sql

그리고 당신이 Project 디렉토리에 있고 SQL 파일이 Desktop 디렉토리에 있다면. Project 디렉토리에서이 파일에 액세스하려면 다음과 같이 할 수 있습니다.

~/Project ? mysql -u root -p password bank < ~/Desktop/bank.sql

한 번에 여러 SQL 파일을 가져 오려면 다음을 사용하십시오.

# Unix-based solution
for i in *.sql;do mysql -u root -pPassword DataBase < $i;done

간단한 가져 오기 :

# Unix-based solution
mysql -u root -pPassword DataBase < data.sql

WAMP :

#mysqlVersion replace with your own version
C:\wamp\bin\mysql\mysqlVersion\bin\mysql.exe -u root -pPassword DataBase < data.sql

XAMPP의 경우 :

C:\xampp\mysql\bin\mysql -u root -pPassword DataBase < data.sql

--force 옵션을 추가하십시오.

mysql -u username -p database_name --force < file.sql

https://.com/a/17666285/1888983 유사하게
나를위한 주요 차이점 :

  1. 데이터베이스가 먼저 존재해야합니다.
  2. -p 와 암호 사이에 공백이 없어야합니다.
shell> mysql -u root -ppassword #note: no space between -p and password
mysql> CREATE DATABASE databasename;
mysql> using databasename;
mysql> source /path/to/backup.sql

MariaDB에서 fedora 26 실행.


mysql --user=[user] --password=[password] [database] < news_ml_all.sql




import