0

    详细解决linux安装mysql后登录报错:Can‘t connect to l

    2023.07.03 | admin | 133次围观

    详细解决linux安装mysql后登录报错:Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

    连接localhost通常通过一个Unix域套接字文件进行,一般会自动生成在/tmp/mysql.sock,所以我们登录mysql时是需要mysql.sock套接字的。但装完后发现/tmp下并没有mysql.sock文件也不要慌,要蛋定~

    解决方式1

    首先可以通过“ find / -name ‘mysql.sock’ ”找下当前环境中是否存在mysql.sock,

    如果找到msyql.sock,并且不在/tmp下,直接建个软连接就可以了。不要想着把mysql.sock拷贝到/tmp下哦,这个文件是不能操作的,否则会报错cp: 无法打开"mysql.sock" 读取数据: 没有那个设备或地址。

    如果本地环境下压根就没有mysql.sock这个文件,那就参考解决方式2。

    ln -s /tmp/mysql.sock 路径/找到的mysql.sock
    

    解决方式2

    如果没有找到mysql.sock,那就找my.cnf文件,一般会在/etc/my.cnf,然后修改里面生成mysql.sock路径的信息,保存,重新登录就搞定了。然而~有些大哥可能连my.cnf这个文件也没有,就很神奇,很崩溃,那就跳过这个方式,看解决方式3

    socket = /tmp/mysql.sock
    

    解决方式3

    详细解决linux安装mysql后登录报错:Can‘t connect to l

    如果没有my.cnf文件,其实也不一定要非得通过本地套接字的方式登录mysql,通过指定IP地址的方式也是可以登录mysql的,使用tcp方式连接mysql,而不使用本地sock方式

    mysql -h127.0.0.1 -u root -p
    

    如果通过指定ip还不能登录,或者报以下错误

    那就修改my.cnf文件bind安装之后etc下没有bind文件,注释掉下面这行,保存再重新登录就可以了。

    #bind-address           = 127.0.0.1
    

    恶心的又回来了,有些大哥人家本来就没有my.cnf这个文件,改个毛线啊!哈哈哈,所以通过指定ip的方式还是行不通,最后最后,上面都解决不了你的问题bind安装之后etc下没有bind文件,那就只能使用下面的最后一招必杀技了

    最后一招必杀技

    systemctl status mysqld   #查看mysql的服务状态
    systemctl restart mysqld  #重启mysql服务
    

    mysql -u root -p   #重新登录
    

    神功大成,搞定!厉害吧?越厉害的杀技往往越简单,哈哈哈… …嗝~

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论