远程桌面连接便是键入mysql所属服务器的IP和端口号来明确服务器的逻辑性详细地址,随后根据客户和登陆密码来明确登陆哪一个客户。比如:

String url = "jdbc:mysql://192.168.183.134:3306/mysql";

即先将服务器与传输层的IP 192.168.183.134联接,再联接该服务器的特殊端口号3306(网络层)。随后,联接网络层后,在网络层用账户密码登陆浏览mysql数据库查询:

Connection conn = DriverManager.getConnection(url, user, password);

一开始我怀疑端口是不是有什么问题,之后我将port=3306加上到/etc/mysql/my.cnf,但联接或是失败了,表明端口号拒绝访问。

随后应用指令$netstat -apn搜索端口号3306的信息:

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

细心看,这儿带来的IP是127.0.0.1。融合socket程序编写的工作经验,在接受一切服务器推送的信息时,都是会将IP设定为0.0.0.0。127.0.0.1(环回详细地址)是不是代表着只有当地浏览?随后,在我开启同学们的Debian,看见他的mysql端口号时,果真是我觉得的那般:

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN

通过一番检索,得到mysql默认设置只给予当地浏览,必须附加设定才可以开启远程连接作用。从安全性视角看来,这也是有效的。

设定方式或改动环境变量/etc /etc/mysql/my.cnf

[client]default-character-set=utf8

[mysqld]

默认设置-储存-模块=INNODB字段名-网络服务器=utf8排列标准-网络服务器=utf8_general_ci端口号=3306关联-详细地址=0.0.0.0

Utf8与以前在当地键入中国汉字数据信息时插进不成功相关,男性与VARCHAR兼容问题。达到最佳状态查询mysql方式下的状况时:

Server characterset: latin1Db characterset: latin1Client characterset: utf8Conn. characterset: utf8

此次改动后,前2个字段名全是utf8,适用汉语。别的改动如我常说,关联IP为0.0.0.0,即接受随意详细地址的电脑主机的联接,端口号关联为3306。

可是,依然无法打开,可是不正确信息早已变更。此次很显著,客户沒有联接管理权限,换句话说客户只有宽带连接。检索数据信息后,解决方法如下所示:

1.建立一个新用户来远程桌面连接到mysql数据库查询。

mysql> grant all on *.* to team@'%' identified by 'java123' with grant option;Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

2.适用root客户远程桌面连接mysql数据库查询。

mysql> grant all on *.* to 'root'@'%' identified by 'cplusplus' with grant option;Query OK, 0 rows affected, 1 warning (0.01 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

参照:配备mysql怎样容许远程桌面连接。

mysql连接失败的原因-mysql数据库连接失败解决方法-第1张图片

评论(0条)

刀客源码 游客评论