Как создать нового пользователя и настроить права доступа в MySQL
Чтобы начать работу в MySQL, установите LEMP или LAMP по соответствующей инструкции в разделе: Установка программного обеспечения.
После установки MySQL/MariaDB автоматически будет создан MySQL пользователь root. Работать с базой данных под root небезопасно, поэтому необходимо создать нового пользователя, а затем назначить ему специальные права доступа. Сделать это можно через консоль или через phpMyAdmin.
Как создать нового пользователя в MySQL
через phpMyAdmin
через консоль
Чтобы добавить нового пользователя, установите приложение phpMyAdmin. Как установить phpMyAdmin, описано в инструкции. После установки проверьте, что ваш сервер включен. Для входа в phpMyAdmin используйте root-логин и root-пароль сервера.
Откройте приложение и перейдите на вкладку Учетные записи пользователей. Кликните по строке Добавить учетную запись пользователя:
На открывшейся странице укажите имя пользователя, хост и пароль. Подтвердите пароль. Также вы можете сгенерировать пароль, нажав на кнопку Генерировать.
- Если вы хотите дать новому пользователю доступ только к конкретным базам данных, на этом этапе можно не назначать никаких привилегий.
- Если вы хотите выбрать все привилегии и предоставить новому пользователю неограниченный доступ, кликните Отметить все.
Нажмите кнопку Вперёд внизу страницы:
Готово, вы добавили учётную запись:
Если вы хотите, чтобы пользователь имел доступ к конкретным базам данных, вам потребуется настройка прав доступа.
Прежде чем создать нового пользователя через консоль, подключитесь к VPS-серверу по SSH. После этого:
Запустите сервер базы данных с помощью команды:
mysql
- вместо user-name укажите логин пользователя базы данных;
- вместо password укажите пароль нового пользователя.
На этом этапе новый пользователь не имеет никаких разрешений на работу с базами данных. Он не может войти в систему и добраться до оболочки MySQL, поэтому нужно предоставить ему неограниченные права доступа. Для этого введите команду: GRANT ALL PRIVILEGES ON * . * TO ‘user-name’@’localhost’; Не забудьте изменить user-name на логин, который был указан при создании пользователя.
Чтобы изменения вступили в силу, введите команду: FLUSH PRIVILEGES;
Готово, наш новый пользователь получил те же права доступа в базе данных, что и пользователь MySQL root.
Как настроить права доступа для пользователя в MySQL
через phpMyAdmin
через консоль
Откройте phpMyAdmin и перейдите на вкладку Учетные записи пользователей. Выберите нужную учетную запись и нажмите Редактировать привилегии:
На открывшейся странице перейдите на вкладку База данных. Выберите из списка базу данных, к которой хотите дать доступ пользователю, и нажмите Вперёд:
Выберите привилегии. Для этого поставьте галочки напротив нужных типов привилегий. Чтобы подробнее узнать о каждой привилегии, наведите на неё курсор и прочитайте справочную информацию. Если вы хотите выбрать все привилегии и предоставить новому пользователю неограниченный доступ, кликните Отметить все. Затем нажмите Вперёд:
Готово, вы настроили привилегии для пользователя.
Важно: обязательно выполняйте команду FLUSH PRIVILEGES после любого изменения в правах доступа. Для выполнения каждой из команд нужно иметь права доступа root.
В примере выше мы создали нового пользователя с неограниченными правами доступа. Если вам нужно предоставить другой уровень доступа к базам данных для пользователя, выполните команду:
GRANT [тип прав] ON [имя базы данных].[имя таблицы] TO ‘user-name’@’localhost’;
Замените значения внутри кавычек:
- вместо имя базы данных укажите нужную базу данных;
- вместо имя таблицы укажите имена таблиц, к которым хотите дать доступ или укажите .*, чтобы дать права на конкретную базу и все таблицы;
- вместо тип прав — тот тип, который вы хотите предоставить пользователю.
В MySQL права доступа бывают нескольких типов:
- ALL PRIVILEGES – даёт пользователю MySQL полный доступ к заданной базе данных (если база данных не указана, то ко всем);
- CREATE – позволяет пользователю создавать базы данных/таблицы;
- SELECT – позволяет пользователю делать выборку данных;
- INSERT – позволяет пользователю добавлять новые записи в таблицы;
- UPDATE – позволяет пользователю изменять существующие записи в таблицах;
- DELETE – позволяет пользователю удалять записи из таблиц;
- DROP – позволяет пользователю удалять записи в базе данных/таблицах.
Не забудьте изменить user-name на логин, который был указан при создании пользователя.
- Если вы хотите назначить несколько видов прав доступа, разделите их запятыми, как в команде:
GRANT CREATE, SELECT ON *.* TO ‘user-name’@’localhost’;
- Если вы хотите забрать у пользователя права доступа, введите команду:
REVOKE [тип прав] ON [имя базы данных].[имя таблицы] FROM ‘user-name’@’localhost’;
- Если вы хотите отменить все привилегии у пользователя, введите команду:
REVOKE ALL PRIVILEGES ON *.* FROM ‘user-name’@’localhost’;
Обратите внимание, что при при любой отмене разрешений синтаксис требует, чтобы вы использовали FROM, а не TO.
- Чтобы просмотреть текущие разрешения пользователя, выполните команду:
SHOW GRANTS username;
- Чтобы удалить пользователя, используйте команду:
DROP USER ‘user-name’@’localhost’;
MS SQL — Создание пользователя с полными правами к базе
Добавляем пользователя в группу владельцев базы данных:
ALTER ROLE db_owner ADD MEMBER admin_web; GO
Похожие записи
Подписаться
Войти через D
Я разрешаю создать мне учетную запись
Когда вы первый раз заходите с помощью соцсетей, мы получаем публичную информацию из вашей учетной записи, предоставляемой провайдером услуги соцсети в рамках ваших настроек конфиденциальности. Мы также автоматически получаем ваш e-mail адрес для создания вашей учетной записи на нашем веб сайте. Когда она будет создана, вы будете авторизованы под этой учетной записью.
Не согласен Согласен
Войти через D
Я разрешаю создать мне учетную запись
Когда вы первый раз заходите с помощью соцсетей, мы получаем публичную информацию из вашей учетной записи, предоставляемой провайдером услуги соцсети в рамках ваших настроек конфиденциальности. Мы также автоматически получаем ваш e-mail адрес для создания вашей учетной записи на нашем веб сайте. Когда она будет создана, вы будете авторизованы под этой учетной записью.
Не согласен Согласен
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Выбрать язык
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Свежие записи
- Palo Alto VM-Series Firewall: GlobalProtect
- Palo Alto VM-Series Firewall: GlobalProtect — AWS SAML
- Palo Alto VM-Series Firewall: GlobalProtect — OneLogin SAML
- Palo Alto VM-Series Firewall: Let’s Encrypt сертификат
- Palo Alto VM-Series Firewall: AWS HA Multi AZ для GlobalProtect — Часть 2
Свежие комментарии
- Сурен к записи AWS — EBS уменьшение размера
- Андрей к записи FIX ERROR — Python2.7: PIP не работает после апгрейда
- VoOne к записи Ansible Playbook — Установка Docker в CentOS 7
- Artem к записи Jenkins — Python VirtualEnv с выбором версий
- Artem к записи Kubernetes — NFS provisioner
Рубрики
- Backup (2)
- BASH (13)
- Command Examples (6)
- Config Examples (17)
- Database (2)
- DevOps (162)
- Ansible (11)
- AWS (47)
- CI/CD (45)
- Docker (19)
- GCP (5)
- Helm (1)
- Kubernetes (30)
- Terraform (8)
Добавление пользователя и создание новой базы данных в Microsoft SQL Server 2008 R2
Продолжаем развертывать Microsoft SQL Server 2008 R2. После установки необходимо добавить пользователя для работы с БД, и, соответственно, создать новую базу данных. Ниже будет рассказано как это сделать.
0. Оглавление
- Добавление нового пользователя
- Создание новой базы данных
1. Добавление нового пользователя
Запускаем программу «Среда SQL Server Management Studio» («Пуск» — «Microsoft SQL Server 2008 R2» — «Среда SQL Server Management Studio» ) .
В открывшемся окне выбираем:
- Тип сервера: «Компонент Database Engine» .
- Имя сервера в формате «\ » , где
— имя физического компьютера на котором установлен SQL Server (в моем примере «S4» ).
— задается только в случае подключения к именованному экземпляра SQL Server. - Проверка подлинности:«Проверка подлинности SQL Server» или «Проверка подлинности Windows»
- Имя входа: имя пользователя SQL Server.
- Пароль: в случае проверки подлинности SQL Server, пароль для выбранного пользователя.
После чего нажимаем «Соединить» .
Если все введено верно, в окне «Обозреватель объектов» мы увидим вкладку с именем нашего SQL-сервера. В нем раскрываем вкладку «Безопасность» — «Имена входа» и в контекстном меню выбираем «Создать имя входа» .
Откроется окно «Создание имени входа» . На вкладке «Общие» заполняем:
- Имя входа: наименование пользователя SQL.
- Проверку подлинности выбираем: SQL Server.
- Придумываем пароль для пользователя.
(При необходимости можно определить и остальные настройки безопасности). Затем переходим на вкладку «Роли сервера» .
На данной странице необходимо указать роли сервера для данного пользователя. Например, если необходимо создать пользователя с административными правами, необходимо установить для него роль
Если создается пользователь для подключения программ 1С:Предприятие 7.7 или сервера 1С:Предприятия 8, то достаточно указания ролей
- dbcreator
- processadmin
назначается всем пользователям.
Указав все необходимые роли для создаваемого пользователя нажимаем «ОК» .
На этом процедура создания пользователя завершена.
2. Создание новой базы данных
Для добавления новой базы данных, в «Среде Microsoft SQL Server Management Studio» кликаем правой кнопкой мышки на вкладке «Базы данных» и выбираем «Создать базу данных» .
В открывшемся окне «Создание базы данных» на вкладке «Общие» заполняем:
- Задаем имя базы данных. Имя базы данных не должно начинаться с цифры или иметь пробелы в названии, иначе получим ошибку:
«неправильный синтаксис около конструкции %имя базы данных%» . - В качестве владельца выбираем созданного на предыдущем шаге пользователя.
Затем переходим на вкладку «Параметры» .
Здесь необходимо выбрать «Модель восстановления» базы данных и «Уровень совместимости» . Эти параметры зависят от того приложения, которое будет с создаваемой базой данных на SQL сервере. Например для 1С:Предприятие 7.7 необходимо задать
- Уровень совместимости: «SQL Server 2000 (80)» .
Очень внимательно стоит отнестись к параметру «Модель восстановления» создаваемой базы данных. Подробно про модели восстановления баз данных и о том, на что данный параметр влияет, я писал здесь. Если сомневаетесь — выбирайте простую модель восстановления.
Определившись с параметрами нажимаем «ОК» .
После чего в списке мы должны увидеть только что созданную базу данных.
Помогла ли Вам данная статья?
Смотрите также:
Добавление базы данных в Microsoft SQL Server 2012 Ниже приведена пошаговая инструкция, показывающая как добавить новую базу данных в Microsoft SQLServer 2012 (в более старых редакциях, например в Microsoft SQL Server 2008 R2, набор действий аналогичен). Запускаем…
Создание и восстановление резервной копии базы данных в Microsoft SQL Server 2008 R2 В данной статье будет рассказано как вручную сделать полную резервную копию базы данных в SQL Server 2008 R2 с помощью программы «Среда Microsoft SQL Server Management Studio». 0.…
Определение установленной версии Microsoft SQL Server В данной статье будет рассказано как определить версию (Product Version), уровень продукта (Product Level), а также выпуск или редакцию (Edition) установленного Microsoft SQL Server. В данной статье, в качестве примера используется…
Запись опубликована в рубрике Microsoft SQL Server 2008 с метками 1Сv7, 1Сv8, SQL. Добавьте в закладки постоянную ссылку.
16 Responses to Добавление пользователя и создание новой базы данных в Microsoft SQL Server 2008 R2
Dmitrij говорит:
Браво, Виталий !
Чётко и ясно.
Есть ли у Вас пример создания какой-либо базы в этой среде ?
Желательно в таком же ясном стиле ?Виталий Онянов говорит:
Спасибо за добрые слова!
А созданием баз вручную в MS SQL никогда не занимался, так как работаю с 1С. Если вдруг будет такая задача, то постараюсь запротоколировать это дело.Alex говорит:
Наконец-то просто и понятно все показано. Спасибо!
У вас талант доходчиво объяснять запутанные вещи.
Алексей говорит:Мне одно не понятно осталось. Для каких целей нужно создавать отдельного SQL-пользователя, отличного от sa и назначать его владельцем? Да и зачем sa нужен, если как я понял можно авторизоваться штатным Администратором ОС? Это ради безопасности или еще из каких-то соображений? Требуемые роли же можно любому пользователю назначить?
Виталий Онянов говорит:
Да, конечно же для безопасности.
Предположим ситуацию, когда на одном SQL-сервере расположены базы данных, которые обслуживают разные люди или же принадлежат разным организациям.
Например, пусть у вас помимо баз 1С на SQL-сервере крутятся еще базы других программ. Если вы захотите отдать обслуживание информационных баз 1С фирме-франчайзи, скорее всего, придется сообщить им имя входа, под которым базы 1С подключаются к SQL-серверу. Если вы сообщите пароль для учетной записи sa, вы по сути дадите посторонним людям доступ ко всем базам данных, к параметрам SQL-сервера, настройкам безопасности и т. д. Чтобы избежать этого, я и рекомендую создавать отдельного пользователя для каждой службы, обращающейся к серверу баз данных. Это может быть как пользователь с аутентификацией SQL-сервера, так и пользователь Windows или домена.Здравствуйте! При выборе уровня совместимости, нету SQL Server 2000 (80). Хотя в корневой папке MSSQL, есть папки 80, 90, 100, 110. Пробовал попробовать через мастер установки доставить компоненты, но нужный не нашёл.
Создание нового пользователя и раздача прав в MySQL
В этой статье мы с вами разберём предоставление прав доступа различного уровня третьим лицам. Создание пользователя в MySQL начинает работу, ведь без создания юзерских аккаунтов сделать нельзя решительно ничего. Также рассмотрим предоставление права доступа к созданным таблицам, без хорошего понимания которых работа с облачными сервисами вроде timeweb.cloud будет совершенно невозможна.
Как создать обычного пользователя в MySQL
Чтобы добавить пользователя в MySQL необходимо изначально иметь привилегии на создание пользователей. Синтаксис запроса выглядит так:
CREATE USER [IF NOT EXISTS]
user [auth_option] [, user [auth_option]] .
DEFAULT ROLE role [, role ] .
[REQUIRE ]
[WITH resource_option [resource_option] . ]
[password_option | lock_option] .
[COMMENT 'comment_string' | ATTRIBUTE 'json_object']- [IF NOT EXISTS] – если пользователь существует, то команда остановит выполнение. Необязательный параметр.
- User – имя учетной записи. Состоит из имени пользователя и имени хоста. (‘user_name‘@’host_name‘). Часть ‘host_name‘ является не обязательной (задает хост, с которого можно будет подключиться с данным именем, % — означает все возможные хосты). Если мы хотим в MySQL создать пользователя для удалённого подключения, то можно указать доменное имя, IP-адрес или адрес подсети. Имя учетной записи, состоящей только из имени пользователя, можно записать так: ‘user_name‘@’%‘ – такая учетная запись будет доступна с любого хоста. Кроме того, можно создать анонимного пользователя: »@’localhost’.
- [auth_option] – необязательное значение, указывает, как учетная запись проходит аутентификацию (пароль, свойства блокировки и т.д.).
- DEFAULT ROLE – задает роль пользователя.
- REQUIRE tls_option [[AND] tls_option] . > – если указано, то проверяет сертификат X.509 в дополнении к обычной аутентификации.
- WITH – если указано, позволяет установить ограничение на использование ресурсов сервера. Например, ограничить кол-во запросов, обновлений или подключений к серверу.
- password_option – параметры управления паролями (необязательный параметр). Например, срок действия, ограничение повторного использования, отслеживание неудачных попыток входа.
- COMMENT…| ATTRIBUTE – добавление пользовательских комментариев или атрибутов в формате json (нельзя использовать одновременно). Необязательный параметр.
Выдача привилегий
Создать пользователя и дать права на базу в MySQL – первое, что вы делаете, начиная работу. Чтобы выдать привилегии или назначить роль (роль – это именованный набор привилегий) используется оператор GRANT. Одновременно выдать и то, и другое нельзя. Чтобы выдавать привилегии, необходимо самому иметь эти привилегии.
Синтаксис для определения роли учетной записи:
GRANT role [, role] .
TO user_or_role [, user_or_role] .
[WITH ADMIN OPTION]- role – роль, которую предоставляем.
- user_or_role – имя учетной записи или роль.
- WITH ADMIN OPTION – если указано, то с учетной записи, которой предоставили роль, можно будет также выдать эту роль кому-то ещё. Пример:
GRANT 'role1', 'role2' TO 'user1'@'localhost', 'user2'@'localhost';
Синтаксис для добавления привилегий:
GRANT
priv_type
ON [object_type] priv_level
TO user_or_role- priv_type – тип привилегий. Их много. Например, привилегии для создания таблиц, их обновления, заполнения или удаления; для создания ролей, пользователей, индексов; привилегии администрирования резервного копирования и учетных записей без паролей и много-много всего еще.
- object_type – если указано, задает тип следующего объекта (может быть TABLE, FUNCTION или PROCEDURE).
- priv_level – задает уровень привилегий.
Привилегии могут быть:
- глобальные – например, на создание пользователей. Применяются ко всем базам на сервере. Синтаксис: ON *.*
GRANT SELECT, INSERT ON *.* TO 'user_name'@'localhost';
- баз данных – применяются ко всем объектам в указанной базе данных. Применяются для создания или удаления таблиц. Пример:
GRANT SELECT, INSERT ON mydb.* TO 'user_name'@'localhost';
- таблиц – применяются ко всем столбцам в таблице. Применяется вставка или обновление записей. Пример:
GRANT SELECT, INSERT ON mydb.mytable TO 'user_name'@'localhost';
- столбцов – применяется к определенным столбцам (вставка, просмотр, обновление данных). В примере за привилегией следует название столбца в круглых скобках:
GRANT SELECT (col1), INSERT (col1, col2) ON mydb.mytbl TO 'user_name'@'localhost';
Также есть привилегии подпрограмм и прокси-пользователей.
Если предоставить учетной записи все привилегии, то можно создать «суперпользователя»:
GRANT ALL ON *.* TO 'user_name'@'localhost';
Для того чтобы отозвать роли или привилегии учетной записи, используется REVOKE.
REVOKE INSERT ON *.* FROM 'user_name'@'localhost';
Мы отозвали у пользователя привилегию вставки данных в таблицы на глобальном уровне.
Чтобы удалить пользователя, используется DROP:
DROP USER 'user_name'@'localhost';
Тарифы MySQL
Заключение
Итак, мы рассмотрели, как создать пользователя и выдать ему необходимые права (привилегии). Владея этими знаниями вы сможете уверенно работать с базами, создавать новых юзеров, распределять права и возможности при работе.