我的服务器买的是阿里云ECS linux系统。为了更好的操作数据库,我希望可以用navicat for mysql管理我的数据库。

当我按照正常的模式去链接mysql的时候,

报错提示:

- Can't connect MySQL Server on 'x.x.x.x'(10038)

于是,通过查找资料,我找到了解决的方法,其实是阿里云服务器为了安全默认不允许从外面链接Mysql数据库。

下面是解决整理的三种解决的方法:

第一种、监听地址配置错误解决方法:

检查mysql服务端口(默认为3306)是否正常监听在127.0.0.1上,如果监听在127.0.0.1上那只允许服务器本身访问的,其他地址是访问不了的,可以通过下面方法来确定端口监听以及修改监听地址;

#netstat -nal |grep  //查看3306端口监听情况,如果监听端口在127.0.0.1上,需进行更正。

#find / -name my.cnf     //查找MySQL配置文件路径

#vim /etc/my.cnf         //编辑配置文件,将bind-address = 127.0.0.1参数,更改为bind-address = 0.0.0.0 或注释此行。

重启mysql服务(centos7以上为以下命令)

systemctl restart mysqld

问题解决。

第二种、被防火墙阻拦解决方法:

如果排查mysql服务监听在0.0.0.0地址3306端口上,需检查防火墙设置。如果是被防火墙拦截,需开放数据库服务端口。

注意:此处有坑。

第一步:我们可以关闭防火墙,看看外部可不可以链接。

service iptables stop

如果是centos7以上用以下命令关闭防火墙

systemctl stop iptables  (我遇到问题关闭防火墙就解决了)

第二步:当关闭防火墙可以访问的时候,问题就出现在我们的端口上。打开端口配置文件,仔细看看是不是3306端口。我就没看清楚,写的是3066,整的我把数据库重新安装还没解决问题。

vi /etc/sysconfig/iptables

下面接着来:

iptables -L
iptables -A INPUT -p tcp --dport -j ACCEPT

第三种、USER表配置错误解决方法:

监听地址和防火墙检查无误,需进入mysql数据库内部,检查USER表是否没有放开远程访问。如果没有开启远程访问,开启即可。

mysql> use mysql;   //进入到mysql库中

mysql> update user set host = '%' where user = 'root';  //更改USER这张表中的访问地址为%
mysql> select host, user from user; //查看是否更改成功

同时还需要向mysql数据库里的“user”表里对某个用户添加相关授权(以下是对root用户添加所有权限操作并设置登录密码)。

具体步骤:

1.授权(此处是对root用户授权mysql所有数据库)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; 

如果针对某个特定的用户test授权某个指定的数据testdb用下面例子中的命令

mysql>GRANT ALL PRIVILEGES ON `testdb`.* TO 'test'@'%' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; 

2.刷新权限使其生效

mysql>flush privileges; 

配置完成之后记得重启服务器。

最新文章

  1. RealProxy深入
  2. 一步步教你Hadoop多节点集群安装配置
  3. CEP简介
  4. LCA专题
  5. redis研究之watch
  6. 35个jQuery小技巧(转)
  7. docker学习笔记2:容器操作
  8. HDU1073:Online Judge
  9. 关于java反射获取泛型
  10. 记录一个古老的Sql分页过程
  11. Spring--ApplicationContext
  12. 【转载】django 过滤器 、日期格式化参数
  13. Dom对象的研究
  14. SpringBoot 上传、下载(四)
  15. AlertDialog 无法去掉自带的白边
  16. NodeHandles
  17. python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器
  18. 【Oracle】浅析Oracle中的事务
  19. goto语句的升级版,setjmp,longjmp
  20. GitHub10岁之际HanLP自然语言处理包用户量跃居榜首

热门文章

  1. AI应用开发实战
  2. Ooui.Wasm:浏览器中的.NET
  3. H5 和移动端 WebView 缓存机制解析与实战
  4. java web项目get,post请求参数中文乱码解决
  5. [Swift]LeetCode838. 推多米诺 | Push Dominoes
  6. Android studio使用过程中错误的解决方法
  7. 关于移动端开发,vedio标签层级高遮挡蒙版的解决方案
  8. 关于CGI 和 PHP-FPM需要弄清的
  9. python获取当前路径
  10. 如何优雅的利用Windows服务来部署ASP.NET Core程序