因为没有经验,好不容易才找到了恢复方法。特此记录,以备后用。
磁盘空间不足之后,mysqld 进程无法启动,提示“Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)”。这真是让人无比头大,数据库根本连接不上。
目录 Contents
1. 保存原始数据库文件
2. 恢复方法
3. 参考资料:
1. 保存原始数据库文件¶
好在数据库原始文件还在。在我的系统环境和配置情况下,这些文件位于 /var/lib/mysql/ 文件夹下面。假设数据库名是 test,则这些文件表现为:
--mysql
|--test
|--1.frm
|--2.frm
|...
|--mysql
|...
|--ib_logfile0
|--ib_logfile1
|--ibdata1
|...
这些就是原始数据库文件,可以用来恢复数据库。将这些文件额外保存一份,以防万一。
2. 恢复方法¶
我的原始虚拟机完全没有磁盘空间而无法启动数据库服务器进程。虽然试着删除一些不需要的文件,但是数据库却始终无法连接。于是我新建了一个几乎一样的虚拟机(当然磁盘加大了),试图将这些数据库文件导入并恢复数据库。
在经历了很多错误之后,终于找到了正确的方法:
安装完成新服务器之后,通过命令行新建了与原来一样的数据库:数据库名称、用户名、密码都一样。如果有多个数据库需要恢复,就都给建好。(跟配置新服务器一样,参见安装和配置 MYSQL 数据库服务器。)
停止 mysqld 进程
service mysqld stop
将备份的原始数据库文件中的所有 .frm 文件(保持原来的目录结构)和 ibdata1 文件复制到新服务器的数据库文件目录中(如果新服务器 *** 作系统和配置环境一样,那么目录结构也一样),其它文件不要。
使用 -innodb_force_recovery=6参数启动数据库服务器进程,这里是
/etc/init.d/mysqld start -defaults-file=/etc/my.cnf -standalone -console -innodb_force_recovery=6
OK,数据库恢复完成。
您好,举例说明:如将一Shapfile文件“c:\road.shp”导入到数据表“road”中,数据库为“sjzmap”。1、运行“命令提示符”。2、切换至PostgreSQL数据库安装目录中的bin目录下。3、执行此目录下的shp2pgsql命令:“shp2pgsqlc:\road.shproad>c:\road.sql”。4、如将此文件直接导入数据库(不推荐):“shp2pgsql-cc:\road.shproadsjzmap|psql-dsjzmap”。5、使用pgAdmin3选择数据库,再导入表。注:DropsthedatabasetablebeforecreatinganewtablewiththedataintheShapefile.AppendsdatafromtheShapefileintothedatabasetable.Notethattousethisoptiontoloadmultiplefiles,thefilesmusthavethesameattributesandsamedatatypes.CreatesanewtableandpopulatesitfromtheShapefile.OnlyproducesthetablecreationSQLcode,withoutaddinganyactualdata.Thiscanbeusedifyouneedtocompletelyseparatethetablecreationanddataloadingsteps.UsethePostgreSQL"dump"formatfortheoutputdata.Thiscanbecombinedwith-a,-cand-d.Itismuchfastertoloadthanthedefault"insert"SQLformat.Usethisforverylargedatasets.CreatesandpopulatesthegeometrytableswiththespecifiedSRID.Keepidentifiers'case(column,schemaandattributes).NotethatattributesinShapefileareallUPPERCASE.Coerceallintegerstostandard32-bitintegers,donotcreate64-bitbigints,eveniftheDBFheadersignatureappearstowarrantit.CreateaGiSTindexonthegeometrycolumn.OutputWKTformat,forusewitholder(0.x)versionsofPostGIS.NotethatthiswillintroducecoordinatedriftsandwilldropMvaluesfromshapefiles.Specifyencodingoftheinputdata(dbffile).Whenused,allattributesofthedbfareconvertedfromthespecifiedencodingtoUTF8.TheresultingSQLoutputwillcontainacommand,sothatthebackendwillbeabletoreconvertfromUTF8towhateverencodingthedatabaseisconfiguredtouseinternally.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)