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)。html

 

  解决掉以后经过在本地的sqlyog链接都报错,但是在linux服务器上能够运行,用下面语句受权以后仍是链接不上,而且Java程序也是链接不上mysql

受权:linux

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

 

 查看登陆用户信息:sql

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

 

 

 此时用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'; Empty set (0.00 sec) mysql> show variables like 'log_error'; +---------------+---------------------+
| Variable_name | Value               |
+---------------+---------------------+
| log_error     | /var/log/mysqld.log |
+---------------+---------------------+
1 row in set (0.00 sec) mysql> quit Bye [root@iz2ze46xi6pjjj69ailg9lz logs]# cat /var/log/mysqld.log

 

错误日志:socket

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解决的:ide

[root@iz2ze46xi6pjjj69ailg9lz logs]# ps -ef|grep mysql mysql 24359     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服务发现一切正常。ui

[root@iz2ze46xi6pjjj69ailg9lz logs]# service mysqld start
相关文章
相关标签/搜索