Не может запустить MySQL 5.5 как обычного пользователя (мягкая фетровая шляпа 15)

Принятие Ваш имеет Вашу установку учетных данных на Вашем my.cnf, команда как это может сделать то, что Вы хотите.

mysql --batch --skip-column-names --execute \
'select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," type=innodb;") 
 from information_schema.TABLES where TABLE_SCHEMA="database_name"' | mysql

Конечно, замените database_name своим именем базы данных.

Что касается Вас основной вопрос. Это кажется, что Вы хотите освободить пространство после разрешения Вашим innodb таблицам стать крупными. Как сказанная ошибка, единственный безопасный способ иметь дело с этим состоит в том, чтобы использовать mysqldump для экспорта всего. Удалите файлы и затем восстановите.

Поскольку та статья отмечает. Можно включить innodb_file_per_table опция к my.cnf Вашего сервера заставит каждый файл существовать как отдельный файл. Тем путем пространство освобождающего может быть сделано путем удаления/восстановления проблемной таблицы вместо всего.

1
задан 13 September 2011 в 18:05
1 ответ

Если вы используете SELinux (Fedora, SUSE, некоторые Ubuntu), вероятно, это проблема. Вам необходимо изменить контекст безопасности для mySQL, например:

chcon -Rv --type=mysqld_db_t /my/new/data/dir

, или, если вы используете AppArmor (Ubuntu), вам необходимо обновить свой

/etc/apparmor.d/usr.sbin.mysql
4
ответ дан 3 December 2019 в 18:01

Теги

Похожие вопросы