Mac下Mysql启动异常["ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.so

本文记录了在Mac上使用brew安装MySQL后遇到的启动问题及解决过程。作者遇到错误提示无法通过socket连接到本地MySQL服务器,通过检查发现mysql服务未启动,最终通过手动启动服务解决了问题。

在mac下使用brew安装mysql,之前没有使用过,今天启动的时候发现启动不了
错误提示:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
查看mysql的安装位置:

ytcs-MacBook-Air:~ ytc$ which mysql
/usr/local/bin/mysql

有可能是mysql服务没有启动

ytcs-MacBook-Air:~ ytc$ mysql.server start
Starting MySQL
 SUCCESS!

进入mysql,成功解决。

mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.18 Homebrew
在麒麟 V10 系统下登录 MySQL 时,如果提示 `ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'`,这通常表示客户端尝试通过指定的 Unix 套接字文件连接到本地 MySQL 服务器失败。可能的原因包括 MySQL 服务未运行、套接字路径配置不一致或套接字文件缺失等。 以下是解决该问题的步骤和方法: ### 检查 MySQL 服务是否正在运行 首先确认 MySQL 服务是否已经启动。可以使用以下命令检查服务状态: ```bash systemctl status mysqld ``` 如果服务未运行,可以尝试启动它: ```bash systemctl start mysqld ``` 如果服务无法正常启动,需查看错误日志以确定原因,通常位于 `/var/log/mysqld.log` 中。 ### 验证套接字路径一致性 确保客户端和服务器端配置中使用的 `socket` 路径一致。编辑 MySQL 的主配置文件(通常是 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`),检查 `[mysqld]` 和 `[client]` 部分的 `socket` 设置: ```ini [mysqld] datadir=/usr/local/mysql/data basedir=/usr/local/mysql socket=/var/lib/mysql/mysql.sock [client] socket=/var/lib/mysql/mysql.sock ``` 如果实际运行环境中使用的是 `/tmp/mysql.sock`,则需要调整上述配置为: ```ini socket=/tmp/mysql.sock ``` 保存更改后重启 MySQL 服务: ```bash systemctl restart mysqld ``` ### 创建客户端配置文件避免本地连接报错 如果用户仅希望避免本地连接时报错,可以在用户的家目录下创建 `.my.cnf` 文件,并指定正确的 `socket` 路径: ```bash vi ~/.my.cnf ``` 添加如下内容: ```ini [client] socket=/var/lib/mysql/mysql.sock ``` 保存并退出编辑器,这样本地客户端将使用指定的套接字进行连接。 ### 检查是否存在套接字文件 执行以下命令检查 `/tmp/mysql.sock` 是否存在: ```bash ls -l /tmp/mysql.sock ``` 如果文件不存在,可能是由于 MySQL 服务没有正确创建该文件,或者服务根本未启动。此时应先解决服务启动问题。 ### 使用 TCP/IP 连接作为替代方案 如果不想依赖 Unix 套接字,可以通过 TCP/IP 协议连接 MySQL。在客户端连接时显式指定主机名 `127.0.0.1` 而不是 `localhost`: ```bash mysql -u root -p -h 127.0.0.1 ``` 这种方式会强制使用网络连接而不是 Unix 套接字。 ### 总结 - 确保 MySQL 服务已启动。 - 核对 `socket` 路径在 `[mysqld]` 和 `[client]` 配置段中的一致性。 - 创建用户级配置文件 `.my.cnf` 来指定正确的 `socket`。 - 检查套接字文件是否存在,若不存在则排查服务启动问题。 - 可选地,使用 TCP/IP 方式连接 MySQL。 完成以上步骤后,应能解决麒麟 V10 系统下登录 MySQL 提示 `ERROR 2002 (HY000)` 的问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值