从卷上备份的ibdata + frm文件中恢复数据库

时间:2017-06-29 10:27:52

标签: mysql database server

我的服务器上的卷上有大约30个站点的数据库数据,位于以下目录/mnt/volume0/var/lib/mysql

该目录包含一个6.2G ibdata1文件和包含每个网站的.frm文件的目录。

我正在尝试获取数据库的转储,因此我可以将它们移动到另一台服务器,但访问mysql只显示默认数据库(因为/etc/mysql/mysql.conf.d/mysqld.cnf中的datadir设置为/var/lib/mysql

我已尝试将/etc/mysql/mysql.conf.d/mysqld.cnf中的datadir更改为/mnt/volume0/var/lib/mysql,但mysql无法启动。

它抱怨“未能设置datadir”,我在chown mysql:mysql mysql/ -R上运行/mnt/volume0/var/lib/mysql修复了该问题,但现在却在抱怨Failed password for root from xxx.xx.xxx.xx port 19192 ssh2

任何帮助都很受欢迎!

由于

2 个答案:

答案 0 :(得分:0)

您可以尝试重设密码

mysqld_safe --skip-grant-tables

如果你有错误,那么你有一个更大的问题

mysql --user=root mysql
update user set Password=PASSWORD('your new password') where user='root';
flush privileges;
exit;

答案 1 :(得分:0)

我最终通过将本地计算机上/var/lib/mysql/的内容替换为/mnt/volume0/var/lib/mysql/(来自服务器)的内容来解决此问题。

我在尝试启动MySQL Table 'performance_schema.session_variables' doesn't exist时遇到错误,我通过在本地计算机上升级MySQL并重新启动来解决此问题:https://stackoverflow.com/a/20262826/8231049

现在我可以从我的本地机器转储数据库了:)

编辑:在等待2天之前无法接受我的回答。那会的。