我正在迁移web服务器。我有点困在迁移MySQL数据库上了。我想知道如何在Ubuntu下找到迁移所需的.SQL文件。我认为.SQL文件是我唯一需要的文件。我将使用FTP和SSH进行迁移。任何帮助都将不胜感激。
发布于 2011-12-17 21:00:27
MySQL不将数据存储为.sql文件。它将数据存储为MyISAM或InnoDB文件,这些文件通常存储在/var/lib/mysql中。
如果需要导出到SQL文件,可以使用mysqldump命令进行导出。
发布于 2011-12-17 21:15:20
默认情况下,MySQL将其文件存储在/var/lib/mysql中,但如果更改了默认位置,则查找文件保存位置的一个更可靠的方法是检查配置文件:
grep datadir /etc/mysql/my.cnf请注意,数据库文件并不以.SQL结尾,部分取决于哪种引擎(MyISAM、InnoDB等),但是您将看到以.MYD (MyISAM data)或.MYI (MyISAM索引)等结尾的文件。您需要所有这些文件,所以复制整个目录。
如果要通过直接复制迁移文件,请记住,首先要使用/etc/init.d/mysql stop关闭数据库,否则文件可能会处于不一致的状态,需要修复和/或可能包含不一致或损坏的数据。如果您关闭了数据库,那么使用以下方法复制文件是完全合理的:
rsync -av /var/lib/mysql/ remotehost:/var/lib/mysql/将-a与rsync结合使用将保留对文件的所有权和权限,这一点很重要。还请注意,对于rsync,目录上的尾随斜线很重要。
文件复制方法很方便,因为您不需要进行转储/还原,但是要记住,如果您在不同的体系结构或数据库版本之间移动,它将导致问题。如果在数据库版本之间移动,那么您还需要阅读mysql_升级,它可以使用上面的rsync方法。
如果您想迁移数据而不必关闭数据库和/或您需要在mysql的不同版本或不同架构之间迁移,那么您可以使用米斯德或mysqlhotcopy。
发布于 2011-12-17 21:02:28
您需要使用.SQL创建自己的mysqldump -u <User> -p <Database Name> > dump.sql文件。
然后,您需要使用mysql -u <User> -p < dump.sql将其导入到新服务器。
显然,用适当的信息代替你。
https://serverfault.com/questions/341974
复制相似问题