晚上加班在某服务器上安装MariaDB,因为冲突的原因需要删除该机器上原有的MySQL文件,本人Xshell同时连接了多台服务器,结果在删除的时候点错了服务器,把另一台测试环境的MySQL执行了 yum remove mysql-server mysql-client mysql-common 命令给删除了。。。
检查了一下MySQL所在目录,看到下面的data、binlog等文件夹都还在,点进data后看到里面有不少文件,包括该测试环境所创建的库为名称的文件夹。
感觉可以恢复,于是先重新安装了遍MySQL,然后立马去度娘查询替换data的方法,根据攻略折腾半天,说只能够替换某几个文件等等,反复去测试,要么就是MySQL启动失败,要么就是只能看到库,点进去看不到表并且有报错。
正在惆怅,突然发现替换后的文件所有者是root,而其他安装的文件所有者是mysql。。。
实际解决方案:
1、停止MySQL服务 systemctl stop mysqld。
2、将新安装的mysql包下的data文件夹整个删除,然后替换为旧的data文件夹。
3、执行chown mysql:mysql -R data命令,将文件夹的所有者改为MySQL。
4、重启MySQL服务 service mysqld start,数据恢复。