Mysql初次启动报错 Table ‘information_schema.CHARACTER_SETS‘ doesn‘t exist

Mysql安装完成之后,显示启动成功,这时我启动一个配置好的web服务,报错提示是数据库报错:Table ‘information_schema.CHARACTER_SETS’ doesn’t exist。

我的环境是Linux(Redhat 4.8.5)/Mysql5.7.28。

经过多次失败安装,发现安装完成初次启动之后,数据库会自带有下面着4个库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

这样的数据库,才可以正常使用。

下面简单给大家介绍这4个库的作用,我学习的是这篇博客,想详细学习的,建议大家学习这篇博客,推荐给大家:
https://blog.csdn.net/cainiao000001/article/details/80502549

information_schema是Mysql中的一个信息数据库,提供了访问数据库元数据的方式。例如,在此库中,SCHEMATA表提供当前mysql实例中所有数据库的信息,show databases的结果就是取自此表;例如,CHARACTER_SETS(字符集)表:提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。
我这个报错,就是提示缺少此表,其实就是安装的数据库中没有information_schema这个库导致的。

mysql是核心数据库,存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。例如,修改root用户密码在mysql.user表中。我自己有一次安装完成之后,发现想修改用户密码,但却找不到user库,这种情况也表示我的数据库初始化没有完成。

performance_schema主要用于收集数据库服务器性能参数。

sys库所有的数据源来自:performance_schema。把performance_schema的把复杂度降低,可以快速的了解系统的元数据信息。

如果初次启动发现数据库缺失这些库,那么可以手动初始化试一下:
在数据库安装路径,bin目录中:

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

其中:–user根据自己实际的操作用户即可,–basedir是自己的mysql安装路径,–datadir是自己在my.cnf文件中配置的data的路径。

初始化成功之后,系统会提示一个随机生成的数据库密码,记住这个密码,之后登录数据库需要使用这个密码!!!登陆后建议自己修改密码。(如果没记下,就去配置文件查找。)

所以,如果大家的报错,提示这类库表的缺失,都可以尝试重新初始化数据库,如果可以生成这些库表,数据库就可以正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值