brew升级后MariaDB连接失败,报ERROR 2002 (HY000)错误
解决Mac 12.5.1下Brew升级MariaDB后的连接与权限问题
一、初始socket连接失败(ERROR 2002)解决
执行mariadb -u root -p或phpMyAdmin提示无法找到/tmp/mysql.sock,按以下步骤排查:
检查MariaDB服务状态:
brew services list | grep mariadb若未启动,重启服务:
brew services restart mariadb修复socket文件关联:
Brew安装的MariaDB默认socket路径为/usr/local/var/mysql/mysql.sock,如果/tmp/mysql.sock不存在,创建软链接并修正权限:ln -s /usr/local/var/mysql/mysql.sock /tmp/mysql.sock chown _mysql:_mysql /usr/local/var/mysql/mysql.sock强制统一socket路径到配置文件:
编辑/usr/local/etc/my.cnf,添加/修改以下内容:[mysqld] socket = /tmp/mysql.sock [client] socket = /tmp/mysql.sock保存后重启服务。
二、重装后mysql_secure_installation权限错误(ERROR 1045)解决
重装后服务启动成功,但执行安全初始化报权限错误,是因为默认root用户无密码或采用socket认证,步骤如下:
停止当前服务:
brew services stop mariadb跳过权限验证启动服务:
mysqld_safe --skip-grant-tables &无密码登录MariaDB:
mariadb -u root更新root用户密码(替换
your_new_password为自定义密码):USE mysql; -- 适用于MariaDB 10.3及以下版本 UPDATE user SET password=PASSWORD('your_new_password') WHERE User='root'; -- 适用于MariaDB 10.4+版本 ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password'; FLUSH PRIVILEGES; EXIT;恢复正常服务:
mysqladmin -u root -p shutdown brew services start mariadb再次执行
mysql_secure_installation,输入新设置的密码即可完成初始化。
三、数据备份应急方案
若未导出数据库,先备份数据目录避免丢失:
sudo cp -r /usr/local/var/mysql ~/mariadb_backup
内容的提问来源于stack exchange,提问作者Álvaro
相关产品推荐
相关产品推荐

