今天误删了mysql,只剩下/var/lib/mysql 里面的ib_logfile0
、ib_logfile1
、ibdata1
!
然后yum install mysql
失败,原因是require
的 mysql和available
的mysql不一样。
第一个问题无法安装mysql
原因是源不对所以先删除最开始的源,然后rpm -ivh MySQL-server-4.0.14-0.i386.rpm
重装了源,就可以安装mysql
第二个问题输入mysql显示没有sock文件
连接localhost通常通过一个Unix域套接字文件/var/lib/mysql/mysql.sock
。如果套接字文件被删除了,本地客户就不能连接。如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
解决办法,实时上,在/etc/init.d
下有个连接启动脚本 mysqld ,我们启动时可以直接用它service mysqld start |stop
第三个问题恢复数据
此时观察到mysql使用了/var/lib/mysql
里面的ib_logfile0
、ib_logfile1
、ibdata1
还有mysql库和hive库
,所以数据又回来了。如果没有就手动cp过来具体如下:
1. 安装完成新服务器之后,通过命令行新建了与原来一样的数据库:数据库名称、用户名、密码都一样。如果有多个数据库需要恢复,就都给建好。
2. 停止 mysqld 进程
service mysqld stop
3. 将备份的原始数据库文件中的所有 .frm 文件(保持原来的目录结构)和 ibdata1 文件复制到新服务器的数据库文件目录中(如果新服务器操作系统和配置环境一样,那么目录结构也一样),其它文件不要。
4. 使用-innodb_force_recovery=6
参数启动数据库服务器进程,这里是
/etc/init.d/mysqldstart -defaults-file=/etc/my.cnf -standalone -console -innodb_force_recovery=6