无法连接到远程MySQL数据库服务器

bmp9r5qi  于 2023-01-01  发布在  Mysql
关注(0)|答案(1)|浏览(194)

我不明白为什么我不能访问一个远程MySQL服务器在ubuntu内的VMware.我已经有代码,它成功地连接到我的本地主机以及插入,删除和更新数据的.但当我用指定的IP服务器地址创建一个新的连接字符串时,它显示一个错误:

我只能通过SSH和浏览器(192.168.56.xxx/phpmyadmin)访问该服务器中的文件。
下面是连接字符串的代码。

Dim conn As New MySqlConnection
 conn.ConnectionString = "Server=192.168.56.xxx;port=3306;User=root;password=mypassword;Database=prodDB_vb"
 conn.Open()
 MessageBox.Show("Connection to Database has been opened.")
 cmd.Connection = conn

我已经读了很多关于这个的论坛。但是不明白他们指的是什么。我也执行了代码:

GRANT ALL PRIVILEGES ON prodDB_vb TO 'root@*' IDENTIFIED BY 'my_password';
  FLUSH PRIVILEGE;

我唯一知道的是,我在服务器文件中找不到我的.cnf,但我已经在我的本地主机的绑定IP地址中更改了我的my.ini。

#bind-address="127.0.0.1"

3306在听

我的.cnf里有这个

为什么会有这个错误?
任何人请帮忙。

bvpmtnay

bvpmtnay1#

你检查过MySQL是否真的在监听3306了吗?运行netstat-tlpn并提供结果。如果你没有看到3306,那可能是没有。
在我的. cnf中,您应该验证--skip-networking是否被注解掉

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 65.55.55.2
# skip-networking

要查找CNF file
编辑:
For example, if your MySQL server IP is 192.162.0.3 then entire block should be look like as follows:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 192.168.0.3
# skip-networking
....
..
....
  • 绑定地址:要绑定到的IP地址。
  • 跳网:完全不监听TCP/IP连接。所有与mysqld的交互都必须通过Unix套接字进行。强烈建议在只允许本地请求的系统中使用此选项。由于您需要允许远程连接,因此应从文件中删除此行或将其置于注解状态。

然后我们必须重启mysql服务以使更改生效:

/etc/init.d/mysql restart

相关问题