URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97706
[ Назад ]

Исходное сообщение
"mysql. пользователи и бд"

Отправлено Bolek , 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 подключался только к "своей" базе?
в какую сторону копать?


Содержание

Сообщения в этом обсуждении
"mysql. пользователи и бд"
Отправлено bagas , 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 он и так в свое окружение попадет, какие разрешены ему базу те и будут доступны, видны.


"mysql. пользователи и бд"
Отправлено Bolek , 23-Фев-21 10:44 
> Так при mysql -u testuser -p он и так в свое окружение
> попадет, какие разрешены ему базу те и будут доступны, видны.

увы, нет


"mysql. пользователи и бд"
Отправлено bagas , 23-Фев-21 11:10 
>> Так при mysql -u testuser -p он и так в свое окружение
>> попадет, какие разрешены ему базу те и будут доступны, видны.
> увы, нет

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


"mysql. пользователи и бд"
Отправлено Bolek , 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


"mysql. пользователи и бд"
Отправлено bagas , 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; смотрим доступные базы для пользователя.


"mysql. пользователи и бд"
Отправлено Bolek , 23-Фев-21 18:54 
> Все верно показывает, нет ни одной выбранной базы!!!
> use testdb
> После команда \s кажет Current database: testdb

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


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

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

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

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


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

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


"mysql. пользователи и бд"
Отправлено 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.


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

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

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

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


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

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

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

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


"mysql. пользователи и бд"
Отправлено Licha Morada , 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/