Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

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

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

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

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

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

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

    

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

    

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

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

    

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

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

    

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

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

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

    

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

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

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

    

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

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

    

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

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

DBaaS

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

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

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

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

    

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

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

    

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

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

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

    

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

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

    

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

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

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

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

Привилегия

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

ALTER

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

CREATE

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

DELETE

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

INSERT

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

SELECT

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

UPDATE

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

DROP

Удалять БД

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

    

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

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

    

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

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

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

    

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

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

Cloud DB 1/1/8

447 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
Диск NVMe
8 ГБ
Приватный IP
Есть
Резервные копии
Есть
Cloud DB 1/2/20

711 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
Диск NVMe
20 ГБ
Приватный IP
Есть
Резервные копии
Есть
Таблица тарифов
Сравнение тарифов
Cloud DB 1/1/8
496
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 ГГц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 ГГц
Память1 ГБ2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe8 ГБ20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть

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

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

    

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

    

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

    

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

    

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

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

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

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

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