mysql数据库连接失败常见问题小结

 更新时间:2023年06月25日 10:15:58   作者:weixin_44439301  
你有没有碰到过mysql数据库连接不上的问题呢?很多的小伙伴表示,经常会时不时的出现这些问题,下面这篇文章主要给大家介绍了关于mysql数据库连接失败常见问题的相关资料,需要的朋友可以参考下

错误提示:1045-Access denied for user ‘root‘ ‘localhost‘(using password: YES)

1、找到mysql的my.ini文件,在mysqld关键字下面添加skip-grant-tables,如下图所示:

该命令作用是跳过授权表,也就是输入任意字符账号密码都可以进入mysql看到所有数据表。

当忘记账号密码时可以使用改命令修改密码,但是要随用随关,重启mysql,不然服务器上会有很大的风险。

2、重启MySQL服务

3、在终端中输入mysql -u root mysql,连接数据库

4、修改密码

在终端进入中输入:

update user set password=password("123456") where user="root";

如果有报错“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”

那么就输入:update user set authentication_string=password('123456') where user='root';

输入exit退出,再重新连接数据,即可连接成功。

mysql数据库只能本机连接,不能远程链接

 进入mysql数据库
   $mysql -u root -p
   >use mysql;
 1.>select host,user from user; //查看用户
    MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;
    其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。
 2.设置host为%
   >update user set host='%' where user = 'root';
    %为任意用户都有权限连接,localhost为只能本机连接,配置完host为%这一步就已经能外网访问了
 3.授权用户具体权限
   >grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
   >flush privileges;//刷新权限
 注意: 一定要重启mysql: # systemctl restart mysqld

qiqushuge_comy用户有两个,针对不同的针对不同的主机来控制用户的访问的。授权的时候grant all privileges on *.* to 'qiqushuge_com'@'localhost' identified by '123456' with grant option;

  • all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
  • on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
  • to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
  • identified by:指定用户的登录密码
  • with grant option:表示允许用户将自己的权限授权给其它用户

可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。

查看数据库授权的方法:

SHOW GRANTS FOR 'root'@'localhost';

宝塔没有放行端口,云服务器没有添加安全组

在宝塔安全里添加端口规则,放行数据库默认端口3306

在服务器阿里云、腾讯云等放行端口3306

总结

到此这篇关于mysql数据库连接失败常见问题的文章就介绍到这了,更多相关mysql数据库连接失败内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL分区表使用保姆级教程

    MySQL分区表使用保姆级教程

    分区表是将大表数据按条件拆分存储在不同磁盘位置的数据库优化技术,它通过将数据分散到多个独立分区中,显著减少查询扫描范围,提升查询性能,下面就来详细的介绍一下
    2026-03-03
  • 浅谈mysql的中文乱码问题

    浅谈mysql的中文乱码问题

    本文主要给大家分享了本人在项目中遇到的一些mysql中文乱码的问题的解决方法,非常简单实用,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-03-03
  • MySQL Workbench下载与使用教程详解

    MySQL Workbench下载与使用教程详解

    这篇文章主要为大家详细介绍了MySQL Workbench下载与使用教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • MySQL启动时InnoDB引擎被禁用了的解决方法

    MySQL启动时InnoDB引擎被禁用了的解决方法

    最近在工作中遇到一个问题,现将解决的方法分享出来供大家参考学习,下面这篇文章主要给大家介绍了关于MySQL启动时InnoDB引擎被禁用了的解决方法,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • Ubuntu安装MySQL的三种方式以及卸载MySQL

    Ubuntu安装MySQL的三种方式以及卸载MySQL

    在Linux系统中,卸载MySQL可通过dpkg-l和grep命令组合来查询已安装的MySQL相关软件包,然后使用适当命令进行卸载,安装MySQL时,可以选择直接安装或编译安装,直接安装需要设置密码,编译安装需选择带boost库的版本,初始化MySQL时要指定data目录
    2024-10-10
  • MySQL安装与创建用户操作(新手入门指南)

    MySQL安装与创建用户操作(新手入门指南)

    这篇文章主要为大家介绍了MySQL安装与创建用户的使用讲解是非常适合小白新手的入门学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • mysql数据库安装和卸载方式

    mysql数据库安装和卸载方式

    这篇文章主要介绍了mysql数据库安装和卸载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Mysql子查询IN中使用LIMIT应用示例

    Mysql子查询IN中使用LIMIT应用示例

    有3张表,infor信息表,mconfig物料配置表,maaply物料申请表,要求是读出申请表中哪些人申请哪些物料,接下来为大家介绍下Mysql子查询IN中使用LIMIT
    2014-01-01
  • MySQL 查询速度慢的原因

    MySQL 查询速度慢的原因

    高性能MySQL需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再合适,也是无法实现高性能的。
    2021-05-05
  • MySQL的左连接、右连接、内连接用法解读

    MySQL的左连接、右连接、内连接用法解读

    这篇文章主要介绍了MySQL的左连接、右连接、内连接用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03

最新评论