Apache连接Mysql出现(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock

在将Django部署到Apache后,遇到'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'的问题。经过一系列排查,包括确认MySQL运行状态、使用Django内置服务器验证数据库连接、检查SELinux权限、修改DATABASES设置中的HOST,最终将HOST从localhost改为127.0.0.1解决了问题。

环境:(OS:rhel7.2, Django1.11.13,Apache2.4.34)

问题描述:

将django 部署到apche之后,在浏览器输入url出现(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock

验证:

1,首先,我验证了一下,mysql是否是在运行;确认了mysql服务器是处于运行状态的

2,在django的工程下执行Python manage.py runserver 0.0.0.0:8000 目的是为了验证mysql数据库是否可以被django调用,;执行后发现url在前端显示正常;我觉得问题可以锁定在apache与mysql之间的连接;

3,根据网上看的类似问题汇总,大概是要通过 SELinux的组策略给apche权限访问数据库,setsebool httpd_can_network_connect 1 执行完该命令,我的系统下报错了                   

selinus是disabled,那肯定是要enable才行了,所以我修改了配置文件

root@master server]# [root@master server]# which hadoop /root/export/server/hadoop/bin/hadoop [root@master server]# whereis hadoop hadoop: /root/export/server/hadoop/bin/hadoop /root/export/server/hadoop/bin/hadoop.cmd [root@master server]# ls -l /usr/bin/hadoop ls: 无法访问/usr/bin/hadoop: 没有那个文件或目录 [root@master server]# mysql --version mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1 [root@master server]# which mysql /usr/bin/mysql [root@master server]# [root@master server]# cat > /root/start-hive.sh << 'EOF' > #!/bin/bash > > source /etc/profile > > echo "?? 启动 Hadoop DFS..." > /export/server/hadoop/sbin/start-dfs.sh > > echo "?? 手动启动 DataNode..." > /export/server/hadoop/sbin/hadoop-daemon.sh start datanode > > echo "?? 启动 MySQL..." > /export/server/mysql/bin/mysqld_safe --user=mysql & > > sleep 8 > > echo "?? 启动 Hive Metastore..." > nohup /export/server/hive/bin/hive --service metastore > /export/server/hive/metastore.log 2>&1 & > > sleep 12 > > echo "?? 启动 HiveServer2..." > nohup /export/server/hive/bin/hive --service hiveserver2 > /export/server/hive/hiveserver2.log 2>&1 & > > echo "? 所有服务已启动!请执行 jps 查看进程" > EOF [root@master server]# #一键启动hadoop集群 [root@master server]# cd /root [root@master ~]# /root/start-hive.sh bash: /root/start-hive.sh: 权限不够 [root@master ~]# jps 96417 DataNode 96162 NameNode 65336 Jps 103240 ResourceManager 103483 NodeManager 96894 SecondaryNameNode [root@master ~]# [root@master ~]# chmod 777 /root/start-hive.sh [root@master ~]# /root/start-hive.sh ?? 启动 Hadoop DFS... /root/start-hive.sh:行6: /export/server/hadoop/sbin/start-dfs.sh: 没有那个文件或目录 ?? 手动启动 DataNode... /root/start-hive.sh:行9: /export/server/hadoop/sbin/hadoop-daemon.sh: 没有那个文件或目录 ?? 启动 MySQL... 2025-11-26T14:10:49.278859Z mysqld_safe Logging to '/export/server/mysql/data/error.log'. 2025-11-26T14:10:49.374057Z mysqld_safe Starting mysqld daemon with databases from /export/server/mysql/data ?? 启动 Hive Metastore... ?? 启动 HiveServer2... ? 所有服务已启动!请执行 jps 查看进程 [root@master ~]# jps 96417 DataNode 96162 NameNode 103240 ResourceManager 103483 NodeManager 96894 SecondaryNameNode 66734 Jps [root@master ~]# [root@master ~]# #启动mysql [root@master ~]# mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) [root@master ~]# 要怎么解决MySQL的问题然后安装hive
最新发布
11-27
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值