在 Ubuntu 服务器上连接 MySQL

在 Ubuntu 服务器上连接 MySQL

前几天连接还正常,但不知何故却不行了。MySQL 在 Ubuntu Server 12.04 中运行,我正尝试使用 Windows 7 中的 ODBC Connector 5.1 连接到数据库。

我尝试过注释掉文件并保留绑定地址cnf。我尝试过授予所有访问权限。我阅读了无数教程并发帖试图弄清楚。我无法弄清楚发生了什么,而且我对这一切都是新手,我注意到大多数帖子都遗漏了一些其他人可能注意到的小事情。

帮忙!提前致谢。

服务正在运行,我从 netstat -tlpen | grep mysql 获得以下内容:

tcp  0  0.0.0.0.0:3306  0.0.0.0:*  LISTEN  106  15172  3565/mysqld

我从 netstat -tlpen 获得以下信息:

    Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      106        15172       3565/mysqld     
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      0          7092        776/smbd        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      0          8325        784/rpcbind     
tcp        0      0 0.0.0.0:10000           0.0.0.0:*               LISTEN      0          9759        1325/perl       
tcp        0      0 0.0.0.0:44819           0.0.0.0:*               LISTEN      0          9584        -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          8809        947/sshd        
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      0          7090        776/smbd        
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      0          9000        -               
tcp6       0      0 :::139                  :::*                    LISTEN      0          7088        776/smbd        
tcp6       0      0 :::111                  :::*                    LISTEN      0          8328        784/rpcbind     
tcp6       0      0 :::22                   :::*                    LISTEN      0          8811        947/sshd        
tcp6       0      0 :::445                  :::*                    LISTEN      0          7085        776/smbd        
tcp6       0      0 :::2049                 :::*                    LISTEN      0          9003        -               
tcp6       0      0 :::47906                :::*                    LISTEN      0          9586        -     

iptable -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

在此处输入图片描述

答案1

听起来你已经检查了 MySQL 可能出现的所有问题。接下来我要检查的是 MySQL 是否仍在运行并在正确的端口上监听。

service mysql status

如果没有运行,请启动它:

service mysql start

之后,我将通过运行以下命令确保它仍在监听默认端口

netstat -tlpen | grep mysql

MySQL 的默认端口是 3306,因此它应该返回如下内容:

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 107 8073 790/mysqld

答案2

我终于搞清楚了到底发生了什么。原来,我为服务器设置的静态 IP 并未完全建立,重新启动后,LAN 上的另一台计算机获取了我为服务器指定的 IP 地址。

sudo nano /etc/network/interfaces

并改变了类似于此的信息教程,使用与我的 LAN 相关的信息。

我没有按照教程所述更改 resolv.conf 文件,而是添加了:

dns-nameserver XX.XX.XX.XX
dns-nameserver XX.XX.XX.XX

作为接口文件底部的两行附加内容。XX.XX.XX.XX 被替换为我从路由器识别的 dns-nameservers。我读到的其他信息表明您可以使用其他服务器,即 Google 或 OpenDNS。完成此操作并重新启动网络后,我必须从服务器中删除 dhcp-client。如果不这样做,重新启动服务器后静态 ip 地址将不会保留。

相关内容