Как подключиться к 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;Удачки.
Комментарии
Комментариев пока нет.