MySQL Error: що це і як виправити помилки
MySQL Error - це помилка, що перешкоджає коректній роботі системи управління базами даних. Якщо при роботі з БД виникає проблема, необхідно усунути її перед продовженням обчислювальної операції. відразу після усунення проблеми. різними, тому важливо звертати увагу на її числовий код. Хоча у кожної MySQL Error є текстова назва, краще орієнтуватися на її числове позначення. Код із цифр не змінюється при оновленні версій програми. бувають і як їх виправити.
Як виправити поширені помилки MySQL
У технічній документації MySQL немає покрокових інструкцій з усунення помилок.
Зображення з vectorjuice на Freepik.
Неможливо підключитися до локального сервера
Першу ситуацію, яку ми розберемо - "Error 2002 (HY000)". перевірити правильність налаштувань підключення, переконатися, що сервер запущено та працює коректно, а також переконатися, що сервер доступний з мережі.Якщо проблема не вирішується, можна спробувати перезапустити сервер або перевстановити його.
До вирішення ситуації необхідно підходити послідовно, по черзі перевіряючи кожну з можливих причин виникнення помилки.
Крок 1. Переконайтеся, що локальний сервер знаходиться у працездатному стані. Перевірте, чи запущено процес mysqld на хості сервера. Для цього виконайте команди ps або grep:
Крок 2. Дочекайтеся появи вихідних даних. Їх відсутність є сигналом те, що сервер БД відключений і в користувача не виходить до нього підключитися. Щоб запустити сервер, введіть команду systemctl:
Крок 3. Стан системи MySQL перевіряється наступною командою:
Крок 4. Якщо помилка зберігається, необхідно повторно перезапустити службу та дослідити її стан.
Крок 5. Якщо сервер запрацював, але помилка все одно відображається, потрібно перевірити на блокування порту TCP/IP брандмауером або будь-якою іншою службою блокування портів. Пошук порту виконується за допомогою команди:
Неможливо підключитися до сервера MySQL
Ситуація зі схожим кодом - "Error 2003". Проблема трактується так: клієнт не може встановити з'єднання з сервером через відсутність підключення до мережі або неправильної конфігурації. Це може бути викликано також неправильним портом для підключення або блокування з'єднання на стороні сервера. Для усунення проблеми перевірте:
- Чи запущено сервер бази даних MySQL. Якщо ні, запустіть його.
- Чи правильно налаштовано порт для підключення до сервера. Спочатку порт MySQL — 3306. Якщо його було змінено, переконайтеся, що ви використовуєте правильний порт.
- Чи правильно налаштований фаєрвол.
- Чи правильно налаштовано файл конфігурації: перевірте ім'я хоста, порт, ім'я користувача та пароль.
- Спробуйте перезавантажити сервер та знову підключитися до нього.
Якщо всі перераховані вище методи не допомогли, перевстановіть MySQL.
Помилки заборони доступу
Робота з базами даних передбачає, що користувачі можуть мати різні рівні доступу до тієї чи іншої інформації. І тому MySQL створюються облікові записи (УЗ), у яких користувач ідентифікується на ім'я і хосту. Щоб уникнути несанкціонованого підключення до БД, клієнт також повинен пройти автентифікацію за логіном та паролем. Помилка заборони доступу до MySQL може виникати, якщо обліковий запис, який використовується для входу, не має права на доступ до певної інформації. Для усунення несправності перевірте права доступу, призначені імені користувача, яке ви вводите для авторизації в УЗ, і клієнтської програми, що використовується для підключення до серверу. Команда для перевірки прав доступу:
Якщо ви бажаєте надати право доступу новому користувачу БД, введіть у командний рядок:
Втрата з'єднання з сервером MySQL
Подібна складність пов'язана з тим, що клієнт успішно підключений до сервера, але в процесі роботи відбулася втрата з'єднання. Це може бути викликано різними причинами:
- слабке/нестабільне мережне з'єднання;
- перевищення "time out" при очікуванні з'єднання з сервером;
- max_allowed_packet менше, ніж BLOB.
Крок 1. Перевірте мережне з'єднання, особливо якщо ви підключаєтеся до сервера з віддаленого пристрою.
Крок 2. Відкоригуйте значення параметра connect_timeout. Можливо, після його збільшення вам вдасться налагодити зв'язок із сервером MySQL.
Крок 3. Як і з параметрами time out, пропишіть вище значення для max_allowed_packet. Знайти файл конфігурації можна через шлях: /etc/my.cnf. У розділі [mysqld] або [client]:
Занадто багато підключень
З MySQL-сервером за замовчуванням можна встановити не більше 151 з'єднань одночасно. Коли їхня кількість досягає максимуму, нові користувачі не можуть отримати доступ. Для усунення проблеми необхідно звернутися до системної змінної max_connections, збільшивши її значення. Дорога до змінної: /etc/my.cnf.
Недостатньо пам'яті
Проблема трактується так: сервер не виходить виконати запит через брак оперативної пам'яті. Його ресурси вичерпні: йому може вистачити пам'яті зберігання результатів запиту. Так відбувається, якщо на сервері працює забагато запитів або якщо використовується великий обсяг даних. Для вирішення проблеми необхідно збільшити обсяг оперативної пам'яті або оптимізувати запити та дані, щоб зменшити споживання пам'яті. Можна також збільшити параметри конфігурації MySQL, пов'язані з використанням пам'яті.
Однак, перш ніж переходити до налаштування сервера, необхідно переконатися, що запит був коректним:
- відключіть завантаження результатів з кешу, якщо клієнт MySQL використовується безпосередньо, запустивши його із ключем quick switch;
- Вимкніть роботу з результатами кешу під час використання драйвера MyODBC.
Якщо після цього потреба в оптимізації продуктивності сервера зберігається, виконайте такі команди:
Висновок
Перш ніж приступати до виправлення помилки, проведіть діагностику системи та визначте, що саме спричинило несправність. У помилок з одним числовим кодом можуть бути різні причини появи. Корисним інструментом у цій справі буде журнал MySQL.
Коди помилок у MySQL
Розділ містить матеріали про найпоширеніші коди помилок MySQL та про те, як швидко виявити та виключити причину помилки, зберігши працездатність програми.
Помилки зовнішніх ключів: errno 150, MySQL error 1005 та інші
У цій статті наведено пояснення, як отримати додаткову інформацію про помилку та наведено повний список причин виникнення помилок під час роботи із зовнішніми ключами.
MySQL error 1045
Статистика форуму SQLinfo показує, що однією з найпопулярніших проблем є помилка mysql №1045 (помилка доступу).
MySQL error 1054 і як з нею боротися
Error 1054 Unknown column 'column_name' in 'field list' - одна з найпоширеніших помилок, що часто виникає при оновленні деяких CMS. Стаття розповідає про те, як позбутися цієї помилки та відновити працездатність CMS.
MySQL error 1064
У статті пояснюється, що означає помилка сервера MySQL 1064 (ER_PARSE_ERROR), розглядаються типові ситуації та причини виникнення цієї помилки, а також надаються рекомендації щодо виправлення.
MySQL error 1093 та 1235
У статті розглянуто помилки, які виникають через обмеження сервера MySQL на виконання деяких видів підзапитів. Дано рекомендації та приклади щодо їх виправлення.