mysql 数据库导出报错解决
mysqldump -u root -p --all-databases > all_databases.sql 报错
mysqldump: Got error:2002 can't connect to local mysql server through socket '/var/lib/mysql/mysql.socket' (2) when trying to connect
原因是mysql的socket配置被修改过了
解决方案:
1、确认 Socket 文件路径
配置文件通常位于 /etc/mysql/my.cnf、/etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf。
[mysqld]
socket = /var/run/mysqld/mysqld.sock # 默认路径可能不同
2、通过 MySQL 客户端查询 Socket 路径
mysql -u root -p -e "SHOW VARIABLES LIKE 'socket';"
输出示例:
+---------------+---------------------------------+
| Variable_name | Value |
+---------------+---------------------------------+
| socket | /var/run/mysqld/mysqld.sock |
+---------------+---------------------------------+
3、修复命令:显式指定 Socket 路径
根据上一步获取的 Socket 路径,修改 mysqldump 命令:
mysqldump -u root -p --all-databases --socket=/var/run/mysqld/mysqld.sock > all_databases.sql

浙公网安备 33010602011771号