MySQL5.7中mysql.user表变化
来源:互联网 发布:手机淘宝忘记密码 编辑:程序博客网 时间:2024/05/24 15:41
问题描述:
逻辑全备MySQL5.6.24后,导入到MySQL5.7.18. 经测试发现部分应用账号授权有问题,无法正常访问数据库。
错误信息
query failed: [1142] SELECT command denied to user ‘monitor’@’10...100’ for table ‘history_uint’ [select clock,ns,value from history_uint where itemid=103172 and clock<=1501496763 and clock>1501493163 order by clock desc limit 1]
排查过程
1.但这些用户权限在MySQL5.6中是正常的。由于是在同一台主机上进行的升级,排除了网络问题。
2.尝试给用户授权,出现如下错误
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON zabbix_pro
.* TO ‘zabbix_pro’@’%’ ;
ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. The table is probably corrupted
解决方法
1.删掉从5.6中恢复过来的mysql.user表。
2.获取5.7中相同版本的表结构,重建mysql.user表。
3.用 pt-show-grants 获取MYSQL5.6的用户权限
4.在5.7中应用这些授权
通过比较发现
1.MySQL5.7中mysql.user表比MySQL5.6少了1个字段(Password)
2.MySQL5.7中mysql.user表比MySQL5.6多了3个字段(password_last_changed,password_lifetime,account_locked)
- MySQL5.7中mysql.user表变化
- mysql5.7安装Table 'mysql.user' doesn't exist
- MYSQL:ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost——MySQL5.7修改密码
- Mysql-(Mysql5.7及以上版本)Access denied for user 'root'@'localhost' (using password:YES) 解决方案
- mysql下User表中密码修改
- mysql中在user表中插入一个root用户
- mysql:user表
- mysql user权限表
- MySQL user表简介
- MySQL的user表
- MySQL中的mysql.user表
- mysql中的mysql.user表
- mysql向user表中添加用户时出错
- mysql中user表的host为::1
- mysql5.7版本开始创建用户需要create user
- mysql5.7 ERROR 1045 (28000): Access denied for user解决方法
- MySQL5.7,解决Access denied for user 'root'@'localhost' 问题
- mysql5.7 Access denied for user 'root'@'localhost'
- centos下搭建ftp服务器
- HDU1716 全排列
- 每个分类 只取前N sql
- grub2的配置文件grub.cfg详解
- Web安全工程师(学习规划)
- MySQL5.7中mysql.user表变化
- 一个用了两年多的lzo压缩代码,竟然有问题.
- Android 启动页黑屏原因及解决方案
- 从源码解析部分系统服务引起的内存泄露
- AsyncHttpClient 源码分析
- Unable to load configuration.
- java解析json生成excel
- PAT1046. 划拳
- 基础面试题