Установка MySql на сервер и ее настройка
- Подробности
- Категория: VPS / VDS
- Просмотров: 166
Установка MySql на сервер и ее настройка довольно проста...
Для начала обновим репозитории:
sudo apt update
Далее начнем процесс установки Mysql:
- сперва сервер (для инициализации баз данных)
sudo apt install mysql-server
- и клиент (для подключения)
sudo apt install mysql-client
Настройка
1) прежде делаем вот это - https://saitsozdanie.ru/forum/index.php?topic=9634.0 с 3 пункта
и уже потом переходим только на это:
2)
sudo mysql_secure_installation
Ошибка в том, что многие начинают со 2 пункта, а надо первый сперва!
Далее будут вопросы:
На первый про validation - валидация пароля, то есть должен ли он говорить - это слабый пароль и тд, оценивать, в общем, ...тут лучше поставить n - то есть нет
А далее на все вопросы ставим Да - то есть "y"
- Remove anonymous users - удаляет анонимных пользователей
- Disallow root login remotely - отключить удалённые подключения для root пользователя, это касается только удалённых подключений, подключения с localhost удалёнными не считаются.
- Remove test database and access to it - удалить тестовую базу данных и доступы к ней.
- Reload privilege tables now - перезагрузить таблицу привилегий, чтобы изменения вступили в силу сейчас же.
Донастройка доступа
В системах Ubuntu при запуске MySQL 5.7 доступ для root по умолчанию осуществляется с помощью плагина auth_socket, а не пароля и это может затруднить ситуацию, если вы собираетесь подключать phpmyadmin. Поэтому лучше поменять метод аутентификации с этого плагина на caching_sha2_password или mysql_native_password.
Подключимся и проверим для начала:
sudo mysql
применять уже только что выше установленный пароль, иначе заходим по такой команде:
sudo mysql -u root -p
Проверим метод аутинтификации:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Так как выше, мы уже меняли его, то у нас стоит не auth_socket, а mysql_native_password . Если вы будете использовать phpmyadmin, то лучше использовать ее, а не caching_sha2_password (так как с ней могут быть конфликты)
Перезагрузим права:
FLUSH PRIVILEGES;
и выход
exit
Создание нового пользователя MySql
Не все хотят работать под root и делают дополнительно пользователя базы данных и это делается очень просто...
Для начала надо понять, что заходить под root после настройки надо не по sudo mysql , sudo mysql -u root -p
Создаем пользователя:
CREATE USER 'serg'@'localhost' IDENTIFIED BY 'password';
предоставим ему все права по работе с базой данных:
GRANT ALL PRIVILEGES ON *.* TO 'serg'@'localhost' WITH GRANT OPTION;
Не нужно в конце использовать команду FLUSH PRIVILEGES; поскольку она используется только после команд INSERT , UPDATE, DELETE.
и выход
exit
Тестируем MySql
Обычно она уже запущена, но проверим:
systemctl status mysql.service
Если она остановлена, то запускаем так: sudo systemctl start mysql
после
exit
запускаем команду, которая покажет версию mysql
sudo mysqladmin -p -u root version
, где надо ввести пароль бд root