MySQL:Access denied for user 'root'@'localhost'

QuibblerQuibbler 2020-03-22 约 3 分钟 2174 次阅读

Access denied for user 'root'@'localhost'

这周双休闲的没事又开始折腾了。先是要把电脑折腾成Linux,遇到各种坑爹问题,未遂。接着又准备维护维护服务器,好久没有更新服务端。先更新一波:

yum update

接着一看剩余内存,本来就是2G内存的“入门”级服务器,运行了小半年估计内存已经满了

free -h
    //或者 查看实时内存
    top

一看剩余内存还剩不到200M果断重启服务器,预料之中,果然都打不开了。博客站点、音乐API服务、Gerrit服务全挂了。先连MySql看看什么情况:

mysql -u root -p

直接报错,连不上:
        Access denied for user 'root'@'localhost'

因为配置上述服务的时候连接MySql数据库,用户root是配置密码的,但是实际MySql数据库root是没有密码。

先到/etc目录下面:

cd /etc/

找到mysql.conf文件编辑

vim my.cnf

在[mysqld]下添加一行skip-grant-tables,使其登录时跳过权限检查

[mysqld]
    skip-grant-tables
    ...
    port        = 3306
    socket      = /tmp/mysql.sock

另外一看,本地的备份也打不开了,可能是因为折腾Linux系统导致的。打开一篇空白,而且MySQL数据库还报错,点击账户的时候:

(SELECT DISTINCT `User`, `Host` FROM `mysql`.`user` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`db` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`tables_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`columns_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`procs_priv` ) ORDER BY `User` ASC, `Host` AS

根据提示是mysql数据库的db表中User索引丢失了:

只需要重新创建User的索引:

如果还不行,直接重新安装一下Xiuno服务。

相关推荐

SQLite数据库浏览器:DB Browser for SQLite
数据库

SQLite数据库浏览器:DB Browser for SQLite

SQLite数据库浏览器:DB Browser for SQLite为了方便查看SQLite中存储的数据,需要一款好用的数据库查看工具。最好用的是DB Browser for SQLite。DB Browser for SQLite (DB4S) 是一款面向开发者的高质量的,可视化的开源的工具,它可以创建,设计,以及修改SQlite数据库。官网:http://www.sqlitebrowser.o

3.7k
Android数据库调试助手:Glance
数据库

Android数据库调试助手:Glance

Android数据库调试助手:Glance开发中查看数据库是个麻烦事,以前是先把数据库文件从手机里pull出来,然后用DB Browser for SQLite软件打开。后来用过一个数据库调试工具:Android Debug Database。今天再介绍一个数据库调试工具库:Glance。此Glance非彼Glance,Jetpack中也有一个名为Glance的库,目的是用Compose样式的 A

2.1k
数据库调试工具:Android Debug Database
数据库

数据库调试工具:Android Debug Database

数据库调试工具:Android Debug Database以前调试数据库的时候需要查看数据库,都是从手机里先用adb pull命令到电脑上,再用DB Browser(SQLite数据库浏览器)查看.db数据库文件。步骤麻烦,而且不能实时的查看手机应用的数据库内容。最近发现一个非常好用的数据库调试工具:Android Debug Database,实时调试数据库,又将一个开发调试神器收入囊中。此库

2.1k