gpt4 book ai didi

ubuntu-12.04 - mysql 工作,mysqldump 不

转载 作者:行者123 更新时间:2023-11-29 01:59:54 25 4
gpt4 key购买 nike

我的 ubuntu 12.04 服务器上有 mysql 5.5。这个命令:

mysql -u root -p

完美运行,但这给了我错误:

mysqldump -u root -p mydb_name > a.sql
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect

在my.cnf文件中,socket设置为:

socket = /home/mysql/mysql.sock

所以我不知道 /var/run/mysqld/mysqld.sock 来自哪里。谢谢。

最佳答案

注意:serverfault.com 可能是问这个问题的更好的地方,因为它与服务器配置而不是编程有关。

首先,尝试将 --socket=/home/mysql/mysql.sock 添加到您的 mysqldump 命令。

如果可行,您可以通过将此命令行选项添加到选项文件来使该命令行选项更持久,并避免每次都键入它。

运行 mysqldump --help 将向您显示(从输出的大约第 15 行开始)mysqldump 将尝试从中读取选项的选项文件和组。例如,如果它报告:

...

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
The following groups are read: mysqldump client

...

你可以添加:

[mysqldump]
socket = /home/mysql/mysql.sock

到/etc/mysql/my.cnf 或 ~/.my.cnf 或列出的任何其他文件,然后每次运行 mysqldump 时都不需要 --socket=... 选项。

注意:如果 mysqldump 无法以与 mysql 命令相同的方式从现有 my.cnf 文件中的 [client] 组识别您的套接字选项,这可能意味着您的版本无论出于何种原因,mysqldump 可能不会读取 mysql 命令正在读取的同一组和选项文件组合。

如果 --socket 选项不起作用,则可能是其他一些配置问题。

  1. 请确保在 my.cnf 文件的每个适用小节中设置 socket =/home/mysql/mysql.sock:

    [client]
    socket = /home/mysql/mysql.sock

    [mysqld_safe]
    socket = /home/mysql/mysql.sock

    [mysqld]
    socket = /home/mysql/mysql.sock

    [mysqldump]
    socket = /home/mysql/mysql.sock
  2. 除非绝对必要,否则请勿更改 APPARMOR 设置!使用命令 sudo apparmor_status 检查您是否正在运行 apparmor 并查找“apparmor 模块已加载”。此命令生成的输出的开头附近。如果是这样,请将如下一行添加到您的/etc/apparmor.d/usr.sbin.mysqld 文件中,距离文件末尾约 6 行。根据/var/run/mysql/mysqld.sock 的类似现有条目,该位置应该非常明显:

    /home/mysql/mysql.sock rw,

您想要重新启动 apparmor,然后重新启动 mysqld,或者只是重新启动以干净地重新启动所有内容。

请注意,您添加到 apparmor 的这些类型的非标准配置选项可能会使您面临安全问题。当您运行更新管理器时,这也可能会导致冲突,如果您更新或重新安装 ubuntu,您可能需要在将来再次手动编辑更改。

关于ubuntu-12.04 - mysql 工作,mysqldump 不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com