手动传输 MySQL 数据库

Dav*_*ong 4 mysql mac

我有一个外部硬盘驱动器,它具有旧机器的不可启动克隆(我不再拥有)。那台机器上存在的一件事是 MySQL 安装(v 5.5.19),其中包含我想保存的几个数据库。

我四处寻找,发现有一个{root}/usr/local/mysql/data目录,其中包含似乎与我要保存的数据库相对应的子目录。

我复制了这些目录之一,我的主要机(也运行MySQL 5.5.19),并得到了正确的文件权限和所有权都设置备份(_mysql:wheel0660在.FRM文件等)。

当我现在登录 PHPMyAdmin 时,我可以看到左侧列出的数据库,括号中的表数正确。但是,当我尝试连接到该数据库时,它说数据库中没有表。

显然,我错过了一些东西。我错过了什么,还有其他方法可以更容易地做到这一点吗?也许,我可以更改无数 .cnf 文件以指向外部硬盘驱动器上的 MySQL 文件,然后mysqldump在这些文件上使用吗?我需要更改哪些文件?

Dav*_*ong 5

我想到了!

为了后代,这就是我所做的:

  1. 我杀死了 MySQL 服务器
  2. 我复制/usr/local/mysql/support-files/my-small.cnf/etc/my.cnf
  3. 我打开my.cnf并在该[mysqld]部分添加了这一行:

    # point the datadir to the old stuff on the external hard drive
    datadir = /Volumes/Clone/usr/local/mysql/data
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我保存并关闭 my.conf
  5. 我重新启动了 MySQL 服务器。System Preferences 中的 MySQL 窗格有一个警告,说明“/Volumes/Clone/usr/local/mysql/data”没有正确的所有权,但我认为可以忽略。看到 MySQL 在正确的位置寻找数据也令人欣慰。
  6. 我打开 PHPMyAdmin 并登录。
  7. 我将我关心的数据库导出为 .sql.gz 文件
  8. 我重新杀死了 MySQL 服务器并删除了/etc/my.cnf文件
  9. 我重新启动了 MySQL 服务器并登录到 PHPMyAdmin
  10. 我导入了我的数据库,一切看起来都很棒!