今天 从 线上的库 备份了一份数据库后 还原到 新的 数据库服务器上。
更新某一个表是 报错
具体操作:
mysql -u root -p.
mysql> use oms;
Database changed
mysql> update program_serial set program_series_name ='好爹好娘2' where program_series_id ='759645';
ERROR 1449 (HY000): The user specified as a definer ('admin_isbox'@'%') does not exist
mysql> grant all privileges on *.* to root@"%" identified by ".";
Query OK, 0 rows affected (0.00 sec)
更新数据的时候 报错,查询没有任何问题,搜到不少答案。
发现 权限问题,授权 给 root 所有sql 权限,仍然无效
mysql> grant all privileges on *.* to root@"%" identified by ".";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
====
解决方案:
发现数据看 mysql user 表中 没有 admin_isbox该 用户,去查询 试图或者 触发器,发现dba管理员 在 创建 触发器的时候 用了 该用户,故导致该问题,
解决办法,
1 删除 该触发器,
2 把涉及到 该用户的改成 root,
3 重新运行脚本 创建触发器
问题 搞定 OK