mysql数据库链接失败常见问题及解决

 更新时间:2023年11月04日 15:47:10   作者:weixin_44439301  
这篇文章主要介绍了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基础教程之事务异常情况

    事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行,下面这篇文章主要给大家介绍了关于MySQL基础教程之事务异常情况的相关资料,需要的朋友可以参考下
    2022-10-10
  • Mysql启动与数据库的创建方法[图文]

    Mysql启动与数据库的创建方法[图文]

    Mysql启动与数据库的创建方法,mysql数据库入门
    2012-03-03
  • Mysql5.6忘记root密码修改root密码的方法

    Mysql5.6忘记root密码修改root密码的方法

    这篇文章主要介绍了Mysql5.6忘记root密码修改root密码的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • mysql limit 分页的用法及注意要点

    mysql limit 分页的用法及注意要点

    limit在mysql语句中使用的频率非常高,一般分页查询都会使用到limit语句,本文章向码农们介绍mysql limit 分页的用法与注意事项,需要的朋友可以参考下
    2016-12-12
  • 关于Mysql8.0版本驱动getTables返回所有库的表问题浅析

    关于Mysql8.0版本驱动getTables返回所有库的表问题浅析

    这篇文章主要给大家介绍了关于Mysql 8.0版本驱动getTables返回所有库的表问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • MySQL5.7.17安装及配置图文教程

    MySQL5.7.17安装及配置图文教程

    这篇文章主要为大家详细介绍了MySQL5.7.17安装及配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • MySQL查看版本的五种方法总结

    MySQL查看版本的五种方法总结

    在日常项目开发过程中,我们经常要连接自己的数据库,此时不知道数据库的版本是万万不可的,下面这篇文章主要给大家介绍了关于MySQL查看版本的五种方法,需要的朋友可以参考下
    2023-02-02
  • mysql数据库插入速度和读取速度的调整记录

    mysql数据库插入速度和读取速度的调整记录

    由于项目变态需求;需要在一个比较短时间段急剧增加数据库记录(两三天内,由于0增加至4亿)。在整个过程调优过程非常艰辛
    2012-07-07
  • MySQL的增删查改语句用法示例总结

    MySQL的增删查改语句用法示例总结

    这篇文章主要介绍了MySQL的增删查改语句用法示例总结,是对MySQL学习的基本知识点的一个归纳,需要的朋友可以参考下
    2015-05-05
  • 银河麒麟V10安装MySQL8.0.28并实现远程访问

    银河麒麟V10安装MySQL8.0.28并实现远程访问

    这篇文章主要介绍了银河麒麟V10安装MySQL8028的图文教程,并详细介绍了远程访问的实现方法,本文通过图文命令给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02

最新评论