我在 Windows7 上使用 MySQL 5.5 和 MySQLWorkbench。我已经在我的 C: 驱动器上成功创建了一个数据库,但我想将它移动到我的 E: 驱动器。我停止了 mysqld 守护进程并编辑了 my.ini 文件以将 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" 更改为 datadir="E:/MySQL/data/"。我将数据从 C: 位置复制到 E: 位置。我可以启动mysqld进程,但是我创建的数据库没有出现。有人会对我做错什么有任何解释吗?
4 回答
当我试图移动我的数据库时,我遇到了一个问题,即 Windows 对新数据文件夹的权限与原始文件夹不同。您可以通过转到文件夹的属性然后选择安全选项卡来检查正确的用户是否有权访问新文件夹。
因为我希望我的 innodb 数据库位于另一个分区上,所以我从 MySQL Workbench 中停止了 MySQL。我将我的 innodb 数据库 ibdata1 以及 MySQL 在我的 C:\ProgramData\MySQL\ 文件夹中自动创建的 2 个日志文件复制到我的 E: 分区上的一个新文件夹中。我在 my.ini 中添加了以下内容:
innodb_data_home_dir = "E:/MySQL Data"
现在,当我启动我的数据库时,对 E: 驱动器中的 ibdata1 进行了所有更改。
基本上您想将旧目录中的所有内容复制到新目录中。确保在执行此操作时不要复制二进制日志(如果有,它们看起来像 mysql-bin.001 等,也不要复制 mysql-bin.index,因为它包含对旧二进制日志的真实路径引用) . 一旦你这样做了,你应该能够重新启动 mysql 守护进程并登录以查看数据库。
PS:未经测试,但应该可以工作。
使用此工具将数据库转储到磁盘http://sourceforge.net/projects/mysqlbutool/然后使用此工具将其还原到新服务器http://www.webyog.com/