新部署的linux web服务器error Host ‘*.*.*.*’ is not allowed to connect to this MySQL server

最近上头交给我个任务,把WINDOWS平台下开发的网站,部署在LINUX环境上。

把mysql安装好了,所有表单都导入没问题,然后代码都放在tomcat下的webapps文件夹下了,主页

面可以正常显示,但有两个问题:

  1. 用户登录或注册的时候总是提示:Connecting to 192.168.2.109……(linux server的ip);
  2. 查看Tomcat  log文件catalina.out里有一堆

[WARN][2014-07-09 21:28:58,706][org.hibernate.engine.jdbc.spi.SqlExceptionHelper]SQL Error: 1146, SQLState: 42S02

[ERROR][2014-07-09 21:28:58,707][org.hibernate.engine.jdbc.spi.SqlExceptionHelper]Table ‘bjxt.T_DEADLINE‘ doesn‘t exist

[WARN][2014-07-09 21:28:59,302][org.hibernate.engine.jdbc.spi.SqlExceptionHelper]SQL Error: 1146, SQLState: 42S02

[ERROR][2014-07-09 21:28:59,302][org.hibernate.engine.jdbc.spi.SqlExceptionHelper]Table ‘bjxt.T_DEADLINE‘ doesn‘t exist

……

本文就主要讨论这两个问题。

第一个问题:

Connecting to 192.168.2.109……表明连接后端有问题,可能是tomcat出了问题,也可能是

mysql问题导致一直处在连接状态。我做了以下事情:

1先关闭防火墙,再测试,发现情况依旧,证明不是端口问题

#/etc/init.d/iptable stop                   //关闭防火墙

#/etc/init.d/iptable restart                //重启防火墙

2修改网站的配置文件localhost为192.168.2.109或127.0.0.1分别测试,无果。证明不是前

端ip问题,判断应该是后端的问题。

3检查tomcat连接状态,重启tomcat;

4检查端口监听状态,3306监听正常;

5开始排查mysql的问题:删除mysql中默认的和多余的用户,避免干扰,问题依然存在。

6查看mysql的log文件,发现如果通过客户端工具连接Linux下的MySQL数据库出现以下错误:

Host ‘192.168.2.109‘ is not allowed to connect to this MySQL server:

我从terminal用同样的用户名密码登录mysql可以,通过tomcat用这个用户名密码登录却

说Host ‘192.168.2.109‘ is not allowed to connect to this MySQL server!

推断应该是tomcat访问mysql是通过3306端口,和外部机器访问mysql一样,而terminal

访问mysql是服务器内部访问,不需要走3306端口,所以访问mysql如同本地访问,也不需要

特殊权限。

总结分析,应该是mysql默认不允许任何访问,需要mysql开放相应权限:

给用户可访问权限,具体步骤如下:

1.在Linux本机下访问mysql数据库

[[email protected] ~]# mysql -u 你的用户名 -p 你的密码

//连接上数据库后,为本机用户授予权限,使其可以访问mysql
mysql->grant all on *.* to ‘root‘@‘192.168.2.109‘ identified by ‘123456‘;

//意思是ip为192.168.2.109的用户可以通过root用户远程连接数据库中所有表了。

第二个问题:

报错说找不到bjxt.T_DEADLINE这个表,查看数据表以后发现,bjxt库下有t_deadline

这个表单。后来修改了MySQL的配置文件将大小写敏感去掉,问题解决。

步骤如下:

  1. 先进入my.cnf文件修改mysql配置信息:

编辑/etc/my.cnf文件,在[mysqld]节下添加 lower_case_table_names=1 参数

(备注:为0时大小写敏感,为1时大小写不敏感,默认为0)

这样就解决了!

新部署的linux web服务器error Host ‘*.*.*.*’ is not allowed to connect to this MySQL server

时间: 2024-10-06 01:04:37

新部署的linux web服务器error Host ‘*.*.*.*’ is not allowed to connect to this MySQL server的相关文章

