解决Ubuntu远程连接MySQL被拒绝的问题2003

问题

1. 用户权限分配不当

localhost只能本地访问,其他地址访问不了,% 是所有IP都能访问

查看权限

  • mysql -u root(root用户无密码)或者mysql -u root -p(root用户有密码)进入mysql
  • use mysql;:选择数据库
  • select host,user from user;:查看用户权限。
    在这里插入图片描述

分配权限

  • grant all privileges on *.* to '用户名'@'%' identified by '用户密码';

2. IP地址传错(IP地址确认无误,转下一条)

  • 使用ifconfig查看IP地址。一定一定在Ubuntu终端中使用ifconfig查看IP地址,不要理所当然把服务器上的某串数字作为IP。一切以终端显示的数字为准,即红心被遮挡住的位置。
    查看IP

3. 配置允许所有ip访问。注释掉bind-address配置项(两种情况)

3.1 /etc/mysql/my.cnf文件中有bind-address这一行,直接 # 注释掉即可

/etc/mysql/my.cnf

3.2 /etc/mysql/my.cnf文件中没有bind-address这一行

使用sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf打开/etc/msql/mysqld.conf.d/mysqld.cnf文件,注释bind-address一行。
/etc/mysql/mysql.conf.d/mysqld.cnf

3.3 原因

bind-address = 127.0.0.1:只监听本地连接,只允许本机访问。
bind-address = 0.0.0.0:系统默认配置,监听所有网卡,即允许所有ip访问。

4. 通过firewalld和iptables打开端口3306,8080,22,443(能打开的都打开了)。

firewalld打开终端

注意:如果第一次使用firewalld和iptables的相关指令报错,多半是因为没有安装firewalld和iptables,详情请上网自行查找有关防火墙内容。

无论远程连接什么服务器,本质上还是Ubuntu系统,很多指令和处理方式都是和在Ubuntu一样的。

参考文章:MySQL连接错误2003:解决远程访问数据库失败的问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值