Разверните OpenClaw в облаке в один клик
Вход/ Регистрация

Как создать базу данных и нового пользователя в MySQL: инструкция

18861
5 минут чтения
Средний рейтинг статьи: 4.5

В этой инструкции мы рассмотрим, как в MySQL создать пользователя и базу, как удалить базу, как выдать пользователям привилегии. 

По умолчанию вам будет доступен пользователь root. Используйте его, чтобы выполнить первоначальную настройку: создать первую БД и других пользователей.

Приведенные команды подойдут для управления MySQL, развернутой на сервере. Если же вы пользуетесь облачной базой данных, пользователь и сама база будут созданы автоматически при создании БД в панели управления.

Создание базы данных

Подключитесь к MySQL под учётной записью root:

    
mysql -u root -p

Посмотрите, какие базы уже хранятся на сервере:

    
SHOW DATABASES;

Даже если вы ещё ничего не делали, таблица не будет пустой. В ней отобразятся служебные БД. Удалять их не нужно.

Чтобы создать базу данных MySQL, выполните:

    
CREATE DATABASE my_timeweb;

Вместо my_timeweb укажите имя, которое необходимо задать новой БД.

Чтобы убедиться, что новая база появилась на сервере, ещё раз выполните:

    
SHOW DATABASES;

В таблице отобразится название БД, которую вы только что создали.

Нельзя, чтобы у двух и более БД были одинаковые имена. Если ещё раз создать базу my_timeweb, то появится сообщение об ошибке с кодом 1007. 

Чтобы предотвратить появление ошибки, можно в MySQL создать новую базу с помощью расширенного синтаксиса:

    
CREATE DATABASE IF NOT EXISTS my_timeweb;

В этом случае СУБД проверит условие. Если БД с таким именем не существует, то MySQL создаст её. Если же такая база была создана ранее, то ничего не изменится.

Удаление базы данных

Для удаления выполните:

    
DROP DATABASE my_timeweb;

Вместо my_timeweb укажите имя БД, которую следует удалить.

У DROP DATABASE также есть расширенный синтаксис, который помогает избежать ошибок:

    
DROP DATABASE IF EXISTS my_timeweb;

Запрос будет выполнен только при наличии БД с таким именем.

DROP DATABASE удалит БД и связанные с ней данные. Интерфейс командной строки MySQL не предложит вам подтвердить действие. Поэтому применяйте DROP DATABASE с осторожностью.

DBaaS

Запустите свою базу данных в облаке и
оптимизируйте процессы DevOps и CI/CD.

Создание пользователя

MySQL предлагает удобную систему управления юзерами и их привилегиями. Можно менять права доступа, разрешать и запрещать выполнение действий на сервере. 

Чтобы в MySQL создать пользователя, авторизуйтесь как root и выполните в консоли:

    
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

После выполнения этой команды пользователь с именем user получит доступ к экземпляру MySQL с локальной машины (localhost). Прямой доступ с других хостов будет запрещён. Для идентификации будет использован пароль.

Если нужно указать не конкретный хост, а целый пул, используйте знак %. Например:

    
CREATE USER 'sub_user'@'10.0.%' IDENTIFIED BY 'password;

Запись 10.0.% указывает на то, что получить доступ к MySQL можно с любого клиента, IP-адрес которого начинается с «10.0.». 

Вы можете использовать подстановочный знак на любом уровне IP-адреса в определении хоста. Чтобы юзер был доступен со всех хостов, используйте запись 'user'@'%'

Чтобы посмотреть список учетных записей, выполните:

    
SELECT * FROM mysql.user;

Удаление учётной записи

Удалить учётную запись MySQL можно командой DROP USER:

    
DROP USER 'user'@'localhost';

Будьте осторожны, команда выполняется без дополнительного подтверждения.

Выдача привилегий

Без привилегий пользователь может подключиться к серверу MySQL, но не может работать с данными и выполнять другие действия. 

В этой таблице — привилегии, которые часто выдают пользователям. Более подробный список смотрите в документации.

Привилегия

Что может делать пользователь

ALTER

Менять структуру таблицы или БД

CREATE

Создавать новые БД и таблицы

DELETE

Удалять строки в таблице

INSERT

Добавлять строки в таблицу

SELECT

Читать данные из таблицы

UPDATE

Обновлять данные в таблице

DROP

Удалять БД

Для выдачи прав нужно выполнить команду GRANT. Например:

    
GRANT SELECT, INSERT ON my_timeweb.* TO 'user'@'localhost';

Выполнять эту команду нужно из-под учётной записи root, так как у неё есть привилегия на GRANT. После применения такого запроса user сможет читать и добавлять строки в таблицы БД my_timeweb.

Чтобы выдать пользователю все права, кроме тех, что есть у root, выполните:

    
GRANT ALL PRIVILEGES ON my_timeweb.* TO 'user'@'localhost';

Отзыв привилегий

Чтобы отозвать привилегии, используйте команду REVOKE. У неё такой же синтаксис, как у GRANT. Но результат будет противоположным.

Например, если вы хотите отозвать привилегии SELECT и INSERT у user в базе данных my_timeweb, введите следующее:

    
REVOKE SELECT, INSERT ON my_timeweb.* FROM 'user'@'localhost';

Если учётная запись не имела никаких прав в этой БД, то ничего не изменится.

Разверните MySQL в облаке за минуту

Таблица тарифов
Сравнение тарифов
Cloud DB 1/2/20 —
790 ₽/мес
Cloud DB 2/2/30 —
1160 ₽/мес
Cloud DB 2/4/40 —
1580 ₽/мес
Cloud DB 4/8/80 —
3160 ₽/мес
Cloud DB 4/12/120 —
4240 ₽/мес
Cloud DB 6/12/180 —
5460 ₽/мес
Cloud DB 8/16/220 —
7040 ₽/мес
Процессор1 x 3.3 ГГц2 x 3.3 ГГц2 x 3.3 ГГц4 x 3.3 ГГц4 x 3.3 ГГц6 x 3.3 ГГц8 x 3.3 ГГц
Память2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Фиксированный
Произвольный
CPU
RAM
Диск
Стоимость
1 x 3.3 ГГц
2 ГБ
20 ГБ
790 ₽/мес
2 x 3.3 ГГц
2 ГБ
30 ГБ
1 160 ₽/мес
2 x 3.3 ГГц
4 ГБ
40 ГБ
1 580 ₽/мес
Раз в день
0 ₽/месяц
Отключить
Не рекомендуется

Ключевые команды, которые нужно знать

Как создать БД в MySQL:

    
CREATE DATABASE IF NOT EXISTS [database_name];

Как удалить БД:

    
DROP DATABASE IF EXISTS [database_name]

Как создать нового пользователя MySQL:

    
CREATE USER 'user'@'host' IDENTIFIED BY 'password';

Как удалить пользователя:

    
DROP USER 'user'@'host';

Это минимальный набор запросов, который поможет в MySQL создать базу данных и пользователя. Особенности использования этих и других возможностей СУБД подробно описаны в документации MySQL.

Вы также можете использовать для управления графический интерфейс. Его предоставляют такие инструменты, как PhpMyAdmin или MySQL Workbench. В их документации подробно описаны действия для создания и работы с БД и пользователями.

18861
5 минут чтения
Средний рейтинг статьи: 4.5

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев