Собственно я так и не обнаружил как сказать MySQL чтобы он по умолчанию создавал таблицы типа InnoDB. Поэтому не мудрствуя лукаво быстренько "на коленке" накатал следующий скрипт:
Ну и конечно-же всё это можно уместить в одну строчку и даже можно попытаться алиас создать.
MYSQL='mysql -uusername -ppassword database' echo "show tables" | \ $MYSQL | \ awk 'BEGIN { n=1} n==0 { printf("ALTER TABLE %s ENGINE=InnoDB;\n", $1) } n==1 { n=0 }' | \ $MYSQLДёшево и сердито! ;)
Ну и конечно-же всё это можно уместить в одну строчку и даже можно попытаться алиас создать.
alias mysqlmoddb='echo "show tables" | $MYSQL | awk '\''BEGIN { n=1} n==0 { printf("ALTER TABLE %s ENGINE=InnoDB;\n", $1) } n==1 { n=0 }'\'' | $MYSQL'Тогда достаточно будет лишь менять значение переменной MYSQL, примерно так:
$ MYSQL='mysql -uroot mysql' $ mysqlmoddb
2 коментарі:
документация говорит, что в секцию [mysqld] файла глобальной конфигурации надо добавить строку
default-storage-engine=innodb
и перезапустить mysql. именно restart, а не reload.
ссылка потерялась.
вот:
описание параметра и опции
Дописати коментар