원격 서버에서 로컬 컴퓨터로 mysql 데이터베이스 복사
VPN에서 리모트서버에 SSH 액세스 할 수 없습니다.
콘솔을 통해 원격 데이터베이스에 연결할 수 있습니다.
mysql -u username -p -h remote.site.com
리모트 데이터베이스를 로컬컴퓨터에 복제하려고 합니다.
mysqldump -u username -p -h remote.site.com mysqldump | mysql -u root -ppassword webstuff
그리고 나는 실수를 했다.
mysqldump: Got error: 1045: Access denied for user 'webstaff'@'10.75.1.2'
(using password: YES) when trying to connect
원격 서버에서 로컬 컴퓨터로 mysql 데이터베이스를 복사하려면 어떻게 해야 합니까?
다음 명령어가 정상적으로 동작한다고 가정합니다.
mysql -u username -p -h remote.site.com
의 . " " "mysqldump
동일하며 를 " Dump" 로 합니다.stdout
출력을 컴퓨터의 로컬파일로 리다이렉트 합니다.
mysqldump -u username -p -h remote.site.com DBNAME > backup.sql
DBNAME
컴퓨터에 다운로드할 데이터베이스의 이름을 입력합니다.
구문을 확인하고 명령어를 한 번에 하나씩 실행한 후 출력을 확인합니다.
mysqldump -u remoteusername -p remotepassword -h your.site.com databasename > dump.sql
mysql -u localusername -p localpassword databasename < dump.sql
모든 비밀번호를 대조하면 파이프를 사용할 수 있습니다.
대부분의 경우, 당사의 데이터베이스는 매우 크고, 앞서 설명한 바와 같이 리모트 머신에서 다른 머신으로 직접 덤프하는 데 시간이 걸립니다.
이 경우 MYSQLDUMP 명령을 사용하여 원격 시스템에서 덤프를 가져올 수 있습니다.
MYSQLDUMP - uuser -p --all-databases > file_name 。sql
Linux SCP 명령어를 사용하여 리모트서버에서 머신으로 파일을 전송할 수 있습니다.
scp user@remote_ip:~/sql_file_name.sql./
여기에는 다음과 같은 다양한 이유가 있습니다.
- 잘못된 비밀번호를 사용하고 있습니다.
- 클라이언트 호스트의 IP 주소를 이름으로 확인하려고 할 때 MySQL 서버에서 오류가 발생했습니다.
- 사용자에게 권한이 부여되지 않음
다음의 몇개의 순서를 시험할 수 있습니다.
리모트 유저의 패스워드를 리셋 하려면 , 다음의 순서에 따릅니다.
SET PASSWORD FOR some_user@ip_addr_of_remote_client=PASSWORD('some_password');
사용자에게 액세스 권한을 부여하려면:
GRANT SELECT, INSERT, UPDATE, DELETE, LOCK TABLES ON YourDB.* TO user@Host IDENTIFIED by 'password';
이것이 도움이 되기를 바랍니다. 그렇지 않으면 문서를 검토해야 합니다.
이 요지를 확인해 주세요.
https://gist.github.com/ecdundar/789660d830d6d40b6c90
#!/bin/bash
# copymysql.sh
# GENERATED WITH USING ARTUR BODERA S SCRIPT
# Source script at: https://gist.github.com/2215200
MYSQLDUMP="/usr/bin/mysqldump"
MYSQL="/usr/bin/mysql"
REMOTESERVERIP=""
REMOTESERVERUSER=""
REMOTESERVERPASSWORD=""
REMOTECONNECTIONSTR="-h ${REMOTESERVERIP} -u ${REMOTESERVERUSER} --password=${REMOTESERVERPASSWORD} "
LOCALSERVERIP=""
LOCALSERVERUSER=""
LOCALSERVERPASSWORD=""
LOCALCONNECTION="-h ${LOCALSERVERIP} -u ${LOCALSERVERUSER} --password=${LOCALSERVERPASSWORD} "
IGNOREVIEWS=""
MYVIEWS=""
IGNOREDATABASES="select schema_name from information_schema.SCHEMATA where schema_name != 'information_schema' and schema_name != 'mysql' and schema_name != 'performance_schema' ;"
# GET A LIST OF DATABASES
databases=`$MYSQL $REMOTECONNECTIONSTR -e "${IGNOREDATABASES}" | tr -d "| " | grep -v schema_name`
# COPY ALL TABLES
for db in $databases; do
# GET LIST OF ITEMS
views=`$MYSQL $REMOTECONNECTIONSTR --batch -N -e "select table_name from information_schema.tables where table_type='VIEW' and table_schema='$db';"
IGNOREVIEWS=""
for view in $views; do
IGNOREVIEWS=${IGNOREVIEWS}" --ignore-table=$db.$view "
done
echo "TABLES "$db
$MYSQL $LOCALCONNECTION --batch -N -e "create database $db; "
$MYSQLDUMP $REMOTECONNECTIONSTR $IGNOREVIEWS --compress --quick --extended-insert --skip-add-locks --skip-comments --skip-disable-keys --default-character-set=latin1 --skip-triggers --single-transaction $db | mysql $LOCALCONNECTION $db
done
# COPY ALL PROCEDURES
for db in $databases; do
echo "PROCEDURES "$db
#PROCEDURES
$MYSQLDUMP $REMOTECONNECTIONSTR --compress --quick --routines --no-create-info --no-data --no-create-db --skip-opt --skip-triggers $db | \
sed -r 's/DEFINER=`[^`]+`@`[^`]+`/DEFINER=CURRENT_USER/g' | mysql $LOCALCONNECTION $db
done
# COPY ALL TRIGGERS
for db in $databases; do
echo "TRIGGERS "$db
#TRIGGERS
$MYSQLDUMP $REMOTECONNECTIONSTR --compress --quick --no-create-info --no-data --no-create-db --skip-opt --triggers $db | \
sed -r 's/DEFINER=`[^`]+`@`[^`]+`/DEFINER=CURRENT_USER/g' | mysql $LOCALCONNECTION $db
done
# COPY ALL VIEWS
for db in $databases; do
# GET LIST OF ITEMS
views=`$MYSQL $REMOTECONNECTIONSTR --batch -N -e "select table_name from information_schema.tables where table_type='VIEW' and table_schema='$db';"`
MYVIEWS=""
for view in $views; do
MYVIEWS=${MYVIEWS}" "$view" "
done
echo "VIEWS "$db
if [ -n "$MYVIEWS" ]; then
#VIEWS
$MYSQLDUMP $REMOTECONNECTIONSTR --compress --quick -Q -f --no-data --skip-comments --skip-triggers --skip-opt --no-create-db --complete-insert --add-drop-table $db $MYVIEWS | \
sed -r 's/DEFINER=`[^`]+`@`[^`]+`/DEFINER=CURRENT_USER/g' | mysql $LOCALCONNECTION $db
fi
done
echo "OK!"
원격 서버에서 로컬 컴퓨터로 mysql 데이터베이스 복사
저도 같은 문제에 부딪혔어요.그리고 다른 대답으로는 끝낼 수 없었어요최종적인 방법은 다음과 같습니다(예, 초보자용 튜토리얼).
1단계: 로컬 phpmyadmin에 새 데이터베이스를 만듭니다.
스텝 2: 리모트서버의 데이터베이스를 SQL 파일로 덤프합니다(여기서는 Putty/SSH를 사용했습니다).
mysqldump --host="mysql5.domain.com" --user="db231231" --password="DBPASSWORD" databasename > dbdump.sql
3: 【3】의 dbdump.sql
FTP 클라이언트를 통한 파일(루트 폴더에 있어야 함)
4:서 "4: sql " " localhost " 는 " " " 입니다.mysql.exe
가 설치되어 있습니다.uniform-server를 사용하고 있습니다.이것은, 다음의 URL 입니다.C:\uniserver\core\mysql\bin\
XAMPP를 사용하면 다음과 같습니다.C:\xampp\mysql\bin
순서 5: 실행mysql.exe
다음과 같습니다.
mysql.exe -u root -pYOURPASSWORD YOURLOCALDBNAME < dbdump.sql
스텝 6: 잠깐만요...파일 크기에 따라 다릅니다.새로 생성된 테이블을 보면 phpmyadmin에서 진행 상황을 확인할 수 있습니다.
스텝 7: 완료.로컬 phpmyadmin으로 이동하여 데이터베이스가 전체 데이터로 채워졌는지 확인합니다.
도움이 됐으면 좋겠다.행운을 빕니다.
주 1: uniformer-server 부팅 시 mysql 비밀번호를 지정할 수 있습니다.이것은 위에서 YOUR PASSWORD에 사용해야 하는 것입니다.
주의 2: 로그인이 기능하지 않고 패스워드에 문제가 있는 경우 패스워드에 다음과 같은 특수문자가 포함되어 있는지 확인합니다.!
만약 그렇다면, 당신은 아마 그들을 탈출해야 할 것이다.\!
.
주 3: Import 후 로컬 DB에서 모든 mysql 데이터를 찾을 수 없는 경우 dbdump의 mysql 명령에 문제가 있을 수 있습니다.sql
oneliner를 사용하는 것이 좋습니다.
리모트 덤프DB에서 로컬로DB:
mysqldump -uroot -pMypsw -h remoteHost remoteDB | mysql -u root -pMypsw localDB
localDB를 리모트로 덤프합니다.DB:
mysqldump -uroot -pmyPsw localDB | mysql -uroot -pMypsw -h remoteHost remoteDB
C:\Users\>mysqldump -u root -p -h ip address --databases database_name -r sql_file.sql
Enter password: your_password
이 답은 리모트서버가 아니라 로컬서버입니다.논리는 같아야 합니다.로컬 컴퓨터 MAMP 데이터베이스를 로컬 데스크톱 컴퓨터 폴더에 복사 및 백업하려면 콘솔로 이동하십시오.
mysqldump -h YourHostName -u YourUserNameHere -p YourDataBaseNameHere > DestinationPath/xxxwhatever.sql
저 같은 경우에는YourHostName
이었다localhost
.DestinationPath
는 다운로드 경로입니다.원하는 행선지 폴더를 드래그 앤 드롭 할 수 있습니다.그러면 경로가 붙여넣어집니다.
그런 다음 암호를 물어볼 수 있습니다.
Enter password: xxxxxxxx
언급URL : https://stackoverflow.com/questions/15435144/copy-mysql-database-from-remote-server-to-local-computer
'programing' 카테고리의 다른 글
PHP url 매개 변수가 있는지 확인합니다. (0) | 2022.10.31 |
---|---|
Xcode 4+의 Python? (0) | 2022.10.31 |
갱신일 + mysql 1년 (0) | 2022.10.31 |
PHP 등호(== 이중 등호)와 아이덴티티(=== 삼중 등호) 비교 연산자는 어떻게 다릅니까? (0) | 2022.10.31 |
MariaDB 데이터를 이전 버전으로 다운그레이드합니다. (0) | 2022.10.31 |