zoukankan      html  css  js  c++  java
  • mysql 本地连接失败(必须使用-h127.0.0.1)解决

    机器上安装 mysql 后,在本机上连接 mysql 有时候会遇到这种错误
    [root@TENCENT64site ~]#mysql -uroot ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


    如果添加 -h127.0.0.1则可以登入数据库,说明数据库是在运行的。

    通过 find 命令查找 mysql.sock 文件,发现文件不存在,我的理解是 mysql 创建该文件的时候失败了。

    网上查找后尝试如下方法,可以解决 :

    修改数据库配置文件 /etc//my.cnf ,添加 skip-grant-tables,重启mysql服务,发现恢复正常

    [mysqld]
    innodb_flush_log_at_trx_commit=0
    character_set_client=utf8
    character_set_server=utf8
    #skip-name-resolve
    skip-grant-tables
    max_binlog_size=100m
    expire_logs_days=30
    slow-query-log=1/usr
    slow_query_log_file=/var/log/mysql/mysql-slow.log
    long_query_time=2
    log_bin_trust_function_creators=1
    innodb_buffer_pool_size=1G
    key_buffer_size=512M
    read_buffer_size=2M
    join_buffer_size=2M
    sort_buffer_size=2M
    innodb_read_io_threads=12
    innodb_write_io_threads=8

     对应修改相应 section 下的参数 socket=/data1/mysql/mysql.sock,指定路径根据自己情况设置,

    设置了该路径后,给 mysql 用户设置读写执行的权限

    重启 mysql 就可以在重新配置的路径下创建 sock 文件了。

    [mysqld]
    datadir=/data1/mysql                # 我把数据库文件迁移到这里,
                                        # 所以干脆把sock丢这里,权限刚好
    socket=/data1/mysql/mysql.sock      # 这个
    
    [client]
    socket=/data1/mysql/mysql.sock      # 这个

    可以暂时把skip-grant-tables打开,mysql可进,重新设置mysql账户密码,

    service mysql restart 重启mysql后,发现可以正常使用了

  • 相关阅读:
    点击鼠标后系统自动生成对应消息
    mfc 鼠标、键盘响应事件
    VC中键盘键的对应关系
    补充知识及数据类型
    Python入门
    tomcat启动报错
    正则表达式
    MySQL修改root密码的方法
    mysql 压缩包免安装版 安转步骤
    springmvc--json--返回json的日期格式问题
  • 原文地址:https://www.cnblogs.com/luanyulin/p/10819257.html
Copyright © 2011-2022 走看看