Ответ 1
Как указано Райаном выше, вам нужна команда
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
Однако обратите внимание, что документация указывает, что для этого необходимо создать другую учетную запись пользователя из localhost
для одного и того же пользователя; в противном случае анонимная учетная запись, созданная автоматически с помощью mysql_install_db
, имеет приоритет, поскольку она имеет более конкретный столбец хоста.
Иными словами; для того, чтобы пользователь user
мог подключаться с любого сервера; 2 учетных записей необходимо создать следующим образом:
GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password';
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
Прочитайте полную документацию здесь.
И вот соответствующий фрагмент для справки:
После подключения к серверу с правами администратора вы можете добавлять новые учетные записи. следующие заявления используют GRANT для создания четырех новых учетных записей:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';
Учетные записи, созданные этими операторами, имеют следующие Свойства:
У двух учетных записей есть имя пользователя monty и пароль some_pass. Оба аккаунта - суперпользователи с полными привилегиями делать что-либо. Учетную запись "monty" @localhost можно использовать только тогда, когда соединение с локальным хостом. В учетной записи 'monty' @'%' используется '%' подстановочный знак для главной части, поэтому его можно использовать для подключения с любого хоста.
Необходимо, чтобы обе учетные записи для monty могли подключаться из любого места как monty. Без учетной записи localhost анонимная учетная запись для localhost, созданная mysql_install_db будет иметь приоритет, когда monty соединяется с локальный хост. В результате, monty будет рассматриваться как анонимный пользователь. Причина этого в том, что учетная запись анонимного пользователя имеет больше конкретное значение столбца хоста, чем учетная запись "monty" @'%' и, таким образом, ранее в порядке сортировки таблицы пользователя. (сортировка пользовательской таблицы в разделе 6.2.4 "Контроль доступа, этап 1: проверка соединения".)
Мне кажется глупым, если я не понимаю это.