首先在 Linux 上的用户主文件夹中创建一个包含 mysql root 密码的 .my.cnf 文件。
在 Windows 上,存在 .my.ini 或具有相同目的的东西。这样一来,您就不必在接下来的步骤中重新输入密码很多次,我担心您很可能会重复几次,直到正确为止。 :)
由于 unix/linux 和 windows 有不同的文件保存方式,您很可能在简单的复制恢复过程中遇到错误,具体取决于您复制文件的方式。
您最好的选择可能是将原始mysql 文件夹复制到另一台Windows 机器并相应地保存它们,以便mysql 可以找到它们。 (当然,使用已安装的mysql 实例。)如果没有立即找到数据库,我不知道您可能还需要什么,因为我之前从来没有这样做过,并且这里没有测试设置来检查这种情况出去。
当通过 WINDOWS 服务器上的mysql 找到数据库时,从mysql cli 提示符中查找数据库使用的编码等:
SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
然后从 MYSQL CLI 在 LINUX 服务器上创建一个具有相同名称和相同编码的新数据库:
create database <db-name> character set <charset> collate <collation>;
然后在 WINDOWS 服务器上的 CMD 窗口中,执行 mysqldump,这在 Windows 上应该看起来很熟悉,就像在 linux 上一样:
mysqldump <db-name> > <db-name>.sql
然后将转储复制到 LINUX 服务器并重放它:
mysql <db-name> < <db-name>.sql
之后,您将不得不重新创建一个用户(如果您知道您的 Web 应用程序使用哪个用户和密码来访问数据库,请使用这些凭据创建一个新用户并授予他对您的数据库的完全访问权限。
如果您碰巧不知道凭据,请创建一个任意用户,然后在您的 Web 应用程序的配置文件中更改数据库凭据。
如果遇到问题,请检查您复制的文件的unix文件权限,以便mysql可以访问它们。
祝你好运,伙计。