mysql 创建库 5.7_MySQL数据库之MySQL5.7创建用户时报错

本文主要向大家介绍了MySQL数据库之MySQL5.7创建用户时报错 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

1 故障现象:

在创建用户时候,提示以下错误:

root@localhost Tue Oct 24 09:57:41 2017 09:57:41 [mysql]> create user ‘liufofu‘@‘5.5.5.5‘ identified by ‘liufofu‘;

ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. The table is probably corrupted

2 原因分析

2.1 根据提示以为是数据表出问题了,赶紧查查看,但是数据表可以正常查询

root@localhost Tue Oct 24 09:54:15 2017 09:54:15 [(none)]> select count(*) from mysql.user where user=‘liufofu‘ and host=‘5.5.5.5‘;

+----------+

| count(*) |

+----------+

| 0 |

+----------+

1 row in set (0.01 sec)

2.2 对数据表进行一次check table操作

root@localhost Tue Oct 24 09:57:50 2017 09:57:50 [mysql]> check table user;

+------------+-------+----------+----------+

| Table | Op | Msg_type | Msg_text |

+------------+-------+----------+----------+

| mysql.user | check | status | OK |

+------------+-------+----------+----------+

1 row in set (0.00 sec)

2.3 进行了以上操作后,发现还是不行。

跟使用人员进行沟通后,得出结果是:用户在创建时选择的是MySQL5.7的版本,而导入的备份文件为MySQL5.6的,版本不一致导致MySQL系统表有差异所之后。

3 解决方案

知道问题后,处理方案就很容易了,升级系统表即可。

[ 09:59:27-root@liufofu:3311 ]#/usr/local/mysql-5.7.18/bin/mysql_upgrade -S /data/mysql/3311/mysql.sock

Checking if update is needed.

Checking server version.

Running queries to upgrade MySQL server.

Checking system database.

mysql.columns_priv OK

mysql.db OK

mysql.engine_cost OK

mysql.event OK

mysql.func OK

mysql.general_log OK

mysql.gtid_executed OK

mysql.help_category OK

mysql.help_keyword OK

mysql.help_relation OK

mysql.help_topic OK

mysql.innodb_index_stats OK

mysql.innodb_table_stats OK

mysql.ndb_binlog_index OK

mysql.plugin OK

mysql.proc OK

mysql.procs_priv OK

mysql.proxies_priv OK

mysql.server_cost OK

mysql.servers OK

mysql.slave_master_info OK

mysql.slave_relay_log_info OK

mysql.slave_worker_info OK

mysql.slow_log OK

mysql.tables_priv OK

mysql.time_zone OK

mysql.time_zone_leap_second OK

mysql.time_zone_name OK

mysql.time_zone_transition OK

mysql.time_zone_transition_type OK

mysql.user OK

The sys schema is already up to date (version 1.5.1).

Found 0 sys functions, but expected 22. Re-installing the sys schema.

Upgrading the sys schema.

Checking databases.

sys.sys_config OK

Upgrade process completed successfully.

Checking if update is needed.

到此用户的问题得到了解决。

4 参考资料:

4.1 mysql_upgrade官方文档

https://dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html

4.2 create user官方文档

MySQL5.7之前基本都是通过grant来创建用户,而从5.7开始建议使用create user来创建用户。

https://dev.mysql.com/doc/refman/5.7/en/create-user.html

以上就介绍了MySQL的相关知识,希望对MySQL有兴趣的朋友有所帮助。了解更多内容,请关注职坐标数据库MySQL频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值