阿里云 centos mysql,不知道是什么原因突然mysql就坏了,起不来了,.sock文件生成不了,搞了好久。于是决定把数据整体备份,然后再新的好的mysql中打开
具体步骤
备份的数据文件夹:/var/lib/mysql
在新的好的mysql中找到对应的文件夹位置,应该也是这里/var/lib/mysql
把上面的文件夹的内容,copy到新的mysql对应位置中
一定注意看清楚改文件夹下所有文件所有者/组 是mysql,后面遇到的问题就是因为这个
启动mysql
登录进去以后查找表:
错误提示1:找不到xxx.frm文件,
奇怪,文件明明是有的,仔细看提示:说明是权限问题,一看所有者是root,而不是mysql\
为了测试先修改一个文件xxx.frm所属者
修改命令: chown mysql xxx.frm 【把xxx.frm文件所属者修改mysql 】
再次测试,
错误提示2:Tablespace is missing for table...
原因:xxx.ibd文件和上面一样的问题,所属者不对
同样的操作:chown mysql xxx.ibd
此时再检查mysql就好了
找到问题解决思路就是:把mysql这个数据文件夹,整个修改所属者
命令:chown -R mysql /mysql【把文件夹所有文件所属者都修改mysql 】
重启mysql,总算是解决了