0

我在我的机器上本地创建了一个 joomla 2.5 站点,我已经迁移到一个运行 nginx、php 和 mysql 的 vps。这是我按顺序做的:

 1. Uploaded all the joomla files in the public_html
 2. Changed all the files permission to 644 and all the folders to 755
 3. Imported the database.sql to mysql using these commands: 

--> mysql> create database databasename;    
--> mysql> GRANT ALL PRIVILEGES ON
databasename.* TO username@localhost IDENTIFIED BY 'password';   
--> mysql> flush privileges;    
--> mysql> exit    
--> user@vps:~$ mysql -p -u username database_name < file.sql

我已经可以在数据库中看到我的所有表,并更改了我的 joomla 上所有需要的信息,configuration.php但是当我打开我的网站时,我收到了这个错误:

Table 'databasename.s1t3j0s_session' doesn't exist SQL=INSERT INTO `s1t3j0s_session` (`session_id`, `client_id`, `time`) VALUES ('rh249ehb2tbsqkdff34v177d76', 0, '1357339991')

我哪里弄错了?

我已将 wordpress 站点迁移到同一台服务器,没有出现错误。

4

4 回答 4

1

通过检查实际使用的 db 前缀,确保Joomla 目录下的$dbprefixin值具有正确的值(打开 phpMyAdmin 并选择 Joomla 数据库进行检查)。configuration.php

于 2014-02-20T09:37:39.807 回答
1

几个星期以来我一直遇到麻烦。我需要的是我系统上的备份副本。但是,当我将数据库从远程服务器上传到本地主机时,我收到了与会话表不存在相关的错误消息(与您遇到的错误相同)。

我尝试了所有与删除和重新创建表相关的技巧,但这不起作用。

唯一能 100% 工作的解决方案——我今天终于发现,是重新安装 Joomla 2.5(我使用全新安装),然后执行以下操作:

不要从包含正确内容的站点上传数据库,而是通过 SQL 文件本身(即在遇到问题之前您将导出上传的文件),并直接将每个插入语句手动处理到 SQL 控制台(我'正在使用 PHPMyadmin)。换句话说,不要像往常一样尝试导入整个文件。这样做只会导致错误。

出于某种原因,Joomla 2.5 存在一个问题,即已经填充了数据的表被转储文件替换或替换,有时是重复的数据。因此需要全新安装....

在单独处理每个安装语句之前(这可能需要一段时间 - 我花了大约一个半小时),检查每个 Joomla 表并确保其中没有填充任何数据(因此当你处理安装语句,它们不会替换现有数据 - 因为您将从填充的表中删除所有数据)。

只要您确保在迁移之前没有向表中添加任何 INSERTED 数据,这将解决您的问题。

总结一下: 1/ 安装全新的 J2.5。2/ 从每个 joomla 表中删除所有填充的表数据。3/ 从包含正确数据的导出 mysql 文件中复制并粘贴每个插入语句。单独处理每条语句(这是可选的,但强烈建议:这样做可以让您在发生时应对和查明任何单个错误 - 无需查看整个 mysql 文件)

...转到您的网站:宾果游戏 - 它应该可以工作!

于 2013-05-02T13:11:41.663 回答
0

我遇到了这个问题,在我的情况下,我通过 cpanel 导入了数据库,后来收到了这个错误消息。后来我发现通过cpanel导入数据库并没有导入表,只是数据库名称。所以我去了phpmyadmin并再次在那里导入数据库,并解决了。

于 2014-10-25T08:34:43.597 回答
0

只需截断会话表中的数据并再次执行该过程。您无需担心截断,因为没有有价值的数据。会话表有时会弄乱一些东西。

在 Unix 上,表名区分大小写。在 Windows 上,它们不是。有趣,不是吗?有点像他们各自的文件系统。你认为这是巧合吗?

警告:它可能取决于表类型;MyISAM。

无论如何,字段名称都不区分大小写。

于 2013-01-05T05:13:36.370 回答