linux jdbc连接,linux下程序JDBC连接不到mysql数据库(示例代码)

今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报Access denied for user \'root\'@\'localhost\' (using password: YES”),最终解决掉这个问题之后还是连接不上(参考:http://www.cnblogs.com/qlqwjy/p/8315802.html)。

解决掉之后通过在本地的sqlyog连接都报错,可是在linux服务器上可以运行,用下面语句授权之后还是连接不上,并且Java程序也是连接不上

授权:

mysql> grant all privileges on *.* to \'root\'@\'%\' identified by \'admin\';

mysql> grant all privileges on *.* to \'root\'@\'localhost\' identified by \'admin\';

mysql> flush privileges;

查看登录用户信息:

mysql> select user,host,password from mysql.user;

caeea0138c01488290e1146f16177a7e.jpg

此时用service myqld stop发现不起作用,也就是关不掉mysql服务,用service mysqld start启动报错:

Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

最终通过查看mysql的错误日志发现mysql服务一直开启着:

mysql> show variables like \'error_log\';

Emptyset (0.00sec)

mysql> show variables like \'log_error\';+---------------+---------------------+

| Variable_name | Value |

+---------------+---------------------+

| log_error | /var/log/mysqld.log |

+---------------+---------------------+

1 row in set (0.00sec)

mysql>quit

Bye[root@iz2ze46xi6pjjj69ailg9lz logs]# cat /var/log/mysqld.log

错误日志:

180119 10:01:35 mysqld_safe Logging to \'/var/log/mysqld.log\'.180119 10:01:35 mysqld_safe A mysqld process already exists

180119 10:01:37 mysqld_safe Logging to \'/var/log/mysqld.log\'.180119 10:01:37 mysqld_safe A mysqld process already exists

180119 10:01:38 mysqld_safe Logging to \'/var/log/mysqld.log\'.180119 10:01:38 mysqld_safe A mysqld process already exists

解决办法:最后是通过查看mysql相关的pid然后杀死进程之后重新启动mysql解决的:

[root@iz2ze46xi6pjjj69ailg9lz logs]# ps -ef|grep mysql

mysql24359 1 0 10:31 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr

mysql 24541 24359 0 10:31 ? 00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

root 25420 25023 0 11:17 pts/2 00:00:00 grep --color=auto mysql

[root@iz2ze46xi6pjjj69ailg9lz logs]# kill -9 24541

[root@iz2ze46xi6pjjj69ailg9lz logs]# kill -9 24359

通过上面命令查看到mysql相关的进程id之后杀掉进程,重启mysql服务发现一切正常。

[root@iz2ze46xi6pjjj69ailg9lz logs]# service mysqld start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值