Check and Optimize MySQL Database Automatically with Crontab/Cron Перевірка й оптимізація баз даних MySQL автоматично з Crontab / Cron
MySQL is a very popular free yet powerful database system. MySQL є дуже популярною безкоштовної ще потужні системи баз даних. But even in great databases, the tables may get fragmented with overhead due to continuous update, or delete and insert operation on data stored in database. Але навіть у великих базах даних, таблиці можуть отримати фрагментовані з накладних у зв'язку з безперервним оновленням, або видалити, і вставити операцію за даними, що зберігаються в базі даних. Beside, it's also possibility that the databases may get corrupted. Крім того, це також можливість того, що бази даних можуть отримати пошкоджений. Thus, performing health check on database and optimize MySQL server regularly is an important task. Таким чином, виконуючи перевірку здоров'я на базі даних та оптимізації MySQL-сервера регулярно є важливим завданням.
It's a bit troublesome if the database administrators have to login to the server or launching the phpMyAdmin to optimize the databases one by one or table by table manually. Це трохи важким, якщо адміністратори баз даних повинні зареєструватися на сервері або початку PhpMyAdmin для оптимізації баз даних по одному або таблиці таблицю вручну. Sometimes DB admin may simply forgets to do the job or set the frequency of optimization to lesser times. Іноді DB адміністратор може просто забула, щоб зробити роботу або встановіть частоту оптимізації менш рази. It's recommended that every tables in MySQL databases are checked at least once a day on a busy server. Він рекомендував, щоб у кожній таблиці в базі даних перевіряються не рідше одного разу в день, навантаження на сервер.
It's possible to automate the optimization of MySQL process by using crontab function in Linux/Unix/CentOS/FreeBSD. Можна автоматизувати та оптимізувати процес MySQL, використовуючи функцію Crontab в Linux / Unix / CentOS / FreeBSD. The cron job to check and optimize MySQL databases can be created by using mysqlcheck client utility comes MySQL installation. У CRON завдання для перевірки та оптимізації MySQL бази даних можуть бути створені за допомогою утиліти mysqlcheck клієнт приходить встановленню MySQL. mysqlcheck client can checks, repairs, optimizes, and analyzes tables in MySQL database. mysqlcheck клієнт може перевірка, ремонт, оптимізує та аналіз таблиць в базі даних MySQL.
To create a new cron job, login to the server as root or any other user, and then edit the crontab file (in most operating system, crontab -e will open crontab file in default text editor) to add in the following line of text. Для створення нового завдання хрон, увійти на сервер в якості сервера або будь-якого іншого користувача, а потім змінити Crontab файл (в більшості операційних систем, Crontab-е відкриє Crontab-файл у текстовому редакторі за замовчуванням), щоб додати на наступний рядок тексту . For users using cPanel, click on “Cron job” where you can set up crontab at daily, hourly and other interval. Для користувачів, що використовують CPanel, натисніть кнопку "Cron Job", де ви можете налаштувати Crontab на кожен день, погодинна та інших інтервалу. Experience webmasters can also set up a crontab file in rc.hourly or rc.daily or other cron directory. Досвід роботи веб-майстра можна створити файл у Crontab rc.hourly або rc.daily або інших CRON каталог. Note that if you login as a MySQL or normal user with no access privileges to all database, it's not possible to optimize all databases, unless user ID and password for root is specified as in example below. Зауважимо, що, якщо вхід в MySQL або звичайний користувач, не маючи доступу до привілеїв всіх баз даних, це не представляється можливим оптимізувати всі бази даних, якщо ідентифікатор користувача і пароль для кореневого зазначено, як у прикладі нижче.
0 1 * * * mysqlcheck -Aao –auto-repair -u root -p[password] > /dev/null 0 1 * * * mysqlcheck-Aao-Авто-ремонт-У-П корінь [пароль]> / Dev / нуль
The above statement has the syntax similar to “mysqlcheck [options] –all-databases”, where –all-databases parameter is the default action is no databases is specified thus can be omitted. Наведені вище заяви синтаксис типу "mysqlcheck [опції] для всіх баз даних", де все-даних параметрів за замовчуванням дій немає даних визначається таким чином, можуть бути опущені. The command will run mysqlcheck client to automatically analyze and optimize all databases at 1 am everyday. Команда буде працювати mysqlcheck клієнт для автоматичного аналізу та оптимізації всіх баз даних у 1 час кожен день. Note that there is not space between -p and your password for root. Майте на увазі, що немає простору між P і пароль для суперкористувача. You can change the running time to your preference, and also change the options for mysqlcheck command. Ви можете змінити час для ваших уподобань, а також змінити параметри mysqlcheck команди. If you just want to check and optimize certain databases or certain tables without the database, use the following syntax: Якщо ви просто хочете перевірити, і оптимізувати певні бази даних або окремих таблиць без даних, використовуйте такий синтаксис:
mysqlcheck [options] db_name [tables] mysqlcheck [цю] DB_NAME [таблиці]
mysqlcheck [options] –databases DB1 [DB2 DB3...] mysqlcheck [цю] баз DB1 [DB2 DB3 ...]
You may want to remove –auto-repair switch from the above command, as a table repair operation might cause data loss under some circumstances the operation due to causes include but are not limited to filesystem errors. Можливо, Ви захочете видалити авто-ремонті перейти з команд, а в таблиці ремонту операція може привести до втрати даних при певних обставинах операція з причин, які включають, але не обмежуючись ними помилок файлової системи. For those who has changed the character set and collation of MySQL databases may also need to use –default-character-set option. Для тих, хто змінив набір символів і порівняння баз даних MySQL, можливо, також необхідно використовувати за замовчуванням символи набору варіантів. More information on all available switches and options available can be found Більш докладну інформацію про всі наявні комутаторів і варіантів може бути знайдений here тут . .
IMPORTANT : The page is machine translated and provided "as is" without warranty. Увага: Ця сторінка машина переведена і надаються "як є" без гарантії. Machine translation may be difficult to understand. Машинний переклад може бути важким для розуміння. Please refer to Будь ласка, зверніться до original English article Англійська оригінальні статті whenever possible. коли це можливо.
Related Articles Статті по темі
- MySQL Database Performance Tuning Best Practices Video Tutorial База даних MySQL вистави Тюнінг передовий досвід Video Tutorial
- Enable Logging of Slow Queries (Slow Query Log) in MySQL Database Включити логгінг повільних запитів (Низька Запит реєстрації) в бази даних MySQL
- How to Find and Replace Text in MySQL Database using SQL Як знайти і замінити текст в бази даних MySQL, використовуючи SQL
- Change and Reset MySQL root Password Зміни та MySQL Скинути пароль
- Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 - Part 3 Установка веб-сервера на FreeBSD 6.0 з Apache 2.2, MySQL 5.0 та PHP 5 - Частина 3
- Remove or Trim First or Last Few Characters in MySQL Database with SQL Видаліть обрізки перший або останні декілька символів в MySQL бази даних з SQL
- How to Backup and Restore (Export and Import) MySQL Databases Tutorial Як резервне копіювання і відновлення (експорт та імпорт) баз даних MySQL Учебник
- Reset the Root Password of MySQL Server Скинути пароль в MySQL Server
- Using phpMyAdmin for Effective MySQL Management in Windows XP Використання PhpMyAdmin MySQL для ефективного управління в Windows XP
- Install phpBB 2 in Windows XP running on Apache 2, PHP 5 and MySQL 4 Встановити PhpBB 2 в Windows XP працює на Apache 2, PHP 5 и MySQL 4










































