重复整个MySQL数据库

Ada*_*sey 86 mysql database linux

是否可以在Linux服务器上复制整个MySQL数据库?

我知道我可以使用导出和导入,但原始数据库大于25MB,所以这不是理想的.

是否可以使用mysqldump或直接复制数据库文件?

Vin*_*nie 167

首先创建重复数据库:

CREATE DATABASE duplicateddb;
Run Code Online (Sandbox Code Playgroud)

确保用户和权限全部到位,并且:

 mysqldump -u admin -p originaldb | mysql -u backup -pPassword duplicateddb; 
Run Code Online (Sandbox Code Playgroud)

  • 我不认为第二个命令行的第二部分中"-p"和"password"之间应该有空格 (28认同)
  • 没有空间不应该在那里!答案是这样的.mysql手册页说: - password [= password], - p [password]连接服务器时使用的密码.如果使用短选项表单(-p),则选项和密码之间不能有空格.如果在命令行上省略--password或-p选项后面的密码值,则mysql会提示输入密码值.在命令行上指定密码应该被认为是不安全的.请参见第6.1.2.1节"P ...的最终用户指南" (15认同)
  • 请注意,mysqldump默认备份触发器但不备份存储过程,在这种情况下添加`--routines`作为选项. (2认同)
  • 这个答案当然有效,但问题指出“我知道我可以使用导出和导入,但原始数据库>25MB,所以这并不理想”,这个答案表明基本上是导出和导入。 (2认同)

Pet*_*ist 16

到远程服务器

mysqldump mydbname | ssh host2 "mysql mydbcopy"
Run Code Online (Sandbox Code Playgroud)

到本地服务器

mysqldump mydbname | mysql mydbcopy
Run Code Online (Sandbox Code Playgroud)


Pau*_*lin 5

我有时会做一个mysqldump并将输出传递给另一个mysql命令,以将其导入另一个数据库.

mysqldump --add-drop-table -u wordpress -p wordpress | mysql -u wordpress -p wordpress_backup
Run Code Online (Sandbox Code Playgroud)