РЕДАКТИРОВАТЬ: я переустановил MySQL, и это исправило себя. Понятия не имею, в чем проблема.
Я выполнил следующие команды в MySQL из командной строки:
1. REVOKE ALL PRIVILEGES ON MyDB.* FROM user@'%';
2. DROP USER user@'%";
3. GRANT INSERT,SELECT,DELETE,UPDATE ON MyDB.* TO user@'%' IDENTIFIED BY 'somepassword';
4. FLUSH PRIVILEGES;
Гранты для пользователя:
GRANT USAGE ON . для пользователя '@'% ', идентифицированного по паролю
GRANT SELECT, INSERT, UPDATE, DELETE ON 'MyDB'. * TO 'user' @ '%'
Но тогда я получаю следующее сообщение об ошибке при попытке обновить.
UPDATE command denied to user 'user'@'somehost' for table 'sometable'
Соответствующая информация:
SELECT, INSERT и DELETE все работают правильно.
Я использую C # с Connector / NET
'somehost' находится в той же сети, что и сервер (другой компьютер).
'sometable' находится в MyDB.
Если я войду на сервер с «user» на хост-машине, запросы на обновление будут работать нормально.
РЕДАКТИРОВАТЬ:
Если я предоставлю UPDATE, SELECT, INSERT, DELETE для user@'somehost.net ', запросы UPDATE будут работать без проблем.
Есть идеи?