Linux sysadmin 기술이 필요하지 않기 때문에 Linode에서 멀어졌습니다. 보다 멍청한 서비스로 전환하기 전에 MySQL 데이터베이스의 내용을 다운로드해야합니다. 커맨드 라인에서 이것을 할 수있는 방법이 있습니까?
Linux sysadmin 기술이 필요하지 않기 때문에 Linode에서 멀어졌습니다. 보다 멍청한 서비스로 전환하기 전에 MySQL 데이터베이스의 내용을 다운로드해야합니다. 커맨드 라인에서 이것을 할 수있는 방법이 있습니까?
답변:
mysqldump 명령 행 함수를 사용하여이를 수행 할 수 있습니다 .
예를 들면 다음과 같습니다.
전체 DB 인 경우 :
$ mysqldump -u [uname] -p db_name > db_backup.sql
그것이 모두 DB라면 다음과 같습니다.
$ mysqldump -u [uname] -p --all-databases > all_db_backup.sql
DB 내의 특정 테이블 인 경우 :
$ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql
gzip을 사용하여 출력을 자동 압축하는 것까지 가능합니다 (DB가 매우 큰 경우).
$ mysqldump -u [uname] -p db_name | gzip > db_backup.sql.gz
원격 으로이 작업을 수행 하고 해당 서버에 액세스 할 수 있다면 다음이 작동합니다 (MySQL 서버가 포트 3306에 있다고 가정).
$ mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name > db_backup.sql
.sql
명령 줄을 실행하는 폴더에 파일을 놓아야합니다 .
편집 : CLI 명령에 비밀번호가 포함되지 않도록 업데이트하려면 비밀번호 -p
없이 옵션을 사용하십시오 . 메시지를 표시하고 기록하지 않습니다.
wget
또는 scp
내장 한 번 말했다 파일을 검색하는 데 필요합니다.
--result-file=db_backup.sql
대신 사용해야 합니다 > db_backup.sql
. MySQL 문서 에서 인용 : "UTF-16은 연결 문자 세트로 허용되지 않으므로 (허용 되지 않는 클라이언트 문자 세트 참조 ) 덤프 파일이 올바르게로드되지 않습니다.이 문제를 해결하려면 --result-file
출력을 작성하는 옵션을 사용하십시오 . ASCII 형식 "
최소한 mysql의 최신 버전에서는 패스를 명령에 직접 넣을 수 없습니다.
당신은 실행해야합니다 :
mysqldump -u [uname] -p db_name > db_backup.sql
그런 다음 암호를 묻습니다.
-p
옵션을 선택하고 실제 암호 트릭 않습니다
명령 프롬프트를 열고이 명령을 직접 입력하십시오. mysql에 들어 가지 말고이 명령을 입력하십시오.
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
MySQL 설치 디렉토리로 이동하여 거기서 cmd를여십시오. 그런 다음 아래 명령을 실행하여 데이터베이스 백업을 받으십시오.
mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
cmd를 입력 mysqldump
하거나 mysqldump --help
입력하면how to use
여기 내 cmd 결과가 있습니다.
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
명령 행에 비밀번호를 입력하려는 경우. 특수 문자로 인해 문제가 발생하지 않도록 따옴표로 묶는 것이 좋습니다.
mysqldump -h'my.address.amazonaws.com' -u'my_username' -p'password' db_name > /path/backupname.sql
이것을 사용하십시오. 이름이 archiedb 인 데이터베이스가있는 경우 다음을 사용하십시오. mysql -p --databases archiedb> /home/database_backup.sql
이것이 리눅스라고 가정하면 백업 파일을 저장할 위치를 선택하십시오.