April 2nd, 2009 09:41 2 квітня 2009 09:41
I'ma newby on managing MySQL. Я newby з управління MySQL.
I want to ask you, how to to make sure if the Cron is working? Я хочу запитати вас, як переконатися, що якщо Cron працює?
Thanks Спасибо
November 16th, 2008 12:48 16 листопада 2008 12:48
along the lines of what Zubin is suggesting you can use the –silent(-s) switch as well, so you only get output if there is an error, something like вздовж лінії, що Зубін пропонує ви можете використовувати опцію-Silent (-ів) перемикання, так що ви можете отримати тільки висновок якщо є помилки, что-то вроде
MAILTO=email@domain.com Електронної пошти = email@domain.com
0 1 * * * mysqlcheck -Aaos -uroot -ppassword 0 1 * * * mysqlcheck-Aaos-uroot-ppassword
this way you will only get an email if there is an error Таким чином, ви можете отримати тільки по електронній пошті, якщо є помилки
September 20th, 2008 18:34 20 Вересня 2008 18:34
Sure mysql does need frequent tunning, and also I have seen a lot of the servers running in the default configuration. Звичайно MySQL чи є необхідність частих tunning, і я бачив багато серверів працює у стандартній конфігурації. which happens to be a very modest one. , Яка буває дуже скромний. If you have access to the mysql configuration file, there are some values that can make your server breathe more often. Якщо у вас є доступ до MySQL файл конфігурації Є деякі цінності, які можуть зробити ваш сервер дихати частіше. And make your visitors more happy. І зробити відвідувачів більш щасливим.
May 6th, 2008 19:15 6 травня 2008 19:15
I did not know that it was nesessary to perform a regular check for mysql. Я не знаю, що він був nesessary виконувати регулярні перевірки MySQL.
January 16th, 2008 06:40 Січень 16, 2008 06:40
Note that -–auto-repair should have two dashes Майте на увазі, що - Авто-ремонт повинен мати два тире
Also, you might want to leave “> /dev/null” out for the first few runs, to see the results of the command (if you put MAILTO=me@mydomain.com at the top of the crontab, the results will get sent there). Крім того, ви можете залишити "> / Dev / нуль" за перші кілька трас, щоб побачити результати роботи команди (якщо ви поклали електронної пошти = me@mydomain.com у верхній частині Crontab, результати будуть отримувати туди).