2019年3月15日 添加:
千万别忘了检查相关的数据库密码和账号是否配置准确无误,我遇到的错误就是数据库和密码出现了问题,我原来以为最安全的位置,却出现了问题。
答:打开ssh,输入service mysqld restart重启服务器,亲测有效
今天登录公司Wordpress时,页面提示Error establishing a database connection 连接数据库出错。
第一反应,数据库是不是挂了….
1.登录服务器netstat -tunlp
[root@i-3y00n7z1 ~]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 898/memcached tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 915/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1174/master tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1052/mysqld tcp 0 0 :::11211 :::* LISTEN 898/memcached tcp 0 0 :::80 :::* LISTEN 1393/httpd tcp 0 0 :::22 :::* LISTEN 915/sshd tcp 0 0 ::1:25 :::* LISTEN 1174/master udp 0 0 0.0.0.0:68 0.0.0.0:* 891/dhclient udp 0 0 0.0.0.0:11211 0.0.0.0:* 898/memcached udp 0 0 :::11211 :::* 898/memcached
2.查看mysql密码
/data/wordpress/wp-config.php
3.测试登录数据库
mysql -u root -p
提示Access denied for user ‘root’@’localhost’ (using password:YES)
拒绝root登录,查看mysql程序相关权限,正常
4.查看mysql错误日志 /var/log/mysqld.log
未记录相关日志
5.百度查询相关报错,多数都告诉重置mysql root密码
尝试用127.0.0.1登录,输入mysql root 密码,登录成功
root密码正确
[root@i-3y00n7z1 ~]#mysql -h 127.0.0.1 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 52 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
6.退出,尝试用空密码登录mysql
登录成功
show databases; 看不到mysql库
mysql> show databases; +---------------------------+ 丨Database 丨 +--------------------------丨 丨information_schema 丨 丨test 丨 +---------------------------+ 2 rows in set (0.00 sec) mysql>
一顿百度操作…..
找到问题:
没有给’root’@’localhost’和’root@’ip授权
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | Knowledge | | mysql | | test | 4 rows in set (0.00 sec)
/** MySQL主机 */
define(‘DB_HOST’, ‘localhost’);
地址为localhost也可能导致链接不上数据库。
改为127.0.0.1解决。
7、还有研究发现是数据库端口并没有放行,导致网站连不上数据库导致的。
知道问题后我们只需要对数据库端口3306放行即可。主机吧用的是宝塔集成系统,所以放行很方便,直接在安全,端口控制,输入放行即可。