我已经删除了(MySQL的)数据库我服务的一个表。现在有表格不存在的portlet错误消息。如何开始休闲?我从来没有手动创建服务表。它们是自动创建的,但现在停止了。如何创建服务构建在数据库表?
* UPDATE *
通过以上我的意思是我的自定义portlet项目的我的自定义表。我对他们的SQL文件名,当然也可以对一个服务器上运行它们,但想知道应该如何正常进行?
我已经删除了(MySQL的)数据库我服务的一个表。现在有表格不存在的portlet错误消息。如何开始休闲?我从来没有手动创建服务表。它们是自动创建的,但现在停止了。如何创建服务构建在数据库表?
* UPDATE *
通过以上我的意思是我的自定义portlet项目的我的自定义表。我对他们的SQL文件名,当然也可以对一个服务器上运行它们,但想知道应该如何正常进行?
你仍然有安装文件?如果是这样,请搜索他们的表名。在Linux上,这将是像
find /path/to/top/directory -type f -print0 | xargs -0r grep -il 'CREATE TABLE Xyz'
其中Xyz
就是你要找的表名。对于每一个文件,它列出,搜索CREATE TABLE Xyz
和CREATE TABLE IF NOT EXISTS Xyz
。这应该为缺失的表找到'创建'语句。如果该表也有触发它的事情,那就需要进一步的工作。
如果您没有安装文件,但你有你所有的binlogs的,你可以搜索(再次在linux)同
find /path/to/binlogs -type f -print0 \
| \
xargs -0r file \
| \
fgrep 'MySQL replication log' \
| \
cut -d: -f1 \
>/tmp/binlog.lst
for b in $(</tmp/binlog.lst); do
echo -n $b
mysqlbinlog $b | grep -li 'CREATE TABLE Xyz'
echo
done
但即使无论这些方法的作品,只有它让你获得最初的'创造'声明。如果表中有安装或升级中的“alter table”,那么这是额外的搜索。
没有备份我想你是最好的选择是重新安装服务生成器的相同版本,然后在生成的表复制到当前的安装。
你往前走了,走的就是您目前有一个备份,例如,通过像我的自定义门户的mysqldump --opt --all-databases >large_dump_file
抱歉,我的意思定制表。当然,我有他们的SQL文件,但我想知道如何正常创建表? – Dims