在服务器上怎么连接mysql数据库服务器

在服务器上怎么连接mysql数据库服务器,第1张

mysql -u用户名 -h主机名 -p
前提是服务器的mysql上有该用户,以及对应的IP
可登入mysql服务器上执行
grant all on test to 用户名@‘客户机IP’ identified by '密码' ;
flush privileges; #刷新权限表,让所做修改生效
上面指令的意思是 将test这个数据库的全部内容以及全部的 *** 作权限赋权给从特定IP上登入到本服务器的用户。

1、首先输入代码

public void SendBy>

new Thread(new Runnable() {

@Override

public void run() {

try {

>

>

List<NameValuePair> params=new ArrayList<NameValuePair>();//将id和pw装入list

paramsadd(new BasicNameValuePair("ID",id));

paramsadd(new BasicNameValuePair("PW",pw));

final UrlEncodedFormEntity entity=new UrlEncodedFormEntity(params,"utf-8");//以UTF-8格式发送

>

>

if(>

2、然后再输入下方的代码:

{

>

String response=EntityUtilstoString(entity1, "utf-8");//以UTF-8格式解析

Message message=new Message();

messagewhat=USER_LOGIN;

messageobj=response;

handlersendMessage(message);使用Message传递消息给线程

}

}

catch (Exception e) {

eprintStackTrace();

}

}

})start();

  }

3、最终,测试结果图,如下:

排除网络或防火墙问题

先看是否能ping通远程服务器,ping 1921681211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 1921681211 3306,如果连接失败,配置防火墙。
配置防火墙,开启3306端口

vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)/etc/initd/iptables restart(重启防火墙使配置生效)

2检查MySQL配置

如果开启了防火墙,telnet还是失败,通过netstat查看3306的端口状态:

netstat -apn|grep 3306tcp6  0  0 127001:3306  :::  LISTEN    13524/mysqld

注意地方,这说明3306被绑定到了本地。检查一下mycnf的配置,这里可以配置绑定ip地址。
bind-address=addr
不配置或者IP配置为0000,表示监听所有客户端连接。
ps:我开启3306端口,并且检查MySQL配置之后,telent仍然失败,但是在本机telnet是ok的,再三确认了配置没有问题。后来跟我们的ucloud账号管理员提了一下,才知道ucloud管理后台也需要开启3306端口,用云服务器的留意这个。

3检查用户访问权限

MySQL建用户的时候会指定一个host,默认是127001/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。

最后,别忘了重启mysql使配置生效。

以上几个原因,你看一下是否适用你的情况


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10245936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存