系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > Mysql > 详细页面

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

时间:2023-10-27来源:系统城装机大师作者:佚名

错误提示: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、修改密码

在终端进入中输入:

1 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数据库只能本机连接,不能远程链接

1
2
3
4
5
6
7
8
9
10
11
12
13
进入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权限。

查看数据库授权的方法:

1 SHOW GRANTS FOR 'root'@'localhost';

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

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

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

总结

到此这篇关于mysql数据库连接失败常见问题的文章就介绍到这了

分享到:

相关信息

  • MySQL之七种SQL JOINS实现的图文详解

    1、INNER JOIN(内连接) 2、LEFT JOIN(左连接) 3、RIGHT JOIN(右连接) 4、OUTER JOIN(全连接) 5、LEFT EXCLUDING JOIN(左排除连接) 6、RIGHT EXCLUDING JOIN(右排除连接) 7、OUTER EXCLUDING JOIN(外部排除连接)...

    2023-10-27

  • 解决mysql不是内部或外部命令的问题

    解决mysql不是内部或外部命令 现象 原因 解决办法就是 找到mysql.exe所在的目录 添加到环境变量 mysql不是内部或外部命令,也不是可运行的程序 (win10)...

    2023-10-27

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载