powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Создание нового пользователя c административными правами для БД
17 сообщений из 17, страница 1 из 1
Создание нового пользователя c административными правами для БД
    #39952091
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Скажите пожалуйста можно-ли создать нового пользователя c административными правами? Или переименовать текущего?

Опишу для чего это мне. У меня приложение на локальном ПК (Windows), к БД обращается по строке подключения ("jdbc:mysql://localhost:3306/db_fastwater?useSSL=false") с помощью пользователя авторroot и пароля авторroot. А на удаленном сервере (Linux) у меня такая же БД, но там пользователь, у которого админ права к бд - авторbob. Собираю приложение на локальном ПК, а на сервер кидаю уже готовую сборку, в которой соответственно прописан другой пользователь БД - ошибка. Менять каждый раз пользователя при сборке не хотелось бы.

Я пытался у себя на ПК создать такого же пользователя как на сервере и дать ему все права на БД:

Код: sql
1.
2.
3.
[src]create user vs@localhost;
ALTER USER vs@localhost IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON db_fastwater.* TO vs@localhost;



Но это не сработало. Когда я пытаюсь подключиться к бд у себя на ПК под созданным пользователем, мне выдает ошибку.
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952101
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
1) Установите нормальный клиент (визуальный) для работы с БД (редактирование, конструирование и т.п.) и не мучайтесь. Поставите галочки в нужных местах и всё.
2) Локальное приложение (на Java?) обязано уметь показывать диалог подключения к БД. Там и вводятся логин/пароль. Если подключение статично и ввода идентификационных данных не требуется, подключение шифруется и записывается в файл. Файл прикладывается к приложению. Соответственно, локально используется один файл, на сервере другой.

Просто дропните юзера и создайте нового:
Код: sql
1.
2.
3.
4.
5.
DROP USER 'root'@'%';
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password;
GRANT USAGE ON *.* TO 'root'@'%'
WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952107
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Vlad__i__mir,
1) Установите нормальный клиент (визуальный) для работы с БД (редактирование, конструирование и т.п.) и не мучайтесь. Поставите галочки в нужных местах и всё.


Я пробовал это делать через WorkBench (создать нового пользователя со всеми правами), но не прошло
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952109
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99,[img=]
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952111
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99,
AuthenticationType отличался от root и он не давал его поменять, возможно из-за этого?
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952113
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Vlad__i__mir,

Просто дропните юзера и создайте нового:
Код: sql
1.
2.
3.
4.
5.
DROP USER 'root'@'%';
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password;
GRANT USAGE ON *.* TO 'root'@'%'
WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';



Примерно так и пытался, но не вышло:
Код: sql
1.
2.
3.
create user vs@localhost;
ALTER USER vs@localhost IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON db_fastwater.* TO vs@localhost;
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952114
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99,
Пользователь root создавался при установки MySQL он прописывается во всех создаваемых БД авто. Если я его удалю у меня БД не полетит?
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952129
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Vlad__i__mir,

2) Локальное приложение (на Java?) обязано уметь показывать диалог подключения к БД. Там и вводятся логин/пароль. Если подключение статично и ввода идентификационных данных не требуется, подключение шифруется и записывается в файл. Файл прикладывается к приложению. Соответственно, локально используется один файл, на сервере другой


Да на Java. Собирается в war архив и этот war закидывается на сервер. Подключение статично.

авторподключение шифруется и записывается в файл. Файл прикладывается к приложению.
Можете кинуть ссылку на материал как это делается?
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952145
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Vlad__i__mir,
Если подключение статично и ввода идентификационных данных не требуется, подключение шифруется и записывается в файл. Файл прикладывается к приложению. Соответственно, локально используется один файл, на сервере другой.


