如何从mysql命令行将database1复制到database2?
我知道mysqldump是一种选择,或者我可以
drop table if exists table2;
create table table2 like table1;
insert into table2 select * from table1;但是,我不想手动对每个表名执行此操作。这个是可能的吗?
这里的关键是“来自mysql命令行” mysql> ...
发布于 2014-07-11 04:44:40
首先创建重复的数据库:
CREATE DATABASE database2;确保用户和权限都已到位,并且:
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
发布于 2014-07-11 11:49:24
在存储过程中,循环对
SELECT table_name FROM information_schema.tables WHERE table_schema = 'sourceDB';在每次迭代时,准备并执行一个动态SQL语句:
-- for each @tableName in the query above
CREATE TABLE targetDB.@tableName LIKE sourceDB.@tableName;
INSERT INTO targetDB.@tableName SELECT * FROM sourceDB.@tableName;对不起,存储过程的MySQL语法非常麻烦,我现在太懒得写完整的代码了。
资源:
发布于 2014-07-11 07:02:03
Mysqldump也可以从mysql命令行使用。
使用:system (!):执行系统外壳命令。
查询:
系统mysqldump -psecret -uroot -hlocalhost test > test.sql
系统mysql -psecret -uroot -hlocalhost < test.sql
https://stackoverflow.com/questions/24690226
复制相似问题