记一次mysql故障“Can‘t open and lock privilege tables: Table ‘mysql.user‘ doesn‘t exist”

环境:

mysql版本:Ver 5.7.34 for Linux on x86_64 (MySQL Community Server (GPL))

server OS:centOS 7

-------------------------------------------------------------------------------------------------

服务器断电重启后,mysql无法访问了。

经在网上大量查阅后,发现需要重置mysql,即重新初始化 mysql。

经查看/etc/my.cnf中的datadir值是“datadir=/var/lib/mysql”,

第一步:先将 目录“/var/lib/mysql”下的所有文件都 删除;

第二步:执行命令“systemctl start mysqld”,系统会自动生成目录“/var/lib/mysql”下的文件;

第三步:执行如下命令:

[root@vm-database ~]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

输入之前的密码不对,也试了好几个,也没有用,又在网上查阅了下,发现可以在文件“/etc/my.cnf”中的 [mysqld] 后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,例如下图

然后执行命令 

[root@vm-database ~]# systemctl restart mysqld

再执行下面的命令后:

[root@vm-database ~]# mysql -uroot -p

在出现的输入密码的位置直接回车,进行mysql。

接着执行如下操作:

mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

经过一番查阅后,执行如下命令解决的命令重置的问题:

mysql> alter user user() identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

使用上面调协的密码123456重新执行如下命令,成功;

[root@vm-database mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.34 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

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

下面接着解决远端登录数据库的问题,如下命令:

mysql> grant all privileges on *.* to 'root'@'%' identified by 'ab5Nz#' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

好的,大功造成

--------------------------------------------------------------------------

参考:

1、《重置密码解决MySQL5.7 for Linux错误 ERROR 1045 》;

2、《Linux下查看MySQL的安装路径

3、《mysql 重新初始化

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
*** error 56: cannot open file 是一个错误信息,表示无法打开文件。根据提供的引用内容,这个错误可能是由于以下原因之一引起的: 1. 文件路径错误:可能是文件路径没有正确设置或者文件不存在。您可以检查文件路径是否正确,并确保文件存在。 2. 权限问题:可能是由于权限限制导致无法访问该文件。您可以尝试使用管理员权限或者检查文件的权限设置。 3. 编译器设置问题:可能是由于编译器设置不正确导致的。您可以检查编译器的设置,特别是头文件路径是否正确设置并添加到工程中。 综上所述,*** error 56: cannot open file 错误可能是由于文件路径错误、权限问题或者编译器设置问题引起的。您可以根据具体情况进行排查和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Windows下MySQL 5.7无法启动的解决方法](https://download.csdn.net/download/weixin_38722944/14838296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [keil5 之error 56: cannot open file](https://blog.csdn.net/RONG_YAO/article/details/112555986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [问题:在keil仿真时出现error 56: can‘t open file原因总结](https://blog.csdn.net/qq_48701278/article/details/115640961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

purple.taro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值