首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql命令行复制mysql数据库

从mysql命令行复制mysql数据库
EN

Stack Overflow用户
提问于 2014-07-11 04:39:30
回答 3查看 10K关注 0票数 6

如何从mysql命令行将database1复制到database2

我知道mysqldump是一种选择,或者我可以

代码语言:javascript
复制
drop table if exists table2; 
create table table2 like table1;
insert into table2 select * from table1;

但是,我不想手动对每个表名执行此操作。这个是可能的吗?

这里的关键是“来自mysql命令行” mysql> ...

EN

回答 3

Stack Overflow用户

发布于 2014-07-11 04:44:40

首先创建重复的数据库:

代码语言:javascript
复制
CREATE DATABASE database2;

确保用户和权限都已到位,并且:

代码语言:javascript
复制
 mysqldump -u admin -p database1| mysql -u backup -pPassword database2; 

您还可以参考下面的链接在mysql上执行此操作。

http://dev.mysql.com/doc/refman/5.5/en/mysqldump-copying-to-other-server.html

票数 8
EN

Stack Overflow用户

发布于 2014-07-11 11:49:24

在存储过程中,循环对

代码语言:javascript
复制
SELECT table_name FROM information_schema.tables WHERE table_schema = 'sourceDB';

在每次迭代时,准备并执行一个动态SQL语句:

代码语言:javascript
复制
-- for each @tableName in the query above
CREATE TABLE targetDB.@tableName LIKE sourceDB.@tableName;
INSERT INTO targetDB.@tableName SELECT * FROM sourceDB.@tableName;

对不起,存储过程的MySQL语法非常麻烦,我现在太懒得写完整的代码了。

资源:

票数 1
EN

Stack Overflow用户

发布于 2014-07-11 07:02:03

Mysqldump也可以从mysql命令行使用。

使用:system (!):执行系统外壳命令

查询:

系统mysqldump -psecret -uroot -hlocalhost test > test.sql

系统mysql -psecret -uroot -hlocalhost < test.sql

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24690226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档