[华为云服务器]远程连接数据库出现连接拒绝的解决办法
【摘要】 背景新买了个服务器,搭一些分布式项目的积木玩玩~~我是在一台服务器安装了mysql 5.7只做数据库服务器又买了俩服务器当作应用服务器,问题就是应用服务器访问不了数据库出现的问题123[root@iZ2zehcpqb5ti81m38b7qzZ miaosha]# telnet 数据库服务器地址 3306Trying 数据库服务器地址...telnet: connect to address ...
背景
新买了个服务器,搭一些分布式项目的积木玩玩~~
我是在一台服务器安装了mysql 5.7只做数据库服务器
又买了俩服务器当作应用服务器,问题就是应用服务器访问不了数据库
出现的问题
1 2 3 | [root @iZ2zehcpqb5ti81m38b7qzZ miaosha]# telnet 数据库服务器地址 3306 Trying 数据库服务器地址... telnet: connect to address 数据库服务器地址: Connection refused |
已经采取的解决办法
我已经采取的解决办法:
查看服务器3306端口是否开放
查看数据库服务器的数据库是否在运行
授权允许远程连接的用户
1 2 3 | use mysql; grant all privileges on *.* to root@ '%' identified by '密码' ; flush privileges; |
.:第一个代表数据库名;第二个代表表名。这里的意思是所有数据库里的所有表都授权给用户;
root:授予root账号;
%:表示授权的用户IP,这里代表任意的IP地址都能访问MySQL;
密码:数据库账号对应的密码;
flush privileges:刷新权限信息。
做完了上面的还是不好使,心态崩了
最后采取的解决办法
然后又看了下3306端口使用情况:
发现都被127.0.0.1 绑定住,此时我感觉发现了问题原因,进行下面操作
1 2 | vim /etc/mysql/mysql.conf.d/mysqld.cnf 把这个注释掉 #bind-address = 127.0 . 0.1 |
问题解决~&总结
想让mysql 服务器可以被外部任意IP远程连接的方式:
授权允许远程连接的用户
123use mysql;
grant all privileges on *.* to root@
'%'
identified by
'密码'
;
flush privileges;
允许MySQL数据库被远程连接
1 2 | vim /etc/mysql/mysql.conf.d/mysqld.cnf 把这个注释掉 #bind-address = 127.0 . 0.1 |
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)