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

posted @ 2025-04-29 14:54  harrylearn66666  阅读(104)  评论(0)    收藏  举报