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
    ```

  • 相关阅读:
    文件上传&ContentType请求格式
    Ajax的简单操作
    外键的变种,单表和多表的查询
    Sql 库和表的基本操作、基本数据类型
    协程、IO多路复用、
    线程/进程锁、池,进程的数据共享
    进程和线程相关
    用wampserver安装thinksns时点击index.php显示空白
    类中的初始化函数作用
    python中的from XX import YY与import YY
  • 原文地址:https://www.cnblogs.com/chenadong/p/15656617.html
Copyright © 2011-2022 走看看