Re: Error: Incorrect key file for table ‘jos_session’; try to repair it
The fact that you’ve got this error means that you are running Joomla 1.5x, under mysql4.x and have just upgraded to mysql 5.x probably without backing up your database – am I right?
Ok, don’t worry, there is a fix. First, the problem is that mysql 4.x and Joomla 1.5 use incompatible indexing with mysql 5.x, so the upgrade would have probably updated all of your tables except for these specific Joomla files. We need to delete the old Joomla table and rebuild it.
You need to login to Plesk and find the client account with the problem, log in to phpMyAdmin and apply the fix below by running the SQL as follows:
===========
DROP TABLE `jos_components`; CREATE TABLE `jos_components` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT NULL default '', `link` varchar(255) NOT NULL default '', `menuid` int(11) unsigned NOT NULL default '0', `parent` int(11) unsigned NOT NULL default '0', `admin_menu_link` varchar(255) NOT NULL default '', `admin_menu_alt` varchar(255) NOT NULL default '', `option` varchar(50) NOT NULL default '', `ordering` int(11) NOT NULL default '0', `admin_menu_img` varchar(255) NOT NULL default '', `iscore` tinyint(4) NOT NULL default '0', `params` text NOT NULL, `enabled` tinyint(4) NOT NULL default '1', PRIMARY KEY (`id`), KEY `parent_option` (`parent`, `option`(32)) ) TYPE=MyISAM CHARACTER SET `utf8`; INSERT INTO `jos_components` VALUES (1, 'Banners', '', 0, 0, '', 'Banner Management', 'com_banners', 0, 'js/ThemeOffice/component.png', 0, 'track_impressions=0\ntrack_clicks=0\ntag_prefix=\n\n', 1); INSERT INTO `jos_components` VALUES (2, 'Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 0, '', 1); INSERT INTO `jos_components` VALUES (3, 'Clients', '', 0, 1, 'option=com_banners&c=client', 'Manage Clients', 'com_banners', 2, 'js/ThemeOffice/categories.png', 0, '', 1); INSERT INTO `jos_components` VALUES (4, 'Web Links', 'option=com_weblinks', 0, 0, '', 'Manage Weblinks', 'com_weblinks', 0, 'js/ThemeOffice/component.png', 0, 'show_comp_description=1\ncomp_description=\nshow_link_hits=1\nshow_link_description=1\nshow_other_cats=1\nshow_headings=1\nshow_page_title=1\nlink_target=0\nlink_icons=\n\n', 1); INSERT INTO `jos_components` VALUES (5, 'Links', '', 0, 4, 'option=com_weblinks', 'View existing weblinks', 'com_weblinks', 1, 'js/ThemeOffice/edit.png', 0, '', 1); INSERT INTO `jos_components` VALUES (6, 'Categories', '', 0, 4, 'option=com_categories§ion=com_weblinks', 'Manage weblink categories', '', 2, 'js/ThemeOffice/categories.png', 0, '', 1); INSERT INTO `jos_components` VALUES (7, 'Contacts', 'option=com_contact', 0, 0, '', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/component.png', 1, 'contact_icons=0\nicon_address=\nicon_email=\nicon_telephone=\nicon_fax=\nicon_misc=\nshow_headings=1\nshow_position=1\nshow_email=0\nshow_telephone=1\nshow_mobile=1\nshow_fax=1\nbannedEmail=\nbannedSubject=\nbannedText=\nsession=1\ncustomReply=0\n\n', 1); INSERT INTO `jos_components` VALUES (8, 'Contacts', '', 0, 7, 'option=com_contact', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/edit.png', 1, '', 1); INSERT INTO `jos_components` VALUES (9, 'Categories', '', 0, 7, 'option=com_categories§ion=com_contact_details', 'Manage contact categories', '', 2, 'js/ThemeOffice/categories.png', 1, 'contact_icons=0\nicon_address=\nicon_email=\nicon_telephone=\nicon_fax=\nicon_misc=\nshow_headings=1\nshow_position=1\nshow_email=0\nshow_telephone=1\nshow_mobile=1\nshow_fax=1\nbannedEmail=\nbannedSubject=\nbannedText=\nsession=1\ncustomReply=0\n\n', 1); INSERT INTO `jos_components` VALUES (10, 'Polls', 'option=com_poll', 0, 0, 'option=com_poll', 'Manage Polls', 'com_poll', 0, 'js/ThemeOffice/component.png', 0, '', 1); INSERT INTO `jos_components` VALUES (11, 'News Feeds', 'option=com_newsfeeds', 0, 0, '', 'News Feeds Management', 'com_newsfeeds', 0, 'js/ThemeOffice/component.png', 0, '', 1); INSERT INTO `jos_components` VALUES (12, 'Feeds', '', 0, 11, 'option=com_newsfeeds', 'Manage News Feeds', 'com_newsfeeds', 1, 'js/ThemeOffice/edit.png', 0, 'show_headings=1\nshow_name=1\nshow_articles=1\nshow_link=1\nshow_cat_description=1\nshow_cat_items=1\nshow_feed_image=1\nshow_feed_description=1\nshow_item_description=1\nfeed_word_count=0\n\n', 1); INSERT INTO `jos_components` VALUES (13, 'Categories', '', 0, 11, 'option=com_categories§ion=com_newsfeeds', 'Manage Categories', '', 2, 'js/ThemeOffice/categories.png', 0, '', 1); INSERT INTO `jos_components` VALUES (14, 'User', 'option=com_user', 0, 0, '', '', 'com_user', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (15, 'Search', 'option=com_search', 0, 0, 'option=com_search', 'Search Statistics', 'com_search', 0, 'js/ThemeOffice/component.png', 1, 'enabled=0\n\n', 1); INSERT INTO `jos_components` VALUES (16, 'Categories', '', 0, 1, 'option=com_categories§ion=com_banner', 'Categories', '', 3, '', 1, '', 1); INSERT INTO `jos_components` VALUES (17, 'Wrapper', 'option=com_wrapper', 0, 0, '', 'Wrapper', 'com_wrapper', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (18, 'Mail To', '', 0, 0, '', '', 'com_mailto', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (19, 'Media Manager', '', 0, 0, 'option=com_media', 'Media Manager', 'com_media', 0, '', 1, 'upload_extensions=bmp,csv,doc,epg,gif,ico,jpg,odg,odp,ods,odt,pdf,png,ppt,swf,txt,xcf,xls,BMP,CSV,DOC,EPG,GIF,ICO,JPG,ODG,ODP,ODS,ODT,PDF,PNG,PPT,SWF,TXT,XCF,XLS\nupload_maxsize=10000000\nfile_path=images\nimage_path=images/stories\nrestrict_uploads=1\ncheck_mime=1\nimage_extensions=bmp,gif,jpg,png\nignore_extensions=\nupload_mime=image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip\nupload_mime_illegal=text/html', 1); INSERT INTO `jos_components` VALUES (20, 'Articles', 'option=com_content', 0, 0, '', '', 'com_content', 0, '', 1, 'show_noauth=0\nshow_title=1\nlink_titles=0\nshow_intro=1\nshow_section=0\nlink_section=0\nshow_category=0\nlink_category=0\nshow_author=1\nshow_create_date=1\nshow_modify_date=1\nshow_item_navigation=0\nshow_readmore=1\nshow_vote=0\nshow_icons=1\nshow_pdf_icon=1\nshow_print_icon=1\nshow_email_icon=1\nshow_hits=1\nfeed_summary=0\n\n', 1); INSERT INTO `jos_components` VALUES (21, 'Configuration Manager', '', 0, 0, '', 'Configuration', 'com_config', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (22, 'Installation Manager', '', 0, 0, '', 'Installer', 'com_installer', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (23, 'Language Manager', '', 0, 0, '', 'Languages', 'com_languages', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (24, 'Mass mail', '', 0, 0, '', 'Mass Mail', 'com_massmail', 0, '', 1, 'mailSubjectPrefix=\nmailBodySuffix=\n\n', 1); INSERT INTO `jos_components` VALUES (25, 'Menu Editor', '', 0, 0, '', 'Menu Editor', 'com_menus', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (27, 'Messaging', '', 0, 0, '', 'Messages', 'com_messages', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (28, 'Modules Manager', '', 0, 0, '', 'Modules', 'com_modules', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (29, 'Plugin Manager', '', 0, 0, '', 'Plugins', 'com_plugins', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (30, 'Template Manager', '', 0, 0, '', 'Templates', 'com_templates', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (31, 'User Manager', '', 0, 0, '', 'Users', 'com_users', 0, '', 1, 'allowUserRegistration=1\nnew_usertype=Registered\nuseractivation=1\nfrontend_userparams=1\n\n', 1); INSERT INTO `jos_components` VALUES (32, 'Cache Manager', '', 0, 0, '', 'Cache', 'com_cache', 0, '', 1, '', 1); INSERT INTO `jos_components` VALUES (33, 'Control Panel', '', 0, 0, '', 'Control Panel', 'com_cpanel', 0, '', 1, '', 1); DROP table `jos_core_acl_aro`; CREATE TABLE `jos_core_acl_aro` ( `id` int(11) NOT NULL auto_increment, `section_value` varchar(240) NOT NULL default '0', `value` varchar(240) NOT NULL default '', `order_value` int(11) NOT NULL default '0', `name` varchar(255) NOT NULL default '', `hidden` int(11) NOT NULL default '0', PRIMARY KEY (`id`), UNIQUE KEY `#__section_value_value_aro` (`section_value`(100),`value`(100)), KEY `#__gacl_hidden_aro` (`hidden`) ) TYPE=MyISAM CHARACTER SET `utf8`; DROP table `jos_session`; CREATE TABLE `jos_session` ( `username` varchar(150) default '', `time` varchar(14) default '', `session_id` varchar(200) NOT NULL default '0', `guest` tinyint(4) default '1', `userid` int(11) default '0', `usertype` varchar(50) default '', `gid` tinyint(3) unsigned NOT NULL default '0', `client_id` tinyint(3) unsigned NOT NULL default '0', `data` longtext, PRIMARY KEY (`session_id`(64)), KEY `whosonline` (`guest`,`usertype`), KEY `userid` (`userid`), KEY `time` (`time`) ) TYPE=MyISAM CHARACTER SET `utf8`;
===========
Do this for each corrupt database. Your Joomla application will start running straight away!
Thanks! This worked great for repairing a bunch of corrupt Joomla databases after my MySQL upgrade. The only thing I had to change was that some of your quotation marks are incorrect… There are a few spots where you have ′ or ” instead of ’. Other than that, it was perfect. Thanks again.
Rehan, You are welcome! We have modified the quotations to make it easier for the next person!
You are the Man!
Hi,
(Error: Incorrect key file for table ‘jos_session’)
Thanks for your code, but after i use the code above following your instruction, it appears another error(404 – Component not found). How will it be solve?
Regards,
Thank you so much for this, it’s just saved me a lot of head scratching after I asked my hosting co to move a site for me. 🙂
Hi, Just needed to take the time to say a BIG THANK YOU for this fix!!!
Really really appreciated!
Worked great, thank you!