数据库
首页 > 数据库> > 从mysql中复制一个mysql数据库?

从mysql中复制一个mysql数据库?

作者:互联网

这可能是一个远景,但..
是否可以在存储过程中使用查询或多个查询复制整个数据库布局(表,视图,过程,所有内容)?

基本上寻找相同的功能,就像我会像这样使用mysqldump

# mysqldump -u root -ppassword --no-data --routines dbname > file
  //create database copyofdbname
# mysql -u root -ppassword copyofdbname < file

是否可以在没有任何外部工具的情况下在mysql过程中执行此操作?

我想我可以通过使用’show tables’来执行表格,然后迭代结果以获得每个表的’create table’声明并将它们转发到新数据库中.
这只是猜测,不知道如何以这种方式从数据库中复制存储过程.

解决方法:

基本上没有,MYSql没有重复的数据库功能.一些外部工具可能,但我不知道.我使用php完成了这个过程,但我确信它可以使用存储过程或任何其他中间层应用程序完成.这是我在高级别中遵循的步骤.我假设你知道如何做每一步的细节.

>创建新数据库
>查询该数据库的所有表,我有权访问information_schema,所以我只是从那里做了一个选择.
>环绕桌子.

>运行类似这样的东西CREATE TABLE dbnew.tableA LIKE dbold.tableA它将完美复制表的结构
> Insert select from new db / table,从旧的db / table中选择*

>吃午餐,或根据您的数据库大小,观看电影或重播“IT人群”
>享受您复制的数据库.

修正案:在我之前的研究中,我发现有一个版本的mySql有一个重复的数据库命令,但它是错误的,并在未来的版本中取出.即使您运行的是具有该命令的版本,您仍然可以更好地使用这些步骤而不是使用该命令.

标签:mysql,stored-procedures,duplication
来源: https://codeday.me/bug/20190630/1338447.html