- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую
Возникла такая задача - перевести все таблицы во всех базах данных на сервере Mysql в InnoDB.
Но выписывать каждую таблицу и каждую базу...годы уйдут.
Не подскажите как в 1 запрос изменить тип базы на InnoDB (с MyISAM) во всех таблицах сразу по всей БД MySQL?
А если есть какие-то ошибки при конвертации - просто игнорировать и оставить MyISAM.
Написать скрипт, который автоматизирует это.
Написать скрипт, который автоматизирует это.
Чё как всегда ? КГБ строим ? 😂
TC
делаешь SHOW TABLES и для каждой таблицы ALTER TABLE
ALTER TABLE t1 ENGINE=InnoDB
Как-бы без скрипта не обойтись можно написать на php за денюшку.
Чё как всегда ? КГБ строим ? 😂
TC
делаешь SHOW TABLES и для каждой таблицы ALTER TABLE
ALTER TABLE t1 ENGINE=InnoDB
Как-бы без скрипта не обойтись можно написать на php за денюшку.
MySQL не дибилы делали.
Наверняка есть что-то типо ALTER * from BASENAME ENGINE=InnoDB - но как точно написать я незнаю.
Какие скрипты, делается однострочником в шелле, хотя если для всех баз то посложнее
for i in `mysql -e 'show databases' | awk '{print $1}' | egrep -v '(mysql|information_schema|Database)'`; do mysql -e 'show tables' $i | egrep -v ^Tables_in | xargs -n1 -I@@ echo "mysql -e 'ALTER TABLE @@ ENGINE=InnoDB' $i" ; done
выдаст что-то типа
mysql -e 'ALTER TABLE users_groups ENGINE=InnoDB' zabbix
mysql -e 'ALTER TABLE usrgrp ENGINE=InnoDB' zabbix
mysql -e 'ALTER TABLE valuemaps ENGINE=InnoDB' zabbix
mysql -e 'ALTER TABLE articles ENGINE=InnoDB' zfconf
mysql -e 'ALTER TABLE pages ENGINE=InnoDB' zfconf
mysql -e 'ALTER TABLE users ENGINE=InnoDB' zfconf
если все ок, то нужно будет просто убрать echo и "" кавычки чтоб команда выполнилась
php пишется за 2 минуты, обычно и не принуждённо ;)
А вот давать совет не зная точности работы команды это уже плохо.
php пишется за 2 минуты, обычно и не принуждённо ;)
написал на шелл за минуту) кто быстрее?)
А вот давать совет не зная точности работы команды это уже плохо.
э?)
Вот это и есть скрипт
А одна там строка или десять - без разницы
MySQL не дибилы делали.
К сожалению, нет защиты от использования MySQL, пардон муа, дебилами.
PS: Не нравятся shell, php, etc - в mysql есть LOOP. Сюрприз!
Ошибки не игнорирует и скрипт останавливается.