阿里雲 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,總算是解決了