返回顶部
首页 > 资讯 > 数据库 >2022-07-06 mysql报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysq
  • 842
分享到

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

mysql 2023-09-18 05:09:06 842人浏览 薄情痞子
摘要

问题:今天数据库备份迁移登入时报错: 分析:在默认情况下,Mysql安装以后会在/tmp目录下生成一个mysql.sock文件,如该文件丢失则Mysql将不能够正常启动对mysql.sock来说,其作用是程序与mysqlserver处于同

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

分析:在默认情况下,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

您可能感兴趣的文档:

--结束END--

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

本文链接: https://lsjlt.com/news/411460.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作