Настройка MySQL на Ubuntu 18.04 и Nginx
Настройка MySQL на Ubuntu 18.04 и Nginx
Сборка LEMP была сделана в предыдущей статье, сейчас подробнее разберем настройку базы данных MySQL.
При базовой настройке я не настраивал безопасность, поэтому выполним команду
После этого необходимо подтвердить установку плагина Validate Password Plugin, который будет проверять безопасность паролей к базе данных. Нажимаем Y
Далее необходимо выбрать уровень валидации паролей и ввести 0, 1 или 2.
После выбора уровня валидации необходимо придумать пароль, затем будет предложено удалить ананомного пользователя
Далее будет вопрос - запретить пользователю root удаленный доступ?
Далее будет вопрос - удалить тестовуб базу данных?
Вводим команду
Далее входим в mysql под пользователем root с помощью команды
Следующим запросом можно посмотреть данные по существующим пользователям
Работа с MySQL в терминале
Из основных и необходимых манипуляций с базой данных MySQL через терминал часто применяются команды: создать базу данных, создать пользователя и пароль, дать привилегии пользователю, разрешить удаленное соединение с базой данных, узнать доступные базы данных на сервере, узнать существующих пользователей и их права, сделать дамп и развернуть дамп базы данных. Приведу примеры этих команд.
Чтобы создать базу данных, сначала необходимо авторизоваться как пользователь в mysql
Вместо root может быть любой другой пользователь, который у вас создан, но стандартно есть пользователь root, который работает без пароля. Да, у вас после введения команды запросит пароль, но изначально для root пароль не требуется и можете нажать Enter, просто удаленный доступ для root запрещен по умолчанию
Чтобы посмотреть пользователей необходимо выполнить следующее. Сначала выбираем базу данных а потом выбираем пользователей из нее. Можно это сделать, как в примере выше, но можно и таким способом.
Или можно так, чтобы посмотреть, какой пользователь может соединяться с базой только через localhost, а какой с определенного IP, или же в случае "%" - с любого адреса.
Создаем базу данных:
Чтобы посмотреть список баз данных:
Чтобы создать пользователя:
Теперь дадим созданному пользователю привилегии на работу с нашей базой данных:
После этого необходимо обновить таблицу прав пользователей, чтобы изменения вступили в силу:
Чтобы посмотреть привилегии пользователей, можно использовать следующие команды. Эта команда выведет привилегии пользователя, под которым вы залогинились в базу данных.
Чтобы посмотреть все привилегии всех пользователей:
Чтобы посмотреть привилегии определенного пользователя:
После того, как дали привилегии, может понадобиться разрешить удаленное соединение к базе данных. Удаленное соединение к базе, это соединение с использованием сторонних программ, например, в PyCharm можно просматривать базу данных не только через терминал, а с использованием инструментов IDE
Чтобы дать удаленное соединение к базе MySQL, необходимо открыть файл mysqld.cnf, например в редакторе vim
В открытом файле найти строку, которая начинается с bind-address. Чтобы найти строку в редакторе vim, необходимо в командном режиме (до нажатия клавиши i) поставить слэш и начать писать искомое слово, после того, как строка найдена, нажать Enter и перейти в режим редактирования (нажать клавишу i).
У меня установлено значение "0.0.0.0", что означает возможность подключения с любого IP, но вы можете поставить только свой IP. После изменения значения, необходимо сохранить и выйти из редактора vim. Чтобы это сделать, нажмите Esc - вы перейдете в командный режим, потом введите :wq - что означает "записать и выйти". Далее введите команду, чтобы перезапустить сервис mysql.
Далее часто необходимо, это создание дампа, настройка бэкапа по cron, развертывание бэкапа из дампа.
Перед тем, как создать бэкап, создадим папку для бэкапов командой
После этого введем команду
В команде вводится пользователь skdesigndb и название базы данных skdesign_ru, а пароль уже запрашивается после. Ждем какое-то время, все зависит от размера вашей базы данных, дальше можем проверить, что же получилось.
Можем посмотреть данные о бэкапе с помощью команды
Можем воспользоваться и другой командой, чтобы узнать время создания и модификации файла
Чтобы развернуть дамп MySQL
После потребуется ввести пароль. Но если вы хотите, например, поставить разворачивание бэкапа по cron, или удаленное создание бэкапа по cron с другого сервера, вам придется настроить специальную заготовку для ввода логина и пароля. Без этого, вы будете получать ошибку "(Warning: Using a password on the command line interface can be insecure.)"
Можно посмотреть готовые конфиги, если они уже были созданы
После этого можно такой конфиг использовать таким образом
Чтобы добавить скрипт создания дампа MySQL в cron, сделаем так. В редакторе vim создаем файл с таким содержимым.
Также вводим такую команду
Если вам вдруг необходимо скачать дамп с одного сервера на другой сервер, то заходим на тот сервер, на который хотите скачать и с помощью утилиты scp выполняем такую операцию:
- 687