我尝试连接到mysql时收到以下错误:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
这个错误有解决方案吗?它背后的原因可能是什么?
控制台说
[root@ip-172-31-18-2 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.
Run Code Online (Sandbox Code Playgroud)
mysqld.service
[root@ip-172-31-18-2 mysql]# systemctl status mysqld.service
? mysqld.service - SYSV: MySQL database server.
Loaded: loaded (/etc/rc.d/init.d/mysqld)
Active: failed (Result: exit-code) since Sat 2017-02-18 20:59:17 IST; 36s ago
Docs: man:systemd-sysv-generator(8)
Process: 9925 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE)
Feb 18 20:59:16 ip-172-31-18-2.ap-southeast-1.compute.internal systemd[1]: Starting SYSV: MySQL database server....
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal …Run Code Online (Sandbox Code Playgroud) 当连接到Django中的mysql数据库时,我收到错误.
我确定mysql服务器正在运行.
/var/run/mysqld/mysqld.sock不存在.
当我运行时$ find / -name *.sock -type s,我只获得/tmp/mysql.sock和其他一些不相关的输出.
我添加socket = /tmp/mysql.sock到/etc/my.cnf.然后重新启动mysql,退出django shell,并连接到mysql数据库.我仍然有同样的错误.
我搜索了很多,但我仍然不知道该怎么做.
任何帮助都很重要.提前致谢.
好吧,我只是尝试了一些方法.它有效.我做了如下.
socket = /tmp/mysql.sock.Restart mysql服务器.ln -s /tmp/mysql.sock /var/lib/mysqld/mysqld.sock我今天遇到了另一个问题.我无法登录到mysql.我是mysql的新手.所以我猜mysql服务器和客户端使用相同的套接字进行通信.我添加socket = /var/mysqld/mysqld.sock到my.cnf中的[mysqld] [client]块并且它是wokrs.
我想编写简单的python应用程序并使用dockerfile放入docker conteiner.我的dockerfile是:
FROM ubuntu:saucy
# Install required packages
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server python-mysqldb
# Add our python app code to the image
RUN mkdir -p /app
ADD . /app
WORKDIR /app
# Set the default command to execute
CMD ["python", "main.py"]
Run Code Online (Sandbox Code Playgroud)
在我的python应用程序中,我只想连接到数据库.main.py看起来像这样:
import MySQLdb as db
connection = db.connect(
host='localhost',
port=3306,
user='root',
passwd='password',
)
Run Code Online (Sandbox Code Playgroud)
当我用以下代码构建docker图像时:
docker build -t myapp .
Run Code Online (Sandbox Code Playgroud)
并使用以下命令运行docker镜像:
docker run -i myapp
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
_mysql_exceptions.OperationalError: (2002, "Can't …Run Code Online (Sandbox Code Playgroud) 我遇到错误无法通过Ubuntu 12.04.5 LTS中的套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器. 所以,我从Ubuntu 12.04.5 LTS 卸载了mysql 5.5.但是当我尝试安装mysql时,我无法安装mysql.
我使用以下命令卸载mysql:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get remove --purge mysql-server-5.5 mysql-client-5.5 mysql-servercore-5.5 mysql-client-core-5.5
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo deluser mysql
Run Code Online (Sandbox Code Playgroud)
我使用以下命令安装mysql 5.5:
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)
但我遇到以下错误:
AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld at line 9: Could not open 'abstractions/mysql'
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" …Run Code Online (Sandbox Code Playgroud) 我在Amazon EC2上打开了我的应用程序(在Rails中)并出现错误 - 因此我检查了日志并且有以下内容:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
Run Code Online (Sandbox Code Playgroud)
10个小时前,一切正常.有什么问题?交通很多?该应用程序正在Micro Instance上运行.
如何解决这个问题以及将来如何避免这个问题?
非常感谢你
编辑:
sudo find / -type s
---
/tmp/.sock
/dev/log
/var/lib/apt-xapian-index/update-socket
/run/mysqld/mysqld.sock
/run/acpid.socket
/run/dbus/system_bus_socket
/run/udev/control
find: `/proc/4739/task/4739/fd/5': No such file or directory
find: `/proc/4739/task/4739/fdinfo/5': No such file or directory
find: `/proc/4739/fd/5': No such file or directory
find: `/proc/4739/fdinfo/5': No such file or directory
Run Code Online (Sandbox Code Playgroud) 我安装(在 Ubuntu 13 上)MYSQL 使用
sudo apt-get install mysql
但是跑完之后
mysql -u root -p
并输入密码它会出现错误
ERROR 2002 (HY000): 无法通过 socket '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)
请指导...
我是 stackoverflow 的新手,所以如果我没有遵循提出这个问题的所有规则,请原谅。
因此,我使用这个 Helm Chart: https: //github.com/helm/charts/tree/master/stable/mysql为我们的生产环境部署 mysql。事实上,我们在生产中运行了这个设置,但它只创建 1 个 mysql pod,而我需要运行 3 个 pod。我尝试在 helm 图表的values.yaml 文件中设置replicas=3 并重新部署该图表,但它不断失败并出现一些错误,错误是:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 4m58s default-scheduler pod has unbound immediate PersistentVolumeClaims (repeated 4 times)
Normal Scheduled 4m58s default-scheduler Successfully assigned test-helm/cluster-mysql-5bcdf87779-vdb2s to innolx12896
Normal Pulled 4m57s kubelet, innolx12896 Container image "busybox:1.29.3" already present on machine
Normal Created 4m56s kubelet, innolx12896 Created container
Normal Started 4m56s kubelet, innolx12896 Started container
Warning …Run Code Online (Sandbox Code Playgroud) mysql kubernetes kubernetes-helm readinessprobe livenessprobe
我在测试脚本中设置了一个PDO连接:
use app\SomeDAO;
class SomeTest extends \PHPUnit_Framework_TestCase
{
protected $db;
public function setUp()
{
$dsn = "mysql:host=localhost;dbname=baseball;user=root;password=root";
$this->db = new PDO($dsn);
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
PDOException:SQLSTATE [HY000] [2002]没有这样的文件或目录.
我如何在这里使用PDO?
mysql ×8
python ×2
amazon-ec2 ×1
connect ×1
django ×1
docker ×1
dockerfile ×1
install ×1
kubernetes ×1
linux ×1
mariadb ×1
mysql.sock ×1
pdo ×1
php ×1
phpunit ×1
ruby ×1
sockets ×1
ubuntu ×1