Уже много лет MySQL был стандартной базой данной для многих приложений. После того как она была куплена Oracle‘ом, многие люди стали сомневаться в её open-source’ности и сообщество решило создать новый fork и назвали его «MariaDB«. MariaDB в свою очередь может быть использована вместо MySQL без каких-либо проблем, даже если изначально вы использовали MySQL.
Интересный факт: MariaDB была названа в честь дочери создателя — «Мария».
Если ранее у вас был установлен MySQL, то лучшее всего сначала удалить его, но не забудьте сделать копию вашей текущей базы данных. Поверьте мне, было у меня несколько раз, когда я безвозвратно удалял базы данных и это неисприятных моментов.
Подключиться к серверу через Linux
Чтобы подключиться к серверу через Linux нужно, открыть терминал и ввести следующую команду:
ssh -p port user@ip
вместо port
указываете порт подключения (по стандарту — это 22).
вместо user
указывается имя пользователя, а вместо ip
указываете IP сервера или домен вашего сайта к которому вы пытаетесь подключиться.
Подключиться к серверу через Windows
Чтобы подключиться к серверу с Windows, вам нужно скачать PuTTY. После того как вы ее запустили, вы должны ввести данные для подключения к вашему серверу (они должны быть такие же как и для Linux примера выше). Ниже показан скриншот PuTTY после первого открытия.
В поле Host Name
вводите имя домена для подключения или IP. Порт оставляете такое же, если вы его не меняли и дальше нажимаете «Open» и у вас должна открыться консоль где от вас потребуется ввода логина и пароля.
Back-up базы данных
Перед тем как удалить MySQL лучше всего сделать back-up данных, чтобы не потерять важную для нас информацию.
Для начала создадим папку для хранения копии базы данных:
mkdir /tmp/backupsql && cd $_
Эта команда создаст папку backupsql
внутри /tmp
и сразу переместит вас в только что созданную папку.
Находясь в папке backupsql
введите команду (ниже). Она создаст копию вашей текущей базы данных от WordPress сайта.
Создание копии базы данных
root
— это имя пользователя
имя_базы
— это имя базы данных к которой подключен ваш WordPress сайт
имя_файла_back_up.sql
— вводите любое название файла. В нем будет храниться копия ваших данных от сайта. Он так же нам понадобиться потом, чтобы импортивровать данные в MariaDB.
mysqldump -u root -p имя_базы > имя_файла_back_up.sql;
После ввода команды и нажатия Enter у вас должен запроситься пароль от пользоателя. В моем случае — это root
.
Удаляем MySQL и устанавливаем MariaDB
apt-get purge mysql* apt-get install mariadb-client-10.0 apt-get install mariadb-server-10.0
Первая строка удалит все что связанное с MySQL. Вторая и третья строка установят все нужные компоненты для MariaDB.
Если вы пытаетесь повторно установить MariaDB, то вместо команд выше вам нужно ввести следующие команды:
apt-get purge mysql* mariadb* apt-get install mariadb-client-10.0 apt-get install mariadb-server-10.0
Первая строка удалит все компоненты от MySQL и MariaDB и потом установит все что вам нужно для корректной работы MariaDB.
Во время установки у вас попросит пароль. Этот тот самый пароль, который мы вводили при создания back-up базы данных от вашего сайта.
После того как вы ввели пароль и нажали Enter, MariaDB должна успешно установиться.
Далее её нужно запустить:
sudo service mysql start
Если все запустилось, то теперь нам нужно загрузить копию базы данных в MariaDB.
Импортируем back-up в MariaDB
Мы сделали копию базы данных сайта прежде чем мы перешли с MySQL на MariaDB. Для начала заново создадим базу данных для сайта. Для этого нужно зайти в MariaDB, это можно сделать следующим образом:
mysql -u root -p
У вас должно запросить пароль, вводите его и прописываете и далее прописываете следующее:
CREATE DATABASE имя_базы;
имя_базы
— это имя вашей базы для сайта. Вы можете создать тоже самое, что было до этого или написать другое. После того как нажали Enter пишем exit и выходим из MariaDB.
После этого нужно зайти в папку с .SQL файлом (/tmp/backupsql
), чтобы вернуть все данные обратно в базу.
Сначала заходим в папку:
cd /tmp/backupsql
После того как зашли, нам нужно прописать следующее:
mysqldump -u root -p имя_базы < имя_файла_back_up.sql;
Параметры этой строки уже были выше прописаны. Единственное, что поменялось в этой строке — это «>» (из базы данных) на «<» (в базу данных) и все.
Далее нам нужно проверить успешность импорта, это можно сделать следующим образом:
Сначала снова войдем в MariaDB:
mysql -u root -p
Далее пишем:
USE имя_базы;
Вы должны быть перемещены в определенную базу данных (имя_базы) и далее пишем следующее:
SHOW TABLES;
Если есть список таблиц, то все хорошо, можно двигаться дальше (смотреть ниже), а если нет, то повторите процесс с момента импорта .SQL файла.
Теперь нам нужно создать пользователя, который будет иметь права доступа к этой базе со стороны сайта.
Имя пользователя и пароль я буду использовать такой же, который прописан в wp_config.php
от в корне WordPress сайта.
Если вы зайдете в wp_config.php
, то там сможете найти две строки которые выглядят следующим образом (они нам и понадобятся):
define('DB_USER', 'имя_пользователя')
— имя пользователя
define('DB_PASSWORD', 'пароль')
— пароль от входа
И теперь создаем пользователя:
CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'пароль';
Внимание! Вы можете поменять имя пользователя и пароль, но самое главное потом не забудьте сделать тоже самое в wp_config.php
.
Далее нам нужно выдать права для имя_пользователя
к базе (имя_базы
), которая была создана для сайта:
GRANT ALL PRIVILEGES ON имя_базы.* TO 'имя_пользователя'@'localhost';
И после этого нужно прописать следующее:
FLUSH PRIVILEGES; exit
Первая строка обновит все таблицы с правами, чтобы имя_пользователя
стал активным и получил нужные ему права и потом можете выходить из MariaDB (exit
).
После этого нужно снова перезагрузить MariaDB:
sudo service mysql restart
После этого этапа заходим на сайт и радуемся! Уху, теперь WordPress работает c MariaDB.
Ошибки
В этой секции я бы хотел расписать некоторые из ошибок, которые у вас могут возникнуть при работе с MariaDB. Я не хочу, чтобы вы как и я когда-то тратил много времени на поиск к их решению.
Ошибка создания пользователя
Если у вас выдает подобную ошибку:
ERROR 1396 (HY000): Operation CREATE USER failed for 'имя_пользователя'@'localhost'
Тогда внутри MariaDB вам нужно прописать следующее:
DROP USER 'имя_пользователя@localhost'; FLUSH PRIVILEGES;
И теперь пользователь должен создаться.
Послесловие
На этом все. Если у вас остались какие-либо вопросы или проблемы, то пишите их ниже под этой записью, я помогу вам решить ее.