我的编程空间,编程开发者的网络收藏夹
学习永远不晚

2022-07-06 mysql报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysq

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

2022-07-06 mysql报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysq

问题:今天数据库备份迁移登入时报错:

分析:在默认情况下,Mysql安装以后会在/tmp目录下生成一个mysql.sock文件,如该文件丢失则Mysql将不能够正常启动对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。 

第一种解决:直接指定地址端口号登入

在mysql的bin目录下执行:

./mysql -h127.0.0.1 -P3307 -uroot -p

说明:-h 地址   -P 端口号  -u 用户名 -p 密码

执行后登入成功。

第二种解决:重新启动Mysql,在support-files目录下执行命令:./mysql.server restart。如果启动不了请尝试第三种。

第三种解决:使用mysqld_safe 启动即可解决(一劳永逸)

关闭mysql。如果正常关闭不了,可以kill掉端口号

在bin目录下启动Mysql

./mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

--defaults-file:指定配置文件的位置,这个选项必须是第一个。这个参数可以不指定,不指定则默认。

--basedir:指定MySQL的安装目录。

--datadir:指定数据目录的路径。

登入时报错

 解决忘记登入密码(ERROR:1045)问题,总体思路:配置my.cnf使其免密码登录,重启服务,重新设置密码并刷新数据库,将之前的配置去掉重启MySQL。

配置my.cnf使其免密码登录,每个人装的位置可能不同,mysql默认位置/etc/my.cnf

执行命令vim /etc/my.cnf

 skip_grant_tables:跳过登入权限验证。保存修改。

重启服务,在support-files目录下执行命令:./mysql.server restart

重新设置密码并刷新数据库:在mysql的bin目录下执行:./mysql -uroot -p,输入密码时直接回车即可进入。进入mysql时依次执行:

① use mysql;

MySQL5.7.9版本后执行:

     update user set authentication_string="新密码" where user="root"

    MySQL5.7.9版本前执行:

    update user set password=password("新密码") where user="root"

③ flush privileges;

④ quit;

将之前的配置去掉,重启MySQL

重启(参照步骤2)。然后使用新密码进行登入。

登入成功。 

如果此时执行语句出错1820,则说明没有给root赋权限。 如果没有出错则可以忽略此步骤。

这个原因是我指定错了datadir的路径,默认这个路径是在mysql安装目录下data目录,而我之前搭建时,指定到了linux根目录/data/mysql,但是原默认的没有删除,所以指定到了原目录下,但是在原目录里的相关用户都没有赋权限,结果顺道记录一下这个问题。其实用对的datadir重新执行第2步(在bin目录下启动Mysql)就可以了。也不会这么麻烦。

给root用户复权

alter user 'root'@'localhost' identified by 'root' ;flush privileges;

本地正常操作成功。可见因为我指定错了datadir,所以库里只有初始的几张表。

来源地址:https://blog.csdn.net/weixin_34942299/article/details/125641254

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

2022-07-06 mysql报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysq

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录