Mysql права доступа

Как подключиться к mysql (в mysql прописано, что пользователь root может подключаться только с 127.0.0.1), поэтому:

mysql -u root -pMyPWD -h 127.0.0.1

Как установить/изменить пароль:

SET PASSWORD FOR 'yapro_user'@'127.0.0.1' = PASSWORD('YourPassword');

mysql.user - хранит информацию о пользователях и какие права конкретный пользователь может давать другим пользователям

Вот дефолтные права после добавления пользователя yapro_user которому разрешено подключение с двух IP-адресов:

mysql> SELECT user,host,Grant_priv,Super_priv FROM mysql.user;
+-----------------+----------------+------------+------------+
| user            | host           | Grant_priv | Super_priv |
+-----------------+----------------+------------+------------+
| mysql.sys       | localhost      | N          | N          |
| mysql.session   | localhost      | N          | Y          |
| root            | localhost      | Y          | Y          |
| root            | 127.0.0.1      | Y          | Y          |
| yapro_user      | 127.0.0.1      | N          | N          |
| yapro_user      | 123.45.67.89   | N          | N          |
+-----------------+----------------+------------+------------+

mysql.db - хранит информацию о том, какие права к базам есть у каждого пользователя

SELECT user,host,db FROM mysql.db; - смотрим какому пользователю с какого IP разрешено подключаться к базе db

После добавления пользователя удобно проверить права пользователя:

mysql> SHOW GRANTS FOR 'yapro_user'@'127.0.0.1';
GRANT USAGE ON *.* TO 'yapro_user'@'127.0.0.1'
GRANT ALL PRIVILEGES ON `yapro_db`.* TO 'yapro_user'@'127.0.0.1'
GRANT ALL PRIVILEGES ON `yapro_db`.* TO 'yapro_user'@'123.45.67.89'

Обратите внимание GRANT USAGE ON *.* является побочным эффектом оператора CREATE USER. Когда пользователь создается таким образом, у него изначально нет привилегий, поэтому ему просто предоставляются USAGE. Пользователь с привилегией USAGE может выполнять определенные команды SQL, такие как «select 1+1» и «show processlist».

Добавление и удаление доступа

Чтобы выполнить эти действия нужно выполнять их в такой последовательности:

# Создаем пользователя с возможностью подключиться с IP адреса 10.10.2.174:
CREATE USER 'yapro_user'@'10.10.2.174' IDENTIFIED BY 'MY_PASS';

# Даем доступ к базе yapro_db:
GRANT ALL PRIVILEGES ON `yapro_db`.* TO 'yapro_user'@'10.10.2.174';

# Удаляем доступ (вместо `yapro_db`.* можно использовать *.*):
REVOKE ALL PRIVILEGES ON `yapro_db`.* FROM 'yapro_user'@'10.10.2.174';
# помним: удалив доступ при подключении с 10.10.2.174, доступ из других мест может остаться

# Удаляем пользователя:
DROP USER 'yapro_user'@'10.10.2.174';

Важно: после всех операций обязательно сохраняйте настройки:

FLUSH PRIVILEGES;

Удачки.


11.09.2021 07:08

Комментарии

Комментариев пока нет.


Copyrights © 2007 - 2026 YaPro.Ru