MySQL只能远程登录,无法登录本机

问题描述:

        新建了一个IP地址,在使用DataGrip的时候,可以连上,但没有办法正常访问数据库。就像下图这样:

        而当我们使用虚拟机连接的时候,会发现没有办法通过本机进行连接 ,只能使用远程账户连接才能成功访问数据库内容。

        MySQL在登录的时候,无法通过本地连接的方式登录到MySQL账户上。最直接的表现就是下面这样:

本机访问:

[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

这里虽然可以登录到MySQL数据库中,但是实际显示的数据库应该包含至少三个,information_schema、mysql、performance_schema。

远程访问:

[root@localhost ~]# mysql -uroot -h192.168.153.133 -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 38
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myschool           |
| mysql              |
| performance_schema |
| test01             |
+--------------------+
5 rows in set (0.00 sec)

        由于只有通过远程方式访问的时候,我们才能查看到数据库内容。所以猜测可能是配置用户操作权限的时候配置出现了问题。

        这里SQLyog可以连接的上,选择mysql数据库中的user表,显示如下:

use mysql;
select * from user;

         我们可以看出,localhost本机用户在连接时用户和密码字段都是空值。我们需要对其进行赋值。

为其重新分配user和password

GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123123';
FLUSH PRIVILEGES;

我这里在修改权限的时候会出现1045错误代码,错误代码如下: 

mysql> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123123';
ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: NO)

显示用户拒绝访问。

这里则是因为我们的密码设置有问题,需要进行修改。修改密码格式如下:

mysql> USE mysql;
Database changed
mysql> UPDATE user SET authentication_string="123123" WHERE user="root";
Query OK, 1 row affected (0.39 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH privileges;  # 刷新保存
Query OK, 0 rows affected (0.13 sec)

下面,就可以继续进行操作了~

再次登录我们会发现此时用户和密码都已经更改,再次尝试连接。这次可以成功连接了。 

 

 现在就能成功连上DataGrip啦~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值