宝塔备份20b bug 和 无法登录 MySQL 服务器bug

造成原因:

1、root密码不被ecs root帐号识别

2、root帐号里面的没有localhost 用户。。。

解决方法

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]字段中

最下面一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

保存文档并退出

2.接下来我们需要重启MySQL:

/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)

3.重启之后输入mysql即可进入mysql。先修改密码到你的密码

mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit

重新载入权限

FLUSH PRIVILEGES;

选择系统数据库mysql

use mysql;

查询系统表user中的用户

select host,user,authentication_string from user;

7.向root用户赋值权限

GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '你的新密码' WITH GRANT OPTION;

exit

并删除刚才跳过权限密码的东西

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]字段中

删除“skip-grant-tables”用来跳过密码验证的过程

done

不是20b了 3.92kb也像是唬人一样。。进入phpadmin发现都没权限看表。。我tm囊死我自己

该问题是因为root没有select权限引起的。

解决:赋予root权限

1.首先停止MySQL服务:service mysqld stop
2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables & 
然后就可以无任何限制的访问mysql了
3.root用户登陆系统:mysql -u root -p mysql
4.切换数据库:use mysql
5.显示所有的表:show tables;
这里就可以访问表了
6.查看user表中root用户的localhost权限:select * from user where user='root' and host='localhost'
7.在显示的列表中显示:root用户的localhost的权限都是'N',表示root用户本地登陆不具有权限
8.修改root用户的localhost权限:
  update user set  
  `Select_priv` = 'Y',
  `Insert_priv` = 'Y',
  `Update_priv` = 'Y',
  `Delete_priv` = 'Y',
  `Create_priv` = 'Y',
  `Drop_priv` = 'Y',
  `Reload_priv` = 'Y',
  `Shutdown_priv` = 'Y',
  `Process_priv` = 'Y',
  `File_priv` = 'Y',
  `Grant_priv` = 'Y',
  `References_priv` = 'Y',
  `Index_priv` = 'Y',
  `Alter_priv` = 'Y',
  `Show_db_priv` = 'Y',
  `Super_priv` = 'Y',
  `Create_tmp_table_priv` = 'Y',
  `Lock_tables_priv` = 'Y',
  `Execute_priv` = 'Y',
  `Repl_slave_priv` = 'Y',
  `Repl_client_priv` = 'Y',
  `Create_view_priv` = 'Y',
  `Show_view_priv` = 'Y',
  `Create_routine_priv` = 'Y',
  `Alter_routine_priv` = 'Y',
  `Create_user_priv` = 'Y',
  `Event_priv` = 'Y',
  `Trigger_priv` = 'Y',
  `Create_tablespace_priv` = 'Y'
  where user='root' and host='localhost';

-------在输入命令进行操作时报错,把 `Create_tablespace_priv` = 'Y'去掉解决  不报错可以不去
  9.更新一下:flush privileges;
  10.然后重新启动下mysql,可以解决问题了service mysqld star

real done

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/108330050
bug