向日葵 | 2021-08-9
当您想从本地系统连接到远程 MySQL 服务器时,或者当使用多服务器部署时,应用程序与数据库服务器不在同一台计算机上运行,也有可能导致mysql远程访问失败。那mysql远程访问失败的解决方法有哪些?推荐给大家一款好用的远程控制软件!
如果 MySQL 服务器和客户端可以通过专用网络相互通信,那么最好的选择是将 MySQL 服务器设置为仅在专用 IP 上侦听。否则,如果要通过公用网络连接到服务器,请将 MySQL 服务器设置为侦听计算机上的所有 IP 地址。
mysql远程访问,远程连接是输入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);
一开始我怀疑是否端口设置问题,然后在/etc/mysql/my.cnf上加上了port=3306,结果还是连不上,显示端口拒绝访问。
然后用命令$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/mysql/my.cnf
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
port=3306
bind-address=0.0.0.0
utf8相关的是之前本地录入汉字数据时发现插入失败,汉子和VARCHAR不兼容,在mysql模式下输入STATUS查看的状态时:
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. 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远程访问的优势除了正常的鼠标操作远控之外,还可以利用手势进行远程客户端的控制,而且当我们出差在外,将电脑的文件忘记拷贝时,用户可以通过向日葵mysql远程访问对文件进行传输和下载,步骤简单容易操作,快速传递文件,安全进行传达,用户也能放心使用。
具体是如何进行mysql远程访问操作的呢,第一步就是要在所用到的电脑上找到向日葵的官网,进入主界面进行注册,填写oray账号。第二部是将其oray账号注册之后,然后在其官网上下载Windows向日葵客户端进行安装,安装完成以后把oray账号进行绑定,再绑定的过程中设置好访问密码,方便远控使用。然后利用手机app的应用,找到“向日葵”的字样,根据上面的提示进行安装,会出现“授权开启相关权限”用户点击确定,安装之后进入登陆界面。然后把刚才的Oray官网账号输入进行登录即可。