Работа с MySQL
Эта инструкция охватывает подключение к MySQL, запущенному на сервере 192.168.0.103, и базовые операции.
текущие данные для входа:
- ip 192.168.0.103
- логин root(супер-пользователь), kollokpoi
- пароль 12332155
Предварительные условия
На сервере уже должен быть установлен и запущен MySQL Server. Проверить это можно командой:
systemctl status mysql
# или
sudo systemctl status mysql
Подключение к MySQL
1. Подключение через терминал сервера
Самый прямой способ — использовать командную строку mysql на самом сервере.
# Подключение от имени root (потребует пароль)
mysql -u root -p
# Подключение от другого пользователя
mysql -u kollokpoi -p
После ввода команды нужно будет ввести пароль пользователя.
2. Удаленное подключение из терминала
Чтобы подключиться к MySQL с локальной машины, нужно знать IP сервера и убедиться, что MySQL разрешает удаленные подключения.
mysql -h 192.168.0.103 -u kollokpoi -p
3. Графические клиенты (рекомендуется для начала)
Для визуальной работы с базами данных удобно использовать GUI-клиенты:
MySQL Workbench (Официальный клиент от Oracle)
- Скачать с официального сайта
- Интеграция с MySQL, специализированные инструменты для администрирования
- Позволяет создавать ER-диаграммы
DBeaver (Бесплатный, кроссплатформенный)
- Официальный сайт
- Поддерживает MySQL, PostgreSQL, SQLite и многие другие СУБД
- Понятный интерфейс, возможность редактирования данных в табличном виде
HeidiSQL (Для Windows, бесплатный)
- Официальный сайт
- Простой и легкий интерфейс
- Хорошо подходит для ежедневных операций
Настройка удаленного доступа к MySQL
Если нужно разрешить подключение к MySQL с других компьютеров (например, с твоей локальной машины):
-
Подключись к MySQL на сервере:
mysql -u root -p -
Создай пользователя с правами на удаленное подключение (или измени существующего):
-- Создание нового пользователя с доступом с любого IP
CREATE USER 'kollokpoi'@'%' IDENTIFIED BY 'strong_password';
-- Предоставление всех привилегий на все базы данных
GRANT ALL PRIVILEGES ON *.* TO 'kollokpoi'@'%' WITH GRANT OPTION;
-- Или более безопасный вариант — права только на конкретную базу
GRANT ALL PRIVILEGES ON mydatabase.* TO 'kollokpoi'@'%';
-- Применение изменений прав
FLUSH PRIVILEGES; -
Измени конфигурацию MySQL: Отредактируй файл конфигурации:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfНайди строку
bind-addressи измени её:# Было: bind-address = 127.0.0.1
bind-address = 0.0.0.0 # Разрешает подключения с любых адресов
# Или: bind-address = 192.168.0.103 # Только с этого конкретного IP -
Перезагрузи MySQL:
sudo systemctl restart mysql -
Открой порт 3306 в фаерволе (если используется):
sudo ufw allow 3306/tcp
Основные команды MySQL
Работа с базами данных
-- Показать все базы данных
SHOW DATABASES;
-- Создать новую базу данных
CREATE DATABASE mydatabase;
-- Удалить базу данных
DROP DATABASE mydatabase;
-- Выбрать базу данных для работы
USE mydatabase;
Работа с таблицами
-- Показать таблицы в текущей базе
SHOW TABLES;
-- Создать таблицу
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Показать структуру таблицы
DESCRIBE users;
-- Удалить таблицу
DROP TABLE users;
CRUD-операции (основные)
-- Добавление данных (Create)
INSERT INTO users (username, email)
VALUES ('kollokpoi', 'user@example.com');
-- Чтение данных (Read)
SELECT * FROM users;
SELECT username, email FROM users WHERE id = 1;
-- Обновление данных (Update)
UPDATE users SET email = 'new@example.com' WHERE id = 1;
-- Удаление данных (Delete)
DELETE FROM users WHERE id = 1;
Экспорт и импорт данных
Экспорт базы данных (дамп)
# Экспорт всей базы
mysqldump -u root -p mydatabase > mydatabase_backup.sql
# Экспорт только структуры (без данных)
mysqldump -u root -p --no-data mydatabase > mydatabase_structure.sql
# Экспорт только данных (без структуры)
mysqldump -u root -p --no-create-info mydatabase > mydatabase_data.sql
Импорт базы данных
mysql -u root -p mydatabase < mydatabase_backup.sql
Или из внутри MySQL:
USE mydatabase;
source /path/to/mydatabase_backup.sql;
Рекомендуемые официальные туториалы
Для более глубокого изучения:
- MySQL Official Documentation — полная официальная документация
- MySQL Tutorial — официальный учебник от MySQL
- MySQL 8.0 Reference Manual — справочное руководство
- MySQL Quick Start Guide — быстрое начало работы
Решение типичных проблем
Ошибка подключения "Access denied"
- Проверь правильность логина и пароля
- Убедись, что пользователь имеет права на подключение с твоего IP
- Проверь, не заблокирован ли доступ в конфигурации MySQL
Ошибка "Can't connect to MySQL server"
- Убедись, что служба MySQL запущена:
sudo systemctl status mysql - Проверь, прослушивается ли порт 3306:
sudo netstat -tlnp | grep 3306 - Проверь настройки биндинга в
mysqld.cnf
Сброс пароля root
Если забыл пароль root:
-
Останови MySQL:
sudo systemctl stop mysql -
Запусти MySQL в безопасном режиме:
sudo mysqld_safe --skip-grant-tables & -
Подключись к MySQL без пароля:
mysql -u root -
Внутри MySQL обнови пароль:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; -
Перезагрузи MySQL:
sudo systemctl restart mysql
Следующие шаги
После освоения основ MySQL можно перейти к:
- Настройке репликации (master-slave)
- Оптимизации производительности запросов
- Резервному копированию и восстановлению
- Интеграции MySQL с веб-приложениями