Art*_*hur 6 mysql ubuntu migration web-server
我正在迁移 Web 服务器。我有点坚持迁移 MySQL 数据库。我想知道在 Ubuntu Server 下在哪里可以找到迁移所需的 .SQL 文件。我认为 .SQL 文件是我唯一需要的文件。我将使用 FTP 和 SSH 进行迁移。任何帮助将不胜感激。
EEA*_*EAA 14
MySQL 不会将数据存储为 .sql 文件。它将数据存储为 MyISAM 或 InnoDB 文件,这些文件通常存储在 /var/lib/mysql 中。
如果需要导出到 SQL 文件,可以使用 mysqldump 命令执行此操作。
默认情况下,MySQL 将其文件存储在其中,/var/lib/mysql但如果默认位置已更改,那么找出文件保存位置的更可靠方法是检查配置文件:
grep datadir /etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
请注意,数据库文件不以 .SQL 结尾。部分取决于哪种引擎(MyISAM、InnoDB 等),但您会看到以 .MYD(MyISAM 数据)或 .MYI(MyISAM 索引)等结尾的文件。您将需要所有这些文件,因此请复制整个目录。
如果您打算通过直接复制来迁移文件,那么请记住,您首先要关闭数据库/etc/init.d/mysql stop,否则文件最终可能处于需要修复的不一致状态和/或可能包含不一致或损坏的数据. 如果您关闭数据库,那么使用以下命令复制文件是完全合理的:
rsync -av /var/lib/mysql/ remotehost:/var/lib/mysql/
Run Code Online (Sandbox Code Playgroud)
使用-awithrsync将保留文件的所有权和权限,这很重要。另请注意,rsync目录上的那些尾部斜杠很重要。
文件复制方法很方便,因为您不需要进行转储/恢复,但是请记住,如果您在不同的体系结构或数据库版本之间移动,它会导致问题。如果在数据库版本之间移动,那么您还需要阅读有关mysql_upgrade 的信息,它可以与上述rsync方法一起使用。
如果您想迁移数据而不必关闭数据库和/或您需要在不同版本的 mysql 或不同架构之间迁移,那么您可以使用mysqldump或mysqlhotcopy。