zoukankan      html  css  js  c++  java
  • MySQL本地连接问题


    目录
    [TOC]


    #### 1. 问题
    本地连接数据库,报错如下:
    ```
    Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    ```
    #### 2. 解决方法
    > 首先,如果出现这种情况,说明一定是通过mysql -uroot -p这种方式连接的;所以,可以换一种连接方式完美解决;
    ```
    ./usr/bin/mysql -uroot -h 127.0.0.1 -p
    ```

    #### 3. 原理
    MySQL支持两种连接方式:
    * Socket
    * TCP/IP
    前面,出现问题的,正是第一种;出现问题的原因是/tmp/mysql.sock文件被删除、权限不够或者MySQL client没有配置socket临时文件的保存路径。
    如果非要用socket方式连接,可以配置该临时文件的保存路径不在tmp下(注意server端和client端都要做一下配置)

    例如:
    server端配置
    ```
    [mysqld]
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    ```

    client端配置
    ```
    [mysqld]
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    socket=/var/lib/mysql/mysql.sock(跟这个socket路径一样)
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    [client]
    port=3306
    socket=/var/lib/mysql/mysql.sock
    ```

  • 相关阅读:
    audio之点击图标切换音频播放状态以及替换当前图标
    js之ajax的封装
    JavaScript之ajax的作用、流程以及如何设置请求头
    BFC的理解
    2016年总结
    如何用shared_ptr减少锁的争用
    webrtc初识
    2015总结与2016展望
    记一次程序排错与std::getline
    spawn协程学习
  • 原文地址:https://www.cnblogs.com/chenadong/p/15656617.html
Copyright © 2011-2022 走看看