远程连接服务器mysql失败的解决方案

 问题描述:

在本地远程连接服务器中的数据库失败

解决方案:

1、 未开启mysql远程登录账号

(1)创建新用户时可以直接使用如下命令

create user 'your_name'@'%' identified by 'your_password';
Query OK, 1 rows affected (0.06 sec)

此时新用户创建成功,mysql的user表中会添加一条新的记录,查看user表中的user和host可用如下命令:

use mysql; --切换到mysql数据库
select host,user from user; --查看user表中的host和user
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | your_name        |
| localhost | debian-sys-maint |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
7 rows in set (0.00 sec)

%表示所有IP均可访问,也可以将%换成指定IP,localhost表示只能本地访问。

(2)修改已存在用户

update user set host = '%' where user = 'root'; --可以将root换成任意想修改的用户
flush privileges; --刷新权限
select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | your_name        |
| localhost | debian-sys-maint |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| %         | root             |
+-----------+------------------+
7 rows in set (0.00 sec)

此时就可以进行远程连接了;如果还是失败继续下面的操作。

2、未开启3306端口

如果没有开启3306端口,那么mysql只允许服务器本地访问,此时可以在你所购买服务器网站的控制台中打开相关服务器实例,在防火墙中添加规则,添加完成之后就可以远程连接了。若此时还不成功,继续之后的操作。

 3、修改配置文件

若添加完3306端口后连接不成功,此时可以在服务器命令行输入 ss -tlnp

lighthouse@VM-16-2-ubuntu:~$ ss -tlnp
State             Recv-Q            Send-Q                       Local Address:Port                          Peer Address:Port            Process            
LISTEN            0                 4096                         127.0.0.53%lo:53                                 0.0.0.0:*                                  
LISTEN            0                 128                                0.0.0.0:22                                 0.0.0.0:*                                  
LISTEN            0                 70                               127.0.0.1:33060                              0.0.0.0:*                                  
LISTEN            0                 151                              127.0.0.1:3306                                     *:*                                  
LISTEN            0                 128                                   [::]:22                                    [::]:*                                  

如果看到3306端口对应的local address是127.0.0.1,则表示只能本地访问,此时需要修改mysql配置文件,只需要找到配置文件后将其中的

bind-address = 127.0.0.1

或者

skip-networking

直接注释掉,然后重启mysql即可。

网上有的帖子说配置文件的路径为 /etc/mysql/my.cnf,但是我在其中没有找到上面的两句代码,之后我在 /etc/mysql/mysql.conf.d/mysqld.cnf 中找到了bind-address = 127.0.0.1,将其注释并重启mysql后成功实现远程连接。

配置文件的修改

cd /etc/mysql/mysql.conf.d  # 切换到文件路径
sudo vi mysqld.cnf  # 进入编辑
# 然后按一下i,进入insert模式,找到对应行将相关语句注释掉
# 完成后按一下 esc ,再输入 :wq ,进行保存并退出

最后

这个时候虽然远程连接成功了,但是新建的非root用户没有创建数据库等操作的权限,此时

show grants for your_name@%; -- 查看某个用户的权限
grant all on *.* to 'your_name'@'%' [with grant option]; -- 授予your_name用户全部权限
flush privileges; -- 刷新权限

 其中,with grant option表示允许your_name向其他用户授予权限。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
远程连接阿里云服务器上部署的MySQL8.0,您可以使用MySQL Workbench 6.3。首先,确保已在Windows上安装了MySQL Workbench 6.3 CE安装包,并确保安装了依赖包Microsoft Visual C 2013 Runtime 64 bits。 然后,打开MySQL Workbench并点击“新建连接”按钮。在连接配置中,填写以下信息: - 连接名称:给连接起一个名称 - 连接方法:选择"标准(TCP/IP)" - 主机名:输入阿里云服务器的IP地址 - 端口:默认为3306,如果您修改了MySQL服务器的端口,需要相应修改此处的端口号 - 用户名:输入MySQL服务器的用户名,默认为root - 密码:输入MySQL服务器的密码 点击"测试连接"按钮,如果一切配置正确,您将成功连接到远程MySQL服务器。 请注意,为了使远程连接正常工作,您还需要确保阿里云服务器的网络配置允许来自您的Windows机器的MySQL连接请求,并且MySQL服务器配置文件中的bind-address参数设置为0.0.0.0,以允许来自任何IP地址的连接。 希望这些信息能够帮助您成功远程连接MySQL服务器。如果您遇到其他问题,请提供更多详细的错误信息,以便我能够给出更准确的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL Workbench6.3连接MySQL8.0外部组件发生异常问题解决](https://blog.csdn.net/Algorithm_goddness/article/details/116483190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [mysqlworkbench6.3.zip](https://download.csdn.net/download/qq_38243173/11223147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [ubuntu基本环境配置及mysql8.0.32和mysql workbench安装](https://blog.csdn.net/qq_27745471/article/details/130183527)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值