我的服务器上的卷上有大约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
任何帮助都很受欢迎!
由于
答案 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天之前无法接受我的回答。那会的。