今天项目优化过程中,mysql有个问题The user specified as a definer ('wx_root'@'%') does not exist

查了一下,意思是执行sql无权限。 看了下数据库用户是quoters 而sql没有所属权。那就找原因了。发现sql执行过程中,调用了一个存储过程

而这个存储过程的创建者是wx_root 。 所以在执行的时候,quoters没有权限

解决方案和操作:

1、查看存储过程的所属对象: 右键存储过程函数——>选择对象属性——>查看函数创建和所属是不是当前登录的用户

2、如果不是,备份原有的存储过程函数,复制存储过程函数里面所有内容,新建一个存储过程,命名跟原来一样。

3、这样创建者就是属于当前登录用户了。原来的函数可删可留了(如果不确定,最好先保留)

另外还有其他原因可能导致这个错误,例如执行mysql视图无权限

视图无权限解决方案如下

The user specified as a definer ('root'@'%') does not exist。

一般是由于root用户对全局host无访问权限。因此只要给root用户添加一个访问权限即可。

解决办法:

  • 登陆mysql ,执行
  • mysql -u root -pPasswd
  • mysql >grant all privileges on *.* to root@"%" identified by "Passwd"
  • mysql >flush privileges

总结

更多相关文章

  1. [RK3399][Android7.1.1] WifiAp:开机默认打开wifi热点
  2. Android(安卓)Studio bug - attribute 'android:versionCode' no
  3. Android获取设备唯一标识完美解决方案
  4. Android(安卓)启动Tomcat服务报错,端口占用解决方案
  5. 【学习Android遇到的错误】关于Unable to instantiate activity
  6. Android(安卓)Spinner不显示下拉箭头解决方案
  7. 常用的android开发网站
  8. android sqlist中游标下标越界问题解决方案
  9. android studio在编辑时出现如Failed to sync Gradle project类

随机推荐

  1. android 开发中常用尺寸
  2. android开发者网站
  3. Android (Go edition)
  4. 3D引擎--可移植到Android的开源的引擎
  5. Android Tutorials
  6. Android 类菜单栏 以及 透明居中排列
  7. Android 如何判断静音模式
  8. android tween动画
  9. android 应用开发code
  10. Android虚线分割Shape