Назад | Перейти на главную страницу

автоматическое обслуживание mysql

Есть ли сценарий, выполняющий обслуживание mysql?

или

как я могу сделать это вручную, используя вкладку cron?

и

какие шаги следует выполнить при хорошем обслуживании mysql?

(MyISAM)

Безусловно, лучший код с открытым исходным кодом и используемый код - это для простых резервных копий. automysqlbackup

Он может делать простые полные резервные копии и автоматически чередовать их за вас.

Вместо этого вы также можете рассмотреть возможность использования LVM в вашем каталоге mysql и создания резервных копий на лету без необходимости блокировки таблиц.

Таблицы MyISAM - это блокировка таблиц, а не блокировка строк, поэтому во время резервного копирования mysql некоторые таблицы недоступны для записи.

Если у вас не очень высокая пропускная способность, просто перейдите по ссылке, которую я вам дал: D

mysqlcheck в crontab работает хорошо. Периодически просматривайте журналы.

В документации есть важное предостережение:

Каждая таблица заблокирована и, следовательно, недоступна для других сеансов, пока она обрабатывается, хотя для операций проверки таблица заблокирована только блокировкой READ Блокировка только READ

Вот как я это использовал:

mysqlcheck -u $DB_USER -p"$DB_PASS" --all-databases > /root/mysql_backups/check_errors-${DATESTAMP}.log

Если вы не используете индексы FULLTEXT, вам действительно следует преобразовать в InnoDB. MyISAM старый и воля испортить ваши данные при малейшем предлоге, не говоря уже о том, что это медленно. Преобразование так же просто, как:

  1. Убедитесь, что вы используете MySQL 5.1 или новее.
  2. Выдача ALTER TABLE (tablename) ENGINE=InnoDB для каждой таблицы.
  3. (Если вы используете свой собственный MySQLd) Изменение my.cnf для выделения места для innodb_buffer_pool; вы можете поменять местами любое пространство, выделенное для key_buffer, поскольку InnoDB этого не использует.

Если вы настаиваете на использовании MyISAM, простой "mysqlcheck -A --optimize" или аналогичный должен сделать то, что вам кажется.