The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"mysql. пользователи и бд"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Разное / Linux)
Изначальное сообщение [ Отслеживать ]

"mysql. пользователи и бд"  +/
Сообщение от Bolek (ok), 23-Фев-21, 01:16 
добрый день.
есть mariadb
mysql -V
mysql  Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1

создал бд
MariaDB [none]> create database testdb;

создал пользователя
MariaDB [none]> create user testuser identified by 'testpass';

дал пользователю права на бд
MariaDB [none]> grant all privileges on testdb.* to testuser;
MariaDB [none]> flush privileges;

возможно ли сделать так, чтобы пользователь при вводе
mysql -u testuser -p подключался только к "своей" базе?
в какую сторону копать?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от bagas (ok), 23-Фев-21, 08:16   +/
>[оверквотинг удален]
> создал бд
> MariaDB [none]> create database testdb;
> создал пользователя
> MariaDB [none]> create user testuser identified by 'testpass';
> дал пользователю права на бд
> MariaDB [none]> grant all privileges on testdb.* to testuser;
> MariaDB [none]> flush privileges;
> возможно ли сделать так, чтобы пользователь при вводе
> mysql -u testuser -p подключался только к "своей" базе?
> в какую сторону копать?

Так при mysql -u testuser -p он и так в свое окружение попадет, какие разрешены ему базу те и будут доступны, видны.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3

2. Сообщение от eRIC (ok), 23-Фев-21, 08:29   +/
> возможно ли сделать так, чтобы пользователь при вводе
> mysql -u testuser -p подключался только к "своей" базе?
> в какую сторону копать?

как уже ранее сказали, он сможет подключится к тем базам данным, куда ему дали доступ.

на крайняк используйте:
$mysql -u пользователь -p пароль имя_базы_данных

чтобы при подключении к сервербу базы данных автоматически попал в интересующую базу данных

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

3. Сообщение от Bolek (ok), 23-Фев-21, 10:44   –2 +/
> Так при mysql -u testuser -p он и так в свое окружение
> попадет, какие разрешены ему базу те и будут доступны, видны.

увы, нет

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #5

4. Сообщение от Bolek (ok), 23-Фев-21, 10:56   +/
> на крайняк используйте:
> $mysql -u пользователь -p пароль имя_базы_данных
> чтобы при подключении к сервербу базы данных автоматически попал в интересующую базу
> данных

без указания бд совсем никак?
как в postgre - в pg_hba прописал и всё

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #7, #12

5. Сообщение от bagas (ok), 23-Фев-21, 11:10   +/
>> Так при mysql -u testuser -p он и так в свое окружение
>> попадет, какие разрешены ему базу те и будут доступны, видны.
> увы, нет

Что значит увы нет?!
Для пользователя testuser будут доступны только те базы которым разрешен ему доступ, по ДРУГОМУ НИ КАК!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #6

6. Сообщение от Bolek (ok), 23-Фев-21, 13:19   +/
> Что значит увы нет?!
> Для пользователя testuser будут доступны только те базы которым разрешен ему доступ,
> по ДРУГОМУ НИ КАК!

# mysql -u testuser -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> \s
--------------
mysql  Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:          9
Current database:   <---пусто
Current user:           testuser@localhost

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #9

7. Сообщение от Alexder (?), 23-Фев-21, 16:04   +/
>> на крайняк используйте:
>> $mysql -u пользователь -p пароль имя_базы_данных
>> чтобы при подключении к сервербу базы данных автоматически попал в интересующую базу
>> данных
> без указания бд совсем никак?
> как в postgre - в pg_hba прописал и всё

Откройте для себя волшебный мир alias!
B ~/.*rc пользователю пропишите mysql='/usr/bin/mysql -u $USER -p $password bd_name' - и тот будет попадать в свою базу сразу по вводу команды mysql.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #8

8. Сообщение от Bolek (ok), 23-Фев-21, 16:16   +/
> Откройте для себя волшебный мир alias!
> B ~/.*rc пользователю пропишите mysql='/usr/bin/mysql -u $USER -p $password bd_name' -
> и тот будет попадать в свою базу сразу по вводу команды
> mysql.

да с этим тоже всё понятно. просто хотелось и рыбку съесть, и аквариум не разбить.

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

PS. мужики, с праздником!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #11

9. Сообщение от bagas (ok), 23-Фев-21, 18:52   +/
>[оверквотинг удален]
> Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
> Type 'help;' or '\h' for help. Type '\c' to clear the current
> input statement.
> MariaDB [(none)]> \s
> --------------
> mysql  Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1
> Connection id:          9
> Current database:   <---пусто
> Current user:          
> testuser@localhost

Все верно показывает, нет ни одной выбранной базы!!!
use testdb
После команда \s кажет Current database: testdb
show databases; смотрим доступные базы для пользователя.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #10

10. Сообщение от Bolek (ok), 23-Фев-21, 18:54   +/
> Все верно показывает, нет ни одной выбранной базы!!!
> use testdb
> После команда \s кажет Current database: testdb

это я тоже в курсе. в любом случает приходится делать это телодвижение. пусть будет так

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

11. Сообщение от Pahanivo пробегал (?), 24-Фев-21, 00:59   +/
>> Откройте для себя волшебный мир alias!
>> B ~/.*rc пользователю пропишите mysql='/usr/bin/mysql -u $USER -p $password bd_name' -
>> и тот будет попадать в свою базу сразу по вводу команды
>> mysql.
> да с этим тоже всё понятно. просто хотелось и рыбку съесть, и
> аквариум не разбить.

сидя с ледорубом вместо удочки у проруби ...

> он сможет подключится к тем базам данным, куда ему дали доступ.

ключевое "к базам", не "к базе"!
У пользователя нет никакой своей базы - у него есть набор привилегий по набору баз.
Если есть привилегии на две базы - какую считать своей?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

12. Сообщение от Licha Morada (ok), 24-Фев-21, 05:40   +/
> без указания бд совсем никак?

А как оно узнает, куда вам надо, если нигде не указать?
В my.cnf можно, типа:

[client]
user=username
host=localhost
password=p455w0rd
database=databasename

См.
https://dev.mysql.com/doc/refman/8.0/en/option-files.html
https://mariadb.com/kb/en/configuring-mariadb-with-option-files/
https://tomlankhorst.nl/mysql-my-cnf-options-file/

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру