相关疑难解决方法(0)

ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)

我在Ubuntu 12.04 LTS(Precise Pangolin)上安装了LAMP,然后在phpMyAdmin上设置root密码.我忘记了密码,现在我无法登录.当我尝试通过终端更改密码时,我得到:

ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)

我怎样才能解决这个问题?我无法打开LAMP,卸载它或重新安装它.

mysql lamp phpmyadmin forgot-password mysql-error-2002

395
推荐指数
37
解决办法
140万
查看次数

MySQL错误:2013年,"在'读取初始通信数据包'时失去与MySQL服务器的连接',系统错误:0"

我在使用Python的MySQLdb库连接到我的本地MySQL数据库时遇到问题.该脚本以前运行良好,但我偶尔会在标题中得到MySQL错误.似乎没有解释何时发生错误,并且脚本始终从具有相同参数的同一台机器运行.

MySQL服务器使用端口3306(本地托管的phpMyAdmin工作)在Windows XP SP3上作为服务运行,并且脚本从Oracle VM VirtualBox中的Ubuntu 10.04客户机操作系统运行.

我目前正在解决这个问题,打开命令提示符并执行'net stop MySQL'然后'net start MySQL'.这允许我再次运行脚本几次,然后导致错误,我一直在通过重新启动MySQL服务来修复.

由于我仍在对脚本进行更改,因此有时脚本会引发异常并且不会正常退出,但我会捕获异常并关闭游标和连接.

连接数据库的代码:

def __init__(self):
  try:
    print "Connecting to the MySQL database..."
    self.conn = MySQLdb.connect( host = "192.168.56.1",
                                 user = "guestos",
                                 passwd = "guestpw",
                                 db = "testdb")
    self.cursor = self.conn.cursor(MySQLdb.cursors.DictCursor)
    print "MySQL Connection OK"
  except MySQLdb.Error, e:
    print "MySQLdb error %d: %s" % (e.args[0],e.args[1])
    raise
Run Code Online (Sandbox Code Playgroud)

发生这种情况时产生的完整错误如下:

MySQLdb error 2013: Lost connection to MySQL server at 'reading initial communication packet', system error: 0
Traceback (most recent call last):
  File "search.py", …
Run Code Online (Sandbox Code Playgroud)

python mysql

19
推荐指数
2
解决办法
7万
查看次数

docker mysql在不同的端口上

我想更改mysql图像docker的默认公开端口,但如果我尝试使用此命令

 docker run --detach --name=test-mysql -p 52000:52000  --env="MYSQL_ROOT_PASSWORD=mypassword" mysql
Run Code Online (Sandbox Code Playgroud)

不工作,mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全.ERROR 2013(HY000):在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0

如果我使用标准端口3306:3306工作正常,但我想改变端口,它可能吗?

我已经尝试过-p 52000:3600,但我总是:

mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全.ERROR 2013(HY000):在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0

mysql docker

16
推荐指数
2
解决办法
2万
查看次数

尝试从主机连接到 mysql docker 容器时出现“读取初始通信数据包”错误

我希望能够连接到我的 docker 容器,就像 MySQL 服务器安装在我的本地计算机上一样。我测试我的连接:

mysql -u root -proot -h 127.0.0.1 -P 3306 --protocol=tcp
Run Code Online (Sandbox Code Playgroud)

如果我使用docker创建一个容器,我可以成功地做到这一点。像这样:

docker run --name some-mysql-standalone -p 127.0.0.1:3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.29
Run Code Online (Sandbox Code Playgroud)

如果我在 docker-compose 中使用容器作为服务,则会收到错误:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2
Run Code Online (Sandbox Code Playgroud)

MySQL 服务器正在容器内运行,我可以访问它。

我的 docker 撰写片段:

version: '2'

services:

    mysql:

        image: mysql:5.7.29
        container_name: some_mysql
        restart: unless-stopped

        volumes:
            - ./mysql/data:/var/lib/mysql
            - ./mysql/init:/docker-entrypoint-initdb.d

        ports:
            - 3306:3306

        environment:
            MYSQL_DATABASE: some_mysql
            MYSQL_USER: root
            MYSQL_PASSWORD: root
            MYSQL_ROOT_PASSWORD: root
Run Code Online (Sandbox Code Playgroud)

有趣的是,我已经使用它docker-compose.yml有一段时间了,没有任何问题。我不太确定我的环境发生了什么变化导致它停止工作。

如何使 …

mysql docker docker-compose

13
推荐指数
1
解决办法
4万
查看次数

Mysql和PHP - 从不同的服务器更新数据库

我需要从主机"B"连接到主机"A"上的数据库.

我已经读过如何做到这一点,但我找不到正确的方法.所以我写了这个:

$servername = "118.140.84.78"; //host"A" ip
$username = "lpq";
$password = "*****";
$dbname = "cc";

$cc = new PDO("mysql:host=$servername;dbname=$dbname", "$username", "$password");
$cc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试连接时,我收到了这个错误:

捕获异常:SQLSTATE [HY000] [2013]在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0

我的数据库的权限如下所示:

在此输入图像描述

ip有主机"B"的ip

任何的想法?

php mysql

6
推荐指数
1
解决办法
847
查看次数

在'读取初始通信包时失去与MySQL服务器的连接

我想通过Python在我的本地机器和MySQL数据库服务器之间建立连接.

有人能告诉我如何"绑定地址与localhost"?

python mysql

3
推荐指数
1
解决办法
2万
查看次数