首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取恢复的db文件以在重新生成的服务器上工作

问获取恢复的db文件以在重新生成的服务器上工作
EN

Database Administration用户
提问于 2012-02-23 13:46:05
回答 1查看 1.3K关注 0票数 5

我必须重新构建服务器,并尝试将数据库文件从旧驱动器复制到/var/lib/mysql/。我重新启动了apache并运行了“显示数据库”,这个列表列出了所有的数据库。我输入了其中一个数据库“joomla”并运行了“显示表”--这显示了我所期望的所有表。

但是,尝试运行'SELECT * bsf_session‘这样的查询会导致错误:

代码语言:javascript
复制
ERROR 1146 (42S02): Table 'joomla.bsf_sessions' doesn't exist

检查我得到的桌子:

代码语言:javascript
复制
mysql> check table bsf_seminar;
+--------------------+-------+----------+---------------------------------------------------------+
| Table              | Op    | Msg_type | Msg_text                                                |
+--------------------+-------+----------+---------------------------------------------------------+
| joomla.bsf_seminar | check | Error    | Can't find file: './joomla/bsf_seminar.frm' (errno: 13) |
| joomla.bsf_seminar | check | error    | Corrupt                                                 |
+--------------------+-------+----------+---------------------------------------------------------+
2 rows in set (0.00 sec)

当我复制文件时,我更改权限以匹配mysql表的权限,但是无法更改所有权,这些文件当前看起来如下(ls -g):

代码语言:javascript
复制
-rw-rw---- 1 root   8842 2012-02-23 09:54 bsf_session.frm
-rw-rw---- 1 root 271012 2012-02-23 09:54 bsf_session.MYD
-rw-rw---- 1 root  25600 2012-02-23 09:54 bsf_session.MYI

我试过逃跑

代码语言:javascript
复制
chown mysql bsf_session.frm

但这没什么区别。我不知道这是否与主要问题有关。

我真的很感激你能给我的帮助..。

我是在堆叠溢出的时候问这个的,有人建议我也在这里问这个.

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-02-23 15:47:49

如果MySQL服务器没有读取和写入文件的权限,则服务器将无法识别该表。通常,服务器在“mysql”用户下运行。

在尝试更改所有权之前,我将首先停止mysql实例。

一旦完成,那么(来自非根用户)在目录中使用文件执行sudo chown mysql bsf_session.*。

您还可以尝试更改组(sudo chgrp mysql bsf_session.*),但是将文件作为与服务器相同的所有者是最好的选择。

如果您没有sudo特权或根访问权限,那么您将需要联系谁让他们改变所有权。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/13760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档