[mysql] 한 데이터베이스에서 다른 데이터베이스로 테이블을 복사하는 가장 쉬운 방법은 무엇입니까?

데이터베이스가 다른 사용자에있을 때 한 데이터베이스의 테이블에서 다른 데이터베이스의 테이블로 데이터를 복사하는 가장 좋은 방법은 무엇입니까?

사용할 수 있다는 것을 알고 있습니다

INSERT INTO database2.table2 SELECT * from database1.table1

그러나 여기에서 문제는 모두이다 database1과는 database2다른 MySQL의 사용자 받고있다. 따라서 user1액세스 database1user2가능 database2합니다. 어떤 생각?



답변

쉘 액세스 권한이 mysqldump있는 경우 컨텐츠를 덤프하여에 database1.table1파이프 할 mysqldatabase2있습니다. 여기서 문제 table1는 여전히 그렇습니다 table1.

mysqldump --user=user1 --password=password1 database1 table1 \
| mysql --user=user2 --password=password2 database2

다른 쿼리 로 이름을 바꿔야 table1할 수도 있습니다 table2. 다른 방법으로 sed를 사용하여 파이프 간 table1을 table2로 변경할 수 있습니다.

mysqldump --user=user1 --password=password1 database1 table1 \
| sed -e 's/`table1`/`table2`/' \
| mysql --user=user2 --password=password2 database2

table2가 이미 존재하면 테이블 생성을 만들지 않는 첫 번째 mysqldump에 매개 변수를 추가 할 수 있습니다.

mysqldump --no-create-info --no-create-db --user=user1 --password=password1 database1 table1 \
| sed -e 's/`table1`/`table2`/' \
| mysql --user=user2 --password=password2 database2


답변

CREATE TABLE db1.table1 SELECT * FROM db2.table1

여기서 db1은 대상이고 db2는 소스입니다.


답변

PHPMyAdmin 을 사용하는 경우 정말 간단 할 수 있습니다. 다음 데이터베이스가 있다고 가정하십시오.

DB1 & DB2

DB1에는 DB2에 복사하려는 테이블 사용자가 있습니다.

PHPMyAdmin에서 DB1을 연 다음 users 테이블로 이동하십시오.

이 페이지에서 오른쪽 상단 의 “작업” 탭을 클릭하십시오 . 조작 아래 에서 (database.table)에 테이블 복사 섹션을 찾으십시오 .

당신은 끝났습니다!


답변

MySql Workbench : 강력 추천

MySql Workbench의 데이터베이스 마이그레이션 도구

마이그레이션 문제를 쉽게 처리 할 수 ​​있습니다. MySql과 SqlServer간에 선택된 데이터베이스의 선택된 테이블을 마이그레이션 할 수 있습니다. 반드시 시도해보십시오.


답변

MySQL에 Navicat을 사용합니다 …

모든 데이터베이스 조작이 쉬워집니다!

Navicat에서 두 데이터베이스를 모두 선택한 다음 사용하면됩니다.

 INSERT INTO Database2.Table1 SELECT * from Database1.Table1


답변

나는 이것이 오래된 질문이라는 것을 알고 여기에 도착하는 사람이 더 나은 접근 방식을 얻도록 대답합니다.

5.6.10부터는 할 수 있습니다

CREATE TABLE new_tbl LIKE orig_tbl;

https://dev.mysql.com/doc/refman/5.7/en/create-table-like.html 문서를 참조하십시오.


답변

테이블이 동일한 mysql 서버에 있으면 다음을 실행할 수 있습니다

CREATE TABLE destination_db.my_table SELECT * FROM source_db.my_table;
ALTER TABLE destination_db.my_table ADD PRIMARY KEY (id);
ALTER TABLE destination_db.my_table MODIFY COLUMN id INT AUTO_INCREMENT;