Встановлення
MySQL — система управління базами даних.
Після встановлення Apache:
Встановлення MySQL
sudo apt install mysql-server -yЯкщо MySQL встановлюється для для локальної розробки
Щоб мати можливість заходити в MySQL через команду sudo mysql без введення root-пароля (корисно для локальної розробки), необхідно переконатися, що MySQL налаштований на використання плагіна аутентифікації auth_socket для користувача root. Ось кроки для налаштування:
1. Увійдіть у MySQL
Запустіть MySQL під користувачем root за допомогою sudo:
sudo mysql2. Перевірте плагін аутентифікації для root
rootВиконайте SQL-запит, щоб перевірити, який плагін використовується для аутентифікації:
SELECT user, plugin, host FROM mysql.user WHERE user = 'root';У стовпці plugin ви можете побачити поточний плагін. Найпоширеніші варіанти:
auth_socket: дозволяє входити без пароля черезsudo mysql.mysql_native_password: вимагає пароль для доступу.
3. Змініть плагін на auth_socket (якщо потрібно)
auth_socket (якщо потрібно)Якщо auth_socket ще не використовується, змініть плагін:
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
FLUSH PRIVILEGES;4. Вийдіть із MySQL
EXIT;5. Перевірте доступ
Спробуйте підключитися до MySQL:
sudo mysqlЯкщо все налаштовано правильно, ви повинні увійти без запиту пароля.
6. Повернення до пароля (якщо необхідно в майбутньому)
Якщо вам знадобиться змінити плагін назад на парольну аутентифікацію, виконайте таку команду:
sudo mysqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ваш_пароль';
FLUSH PRIVILEGES;Після цього для доступу до MySQL від імені root знову буде потрібен пароль:
mysql -u root -pПримітка
Метод auth_socket зручний для локальної розробки, але не рекомендується для серверів у продакшні, оскільки він спрощує доступ до MySQL для користувачів із правами sudo на сервері.
Якщо MySQL встановлюється на сервері
Захист і налаштування MySQL:
Після встановлення виконайте команду для базового налаштування безпеки:
sudo mysql_secure_installationВас запитають про налаштування root-пароля, видалення анонімних користувачів, заборону віддаленого доступу root тощо.
Перевірка статусу MySQL:
sudo systemctl status mysqlЗапуск і автоматичне завантаження MySQL:
sudo systemctl start mysql
sudo systemctl enable mysqlПеревірка роботи MySQL
Увійдіть у MySQL для тестування:
sudo mysql -u root -pВиконайте просту команду:
SHOW DATABASES;Last updated