我在哪里可以findUbuntu服务器上的.SQL文件?

我正在迁移Web服务器。 我有点在迁移MySQL数据库。 我想知道在Ubuntu服务器下,在哪里可以find需要迁移的.SQL文件。 我认为.SQL文件是我唯一需要的。 我将通过FTP和SSH进行迁移。 任何帮助将不胜感激。

MySQL不会将数据存储为.sql文件。 它将数据存储为MyISAM或InnoDB文件,这些文件通常存储在/ var / lib / mysql中。

如果需要导出到SQL文件,可以使用mysqldump命令来完成。

默认情况下,MySQL将文件存储在/var/lib/mysql但是如果默认位置已被更改,那么find文件保存位置的更可靠的方法是检查configuration文件:

 grep datadir /etc/mysql/my.cnf 

请注意,数据库文件不以.SQL结尾。 部分取决于什么样的引擎(MyISAM,InnoDB等),但是你会看到以.MYD(MyISAM数据)或.MYI(MyISAM索引)等为结尾的文件。 你会想要所有这些文件,所以复制整个目录。

如果您要通过直接复制来迁移文件,请记住,您将首先使用/etc/init.d/mysql stop来closures数据库,否则这些文件最终会以不一致的状态进行修复和/或可能包含不一致或损坏的数据。 如果closures数据库,那么复制文件是完全合理的:

 rsync -av /var/lib/mysql/ remotehost:/var/lib/mysql/ 

rsync使用-a将保留重要文件的所有权和权限。 还要注意,在rsync那些在目录上的斜杠是很重要的。

文件复制方法非常方便,因为您不需要执行转储/恢复操作,但请记住,如果在不同的体系结构或数据库版本之间移动,将会导致问题。 如果在数据库版本之间移动,那么您还需要阅读可以使用上述rsync方法的mysql_upgrade 。

如果你想迁移数据,而不必closures数据库和/或你需要在不同版本的MySQL或不同的体系结构之间迁移,那么你可以使用mysqldump或mysqlhotcopy 。

您将需要使用mysqldump -u <User> -p <Database Name> > dump.sql创build自己的.SQL文件。

然后,您需要使用mysql -u <User> -p < dump.sql将其导入到新服务器中。

显然,用适当的信息取代你。