宝塔20B备份功能中存在何种bug导致无法登录MySQL服务器?

2026-05-20 22:191阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计638个文字,预计阅读时间需要3分钟。

宝塔20B备份功能中存在何种bug导致无法登录MySQL服务器?

创建原因:1. root密码未被ECS+root账户识别;2. root账户中没有localhost用户。

解决方法:请确保root密码正确,并在root账户中添加localhost用户。

宝塔20B备份功能中存在何种bug导致无法登录MySQL服务器?

造成原因:

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/mysqldrestart)

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

mysql>updateusersetpassword=password("你的新密码")whereuser="root"; mysql>flushprivileges; 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

本文共计638个文字,预计阅读时间需要3分钟。

宝塔20B备份功能中存在何种bug导致无法登录MySQL服务器?

创建原因:1. root密码未被ECS+root账户识别;2. root账户中没有localhost用户。

解决方法:请确保root密码正确,并在root账户中添加localhost用户。

宝塔20B备份功能中存在何种bug导致无法登录MySQL服务器?

造成原因:

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/mysqldrestart)

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

mysql>updateusersetpassword=password("你的新密码")whereuser="root"; mysql>flushprivileges; 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