简体   繁体   中英

Will changing MySQL innodb_file_format and large_prefix cause any issues for other websites?

Explanation:

Trying to install Moodle and the installation process says I need to make the following changes in MySQL config (for full unicode support):

SET GLOBAL innodb_file_format = barracuda

SET GLOBAL innodb_large_prefix = 'on'

SET GLOBAL innodb_file_per_table = 1

This is a shared hosting with cPanel, every other requirement is set/installed.

Question:

There are many other websites on this server using MySQL with the old settings and my question is if I run the commands above and change innodb_file_format to "Barracuda" (currently it is Antelope) and innodb_large_prefix to "on" will this cause any possible issues for other websites?

If yes, how do I avoid them? can I set this setting for a single database only?

These changes have no effect until you recreate the tables. Only new tables pick up the changes. You don't have to explicitly drop the tables though. IIRC a ALTER TABLE foo FORCE; also does the job. This might take a while, though. If you don't want to have a downtime, you can use pt-online-schema-change for example (from the percona-tools).

Whatever is reading from or writing to your database tables, doesn't care at all about these changes.

No, you can not set these settings for a single database only. It's for all databases on your server.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM