我有一个外部硬盘,有一个旧的机器(我不再有)不可启动克隆。 其中一件事是在这台机器上安装了一个MySQL安装(v 5.5.19),其中有几个我想要保存的数据库。
我绕了一圈,发现有一个{root}/usr/local/mysql/data目录,其中包含的子目录似乎与我想保存的数据库相对应。
我将这些目录之一复制到我的主机(也运行MySQL 5.5.19),并获得文件权限和所有权正确设置( _mysql:wheel , 0660在.frm文件等)。
当我现在login到PHPMyAdmin时,我可以看到左边列出的数据库,正确数量的表格放在括号中。 但是,当我尝试连接到该数据库时,它说数据库中没有表。
显然,我错过了一些东西。 我错过了什么,还有另一种方法可以做到这一点,可能会更容易? 我可以,也许,改变无数.cnf文件指向我的外部硬盘驱动器上的MySQL文件,然后在这些使用mysqldump ? 我需要修改哪些文件?
我想到了!
为了后代,这是我所做的:
/usr/local/mysql/support-files/my-small.cnf复制到/etc/my.cnf 我打开my.cnf并在[mysqld]部分添加了这一行:
# point the datadir to the old stuff on the external hard drive datadir = /Volumes/Clone/usr/local/mysql/data
my.conf /etc/my.cnf文件 你应该做的第一件事是这样的:
chown -R mysql:mysql /usr/local/mysql/data
你应该知道InnoDB文件有多大
如果ibdata1 <20M,ib_logfile0 = 5M,那么mysql在没有my.cnf的情况下运行。 你应该可以启动mysql。 如果它们大小不同,则需要使用以下命令创buildmy.cnf
[mysqld] innodb_log_file_size=???? (file of ib_logfile0 in M)
我希望这是一个好的开始