IT忍者神龟之mysql远程连接:ERROR 1130 (HY000): Host '*.*.*.*' is not allowed to connect to this MySQL server解决

安装完MySQL后,远程连接数据库的时候,出现 ERROR 1130 (HY000): Host '192.168.0.1' is not allowed to connect to this MySQL server提示信息,不能远程连接数据库.考虑可能是因为系统数据库mysql中user表中的host是localhost的原因,于是,我尝试把这个值改为自己服务器的ip,果然就好用了,不过用 mysql -u root -p命令就连不上数据库了,需要用mysql -h 服务器ip -u roo

MYSQL ERROR 1130: Host is not allowed to connect to this MySQL server

今天安装MYSQL遇到MYSQL ERROR 1130: Host is not allowed to connect to this MySQL server, 试了很多办法都不行 skip-grant-tables 放在my.ini [mysqld] 1.更改任意主机登陆 mysql> use mysql; mysql> update user set host = '%' where user = 'root' and host='localhost'; 2.更新权限 mysql>

解决ERROR 1130: Host '*.*.*.*' is not allowed to connect to this MySQL server 方法

简单点将阿里云ecs服务器内安装的mysql数据库里面的user表里面的Host为localhost的数据 将localhost改为% 如下图 上面那种方法 非常简单是我安装了phpmyadmin的方法 也可以用命令行 #用命令访问mysqlmysql -u root -p #使用mysql数据库use mysql; #查询当前用户情况,显示有2条记录,127.0.0.1:localhost:select host, user from user; #把localhost这条记录的host改为

ERROR 1130: Host ’...′ is not allowed to connect to this MySQL server

/******************************************************************** * ERROR 1130: Host ’...′ is not allowed to connect to this MySQL server * 说明: * 使用远程登录mysql,结果无法登录,记录一下解决方法. * * 2016-9-22 深圳 南山平山村 曾剑锋 ********************************************

mysql不能链接远程,报(Host '***.***.***.***' is not allowed to connect to this MySQL server)

Host '***.***.***.***' is not allowed to connect to this MySQL server 其中***...是本机公网ip; 解决办法: 首先看报错窗口. 经查阅,错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限. 于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限. 首先远程连接进入服务器,在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行

Host is not allowed to connect to this MySQL server解决方法 可以访问局域网的数据库! 完美解决!

0. http://blog.csdn.net/flyyhz/article/details/77100243 1. 2. 3. 4. 5. 6. 7. 8. 9. 今天在Linux上面装完MySQL,却发现在本地登录可以,但是远程登录却报错Host is not allowed to connect to this mysql server,找了半天试了网上的一些方法都没有解决,最终在一篇文章里找到了解决方法,特意记录一下. 先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录

err1130 Host'' is not allowed to connect to this MySQL server

执行sql报错 err1130  Host'' is not allowed to connect to this MySQL server 我的做法是自己建表,填数据,哈哈哈 一个小时以后..... 悲剧,建了表打不开,报同样的错. 一个小时以后......... 弄好了,我的做法是打开my.ini,在文件的最后添加一行"skip-grant-tables". 然后关机,开机,好了............. err1130 Host'' is not allowed to conne

解决远程连接数据库:Host is not allowed to connect to this MySQL server

远程连接数据时,报以下提示: Host 'web1' is not allowed to connect to this MySQL server 原因是数据库服务不允许远程登录,没有授权导致,解决方法如下: 登陆mysql数据库: mysql –uroot –p123456 创建并授权一个专用的数据库wordpress用于存放blog数据: create database wordpress; show database like ‘wordpress’; grant all on worpr

mysql error:Host is not allowed to connect to this MySql server

访问虚拟机中Mysql时出现如下错误: 原因:该mysql用户不允许远程登录 解决:授权 1> 允许用户从任何主机连接到mysql server GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES; 2> 允许用户从指定IP访问mysql server 其中,host为特定IP地址 GRANT ALL PRIVILEGES ON *.