Главная » Статьи » Настройка СУБД: что делать, если MySQL выдает error?

Настройка СУБД: что делать, если MySQL выдает error?

Настройка СУБД: что делать, если MySQL выдает error?

От автора: функционал системы управления базами данных MySQL невероятен. Освоить работу с этим инструментом не легче, чем выучить абсолютно новый язык программирования. Многие начинающие разработчики даже не знают с чего начать. С другой стороны, когда MySQL прописывает «error» с неизвестным номером, у новичка и вовсе опускаются руки. Среди тем, которые мы обсудим в сегодняшней статье, будет работа с MySQL в Linux. Полностью мы не сможем охватить все, но покажем, что не стоит паниковать при первых трудностях. У каждой MySQL error есть решение!

Установить на Linux – легко

Если вы работаете с языком программирования PHP, то базы данных MySQL уже установлены на вашем компьютере. Они поставляются вместе с AMP наборами разработчика. Но в пакете программного обеспечения может находится MariaDB или другая СУБД, а вам нужен именно MySQL. Тем более, что обработка ошибок намного лучше реализована именно на версии My.

Как всегда, главным героем этого параграфа станет терминал. Он наилучшим образом подходит для установки программного обеспечения на Linux-подобные операционные системы:

он потребляет меньше ресурсов, чем любой, даже самый оптимизированный интерфейс. А сложность работы с командной строкой не больше, чем изучение php;

перечень команд. Когда вы пользуетесь графическим установщиком, то вынуждены ждать, пока программа поэтапно выполнит все действия. В терминале можно прописать определенную последовательность. Таким образом, у системного администратора высвобождается время для более трудоемких задач;

копипаст. Когда вы хотите скачать программу на Windows, вам необходимо загружать на компьютер установщики, причем, не всегда из проверенных источников. В случае с Linux, нужно просто скопировать команду, если она не была известна вам ранее.

Предпочтительная установка MySQL на Linux тоже происходит благодаря консоли. Чтобы ее совершить, будет необходимо использовать три команды:

$ sudo apt update
$ sudo apt install mysql-server
$ sudo mysql_secure_installation

Первая из них служит для того, чтобы обновить пакеты. Когда мы рассматривали установку MySQL в Windows, то одним из первых шагов были установки утилит: фреймворка и Visual C++. Примерно то же самое мы делаем и командой apt update, чтобы обеспечить совместимость оси с новым программным обеспечением.

Далее, по команде apt install mysql-server будет произведена установка самой MySQL. На данном этапе все могло бы быть окончено, но такая СУБД пока небезопасна, а коды ошибок будут частыми гостями в вашем воркфлоу. Но и здесь консоль выручает пользователя дистрибутива Linux. Вместо того, чтобы вручную настраивать всю конфигурацию, он просто пропишет одну sudo-команду: sudo mysql_secure_installation.

Далее, автопилот Linux на время отключается и управлять настройками начинает администратор. На этом этапе, он получит предложение об инсталляции валидатора паролей (надежное средство от подбора и брутфорса). А после, необходимо будет создать рут-пароль, как и в GUI-установщике Windows.

Существуют и решения для обеспечения безопасности при подключении к MySQL других инструментов, таких как phpMyAdmin. Согласно стандартным настройкам, рут-права получает пользователь, который введет пароль либо использует плагин для автоматического входа. phpMyAdmin не позволит программе вводить данные аутентификации. Он требует лишь ввода рут-пасса, который подтвердит санкционированность действий пользователя.

База данных из консоли

Если программное обеспечение можно установить при помощи терминала, значит можно проводить управление ею точно таким же способом. К примеру, создать базу данных можно не только с GUI-интерфейса Linux, но и при помощи командной строки. Для этого нужно лишь знать немного команд и владеть root в MySQL, где мы и будем создавать базу данных. Сделать это можно при помощи команды:

$ mysql –u root -p

Далее, в том же интерфейсе, необходимо дать команду для создания базы данных:

mysql> CREATE DATABASE имя_базы;

Чтобы убедится в том, что база данных создана, нужно прописать команду:

mysql> SHOW DATBASES;

Прямо из терминала, базами данных можно и управлять. Но, это тема для целой книги, а не краткого параграфа в рамках статьи. Чтобы ознакомится с другими возможностями такого управления, читайте документацию MySQL и операционной системы, с которой вы стартуете.

Обработка исключений

Некоторые называют их ошибками, но это не совсем верный подход. Дело в том, что исключения не всегда являются таковыми, несмотря на то, что даже утилиты могут называть «обработчиками ошибок». Исключительная ситуация – это такое состояние данных или целой системы, которое делает дальнейшие операции невозможными или лишенными всякого смысла. То есть, это может быть не столько ошибка программиста или системы, сколько закономерное явление, которое препятствует работе. Конечно же, подобные ситуации возникают и в MySQL. Благо, программа умеет обрабатывать ошибки.

Иногда, ошибка может показаться незначительной. Например, несмотря на то, что какая-то из операций выдала ошибку, сама программа сработала правильно, полностью игнорируя искаженные данные. В ряде случаев программисты даже создают алгоритмы, в которых код выполняется несмотря ни на что. Но, с базами данных MySQL так поступать нельзя. Хранимые операции, если окажутся ошибочными, могут полностью дискредитировать целостность базы данных, как и информацию, которая в ней хранится.

Разработчики, которые используют MySQL в качестве системы управления базами данных, назначают сразу несколько обработчиков, а после, задают им приоритет. Важно, чтобы программа не только остановила свою работу при обнаружении ошибки, но и сигнализировала об этом. Игнорирование здесь неуместно: лучше увидеть разочаровывающие оповещения с номером ситуации, чем иметь полностью неправильные вычисления.

Цифры в ошибках

MySQL обозначает все свои ошибки при помощи цифр. Взирая на то, что неполадка может возникнуть как на клиентской, так и на серверной стороне, числа помогают понять, где искать проблему. Кроме чисел, ошибки имеют название и описание. Но, искать ошибку по слову – не очень хорошая затея. Эти атрибуты меняются от версии к версии программного обеспечения, в то время, как числа – довольно стойкая характеристика.

ER_INVALID_DEFAULT

Это одна из самых распространённых ошибок, обозначение которой 1067. В документации объяснение мало чем поможет: оно создано программистами. Но, сообщество пользователей уже сумело разгадать причину invalid_default. Ошибка 1067 может сигнализировать сразу о нескольких ситуациях. Как правило, причина преткновения в том, что неверно была указана директория для инсталлирования MySQL. Если построить процедуру установки СУБД и не использовать пробелы в «пути», то такая проблема больше не возникнет.

А у нас все! Осваивайте MySQL на практике: только так можно стать джедаем баз данных.