Можете кинуть ссылку на материал как это делается? Мне бы лучше даже без шифрования, у меня курсовой проект, а не промышленный
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952148
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Пользователь root создавался при установки MySQL он прописывается во всех создаваемых БД авто. Если я его удалю у меня БД не полетит?
Не должна. В крайнем случае, если мне склероз не изменяет, можно восстановить из консоли. Я вообще вам команду привёл для примера, а не советовал удалить рута. Создайте еще одного пользователя 'bob' у себя локально и дайте ему рута. Тогда вообще ничего не придется менять.
Vlad__i__mir
Можете кинуть ссылку на материал как это делается? Мне бы лучше даже без шифрования, у меня курсовой проект, а не промышленный
Если проект учебный, то записывайте просто в файл строку подключения с логином и паролем. Вы в файл-то писать/читать умете? В обычный, текстовый? Я по Java не помогу, я дельфист, но тут есть соответствующий форум, можно поинтересоваться там.
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952196
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Создайте еще одного пользователя 'bob' у себя локально и дайте ему рута. Тогда вообще ничего не придется менять.


Извините за возможно дилетантский вопрос, но как новому пользователю дать root'a?
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952279
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Извините за возможно дилетантский вопрос, но как новому пользователю дать root'a?
Давайте от печки плясать: а зачем вам вообще второй рут? Фактически, чтобы работать с конкретной БД, вам надо просто дать все права пользователю 'bob' на данную БД. И рут вовсе необязателен. Если только ваше приложение не проделывает специфические операции именно с сервером, в чем я сомневаюсь.
И что именно у вас не вышло с Workbench? Там же всё элементарно.
Кстати, в скрипте надо указать в конце FLUSH PRIVILEGES, чтобы изменения вступили в силу.
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952290
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Давайте от печки плясать: а зачем вам вообще второй рут? Фактически, чтобы работать с конкретной БД, вам надо просто дать все права пользователю 'bob' на данную БД. И рут вовсе необязателен. Если только ваше приложение не проделывает специфические операции именно с сервером, в чем я сомневаюсь.
И что именно у вас не вышло с Workbench? Там же всё элементарно.
Кстати, в скрипте надо указать в конце FLUSH PRIVILEGES, чтобы изменения вступили в силу.


Согласен, нужно просто bob-у дать нужные права. Я пытался это сделать так:

Код: sql
1.
2.
3.
create user bob@localhost;
ALTER USER bob@localhost IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON db_fastwater.* TO bob@localhost;



И вот так:
Создание нового пользователя c административными правами для БД

Создание нового пользователя c административными правами для БД

Был нюанс - AuthenticationType отличался от root и он не давал его поменять

Но после того, как я прописывал созданного bob-а в приложении оно не могло подключиться к БД. Возвращал обратно старого пользователя (root), оно снова начинало подключаться к бд.

Вот мне и не понятно как же так его нужно создать, чтобы у меня подключение с ним работало и все права были.
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952296
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
Вам никто не поможет, пока вы будете стиснув зубы молчать, как партизан на допросе. Что именно у вас не получилось? Какие ошибки вываливались?
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952307
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99, когда приложение запускается оно автоматически создает подключение к БД - создается объект, с помощью которого осуществляется управление сессиями. В этот объект передаются параметры подключения: строка подключения, логин и пароль. Этот объект создает сессию (сеанс) подключения к БД. Вот этот объект, после того как я в передаваемых параметрах меняю имя пользователя на вновь созданного не может создать подключение и выдает Ексепшн. Какой точно Ексепшн сейчас не могу написать - не дома, напишу чуть позже.
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952369
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Какой точно Ексепшн сейчас не могу написать - не дома, напишу чуть позже.
Да при чём тут экспешн в вашем приложении, если пользователя с заданными параметрами нет, естественно будет ошибка. Я спрашиваю, почему вы не можете создать пользователя с нужными параметрами?
...
Рейтинг: 0 / 0
Создание нового пользователя c административными правами для БД
    #39952444
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Vlad__i__mir
Какой точно Ексепшн сейчас не могу написать - не дома, напишу чуть позже.
Да при чём тут экспешн в вашем приложении, если пользователя с заданными параметрами нет, естественно будет ошибка. Я спрашиваю, почему вы не можете создать пользователя с нужными параметрами?


Пользователь создавался, но приложение с ним не могло получить доступа к БД.
Сейчас изменил строчку, как вы посоветовали, вместо
Код: sql
1.
create user vs@localhost;


прописал
Код: sql
1.
CREATE USER 'vs'@'localhost' IDENTIFIED WITH mysql_native_password;



и все заработало.

Спасибо большое! Очень помогли!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Создание нового пользователя c административными правами для БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]