Я пытаюсь вызвать хранимую процедуру с php. В предыдущий день это работало, но сегодня я получаю сообщение об ошибке «Пользователь, указанный как определитель (« имя пользователя »@« мой ip за предыдущий день ») не существует»
Процедура находится в хосте, и я предоставляю свой доступ к IP через удаленный MySql cpanel. Код, который я использовал, является правильным и взят отсюда http://www.php.net/manual/en/mysqli.quickstart.stored-procedures.php
Происходит ли ошибка, потому что мой ip сегодня отличается от другого, хотя у меня есть доступ снова? Как я могу это решить?
Если вы обнаружили следующую ошибку при использовании базы данных mysql: Пользователь, указанный как определитель ('root' @ '%'), не существует. Затем вы можете решить его, используя следующее:
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
Подпишитесь на http://www.lynnnayko.com/2010/07/mysql-user-specified-as-definer-root.html
Пользователь, который создал эту процедуру, должен быть удален. Поскольку ваш идентификатор пользователя сопоставляется с IP-адресом, скорее всего, причиной является изменение IP-адреса. Если вы можете воссоздать пользователя, это сработает.
или, попробуйте следующее:
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
Это немного неуверенный способ справиться с этим, но если это просто локальный бизнес, это не должно быть проблемой.
Источник: http://www.lynnnayko.com/2010/07/mysql-user-specified-as-definer-root.html
С MySQL Ansible Module
- name: create root@% user mysql_user: name=root host=% password=password priv=*.*:ALL,GRANT state=present