Jump to content

Recommended Posts

Posted (edited)

Hello,

conf_global.php

    $INFO['mysql_tbl_type']            =    'MyISAM';

I have removed this ligne but, how change type MyISAM to InnoDB when are mixed in my SQL base ?

 

Edited by NoSpy
Posted (edited)

I've already contacted my WebHost and he says it's not his problem, it supports both if there's a mixture in the SQL database it's a programming error by IPS.

Edited by NoSpy
Posted (edited)
Marc
This post was recognized by Marc!

teraßyte was awarded the badge 'Helpful' and 5 points.

Try using this kind of query which sets the table to use the DYNAMIC row format by default instead:

ALTER TABLE nexus_licensekeys ENGINE=InnoDB ROW_FORMAT=DYNAMIC;

 

That is, as long as your host has it enabled. I've seen plenty of hosting with only the COMPACT option available, unfortunately.

Edited by teraßyte
Posted
Marc
This post was recognized by Marc!

TDBF was awarded the badge 'Helpful' and 5 points.

On 6/19/2023 at 9:59 AM, NoSpy said:

I've already contacted my WebHost and he says it's not his problem, it supports both if there's a mixture in the SQL database it's a programming error by IPS.

You have to do this yourself, and it is quite easy to do once you use the right tools.

If you don't want to use SHH and MySQL commands, then I would suggest a tool like HeidiSQL. You can easily convert your database tables from MyISAM to InnoDB using the 'Bulk Table Editor' within the Table Tools.

If you do not want to download more software, you can use phpMyAdmin (You will most likely find this in your CPANEL account or something similar) and run an alter command like this:  'ALTER TABLE table_name ENGINE=InnoDB;'

 

Hope this helps?! 🙂

Posted (edited)
On 6/20/2023 at 9:01 AM, Marc Stridgen said:

Have you checked to ensure your tables are not using compact row format?

I have checked and all tables using DYNAMIC for InnoDB or MyISAM.

My host by default set "InnoDB COMPACT" and "MyISAM DYNAMIC". It's possible add in global config ?

  • $INFO['mysql_tbl_type']            =    'InnoDB';
  • $INFO['mysql_tbl_type']            =    'DYNAMIC';

 

Edited by NoSpy
Posted
15 minutes ago, NoSpy said:

I have checked and all tables using DYNAMIC for InnoDB or MyISAM.

My host by default set "InnoDB COMPACT" and "MyISAM DYNAMIC". It's possible add in global config ?

  • $INFO['mysql_tbl_type']            =    'InnoDB';
  • $INFO['mysql_tbl_type']            =    'DYNAMIC';

 

Thats not something we would add in the software no. It's a hosting related function. You would need to contact your hosting company again if you are unable to change table type unfortunately.

Posted (edited)
17 minutes ago, Marc Stridgen said:

Thats not something we would add in the software no. It's a hosting related function. You would need to contact your hosting company again if you are unable to change table type unfortunately.

The host will not make any changes as demand is too low (2 clients only), we have also seen some loosening.

  • MyISAM DYNAMIC and InnoDB COMPACT = SQL 88MB
  • MyISAM DYNAMIC and InnoDB DYNAMIC = SQL 312MB

If new table are created InnoDB COMPACT and I have change manualy to DYNAMIC

Edited by NoSpy
Posted

I'm not sure on what else I can add here, unfortunately. If your hosting company is unable to fulfil the requirements you need for your site, I would advise on looking for new hosting.

Posted

I've checked with my other hosts, none of which offer this feature except on the dedicated server, and I don't see why you insist on it. The hosting provider fully supports DYNAMIC InnoDB and MyISAM as you can see :

https://files.nospy.ch/BUG/IPS/2023-0620/MyISAM-03-InnoDB.txt

The original question is that I'm unable to modify some tables MyISAM to InnoDB here's the list :

https://files.nospy.ch/BUG/IPS/2023-0620/MyISAM-01-InnoDB.jpg

This table MyISAM is empty or nearly so, and it's impossible to modify to InnoDB it without getting this error.

Could contain: Text, Document

Posted

You could attempt removing the indexes for that table, and then changing the table type. Note, this is not something supported, but something that will likely work as the indexes would be readded by the support tool if missing. You should take a full backup first and foremost

There isn't much I can really offer in terms of advise on your hosting companies capabilities. We insist on it because its what the software requires to function in its proper manner

Posted

MyISAM DYNAMIC: ALTER TABLE `downloads_ccontent`

Could contain: Page, Text, File

Could contain: Page, Text, File, Webpage

InnoDB DYNAMIC: ALTER TABLE `downloads_ccontent`

Could contain: Text, Document, Business Card, Paper

Edit :

Could contain: Page, Text, File

What do I need to delete from this table - is it empty?

 

Posted

Its not data, but rather indexes. If you are unsure on how to do that, you will require assistance on your database. That is a workaround for the issue you are having there

Posted (edited)
On 6/20/2023 at 3:53 PM, teraßyte said:

Try using this kind of query which sets the table to use the DYNAMIC row format by default instead:

ALTER TABLE nexus_licensekeys ENGINE=InnoDB ROW_FORMAT=DYNAMIC;

 

That is, as long as your host has it enabled. I've seen plenty of hosting with only the COMPACT option available, unfortunately.

I mentioned the issue in my reply above, you need to manually specify the ROW_FORMAT value in the ALTER TABLE query to avoid using the COMPACT format set by default by your hosting.

 

In your example above you're still skipping that part:

ALTER TABLE downloads_ccontent ENGINE=InnoDB;

instead of:

ALTER TABLE downloads_ccontent ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
Edited by teraßyte
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...