AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 767047
Accepted
Arth
Arth
Asked: 2016-03-31 05:58:58 +0800 CST2016-03-31 05:58:58 +0800 CST 2016-03-31 05:58:58 +0800 CST

Centos 6;移动 mysql.sock 后 phpMyAdmin '无法登录到 MySQL 服务器'

  • 772

我最近将我的 mysqldatadir从安装在新硬盘驱动器上的/var/lib/mysql新目录中移动。/home/mysql

tmpdir为了整洁起见,我认为将和socket放在这个新硬盘上会很好。

一切都按计划进行,直到我移动了套接字文件。移动套接字文件会阻止 phpMyAdmin 登录;我可以从命令行正常登录并使用我的 Web 框架,但不能使用 phpMyAdmin。

工作配置与非工作配置之间的唯一区别在于我的my.cnf文件..

在职的:

[mysqld]
socket = /var/lib/mysql/mysql.sock 

...

[client]
socket = /var/lib/mysql/mysql.sock

不是:

[mysqld]
socket = /home/mysql/mysql.sock 

...

[client]
socket = /home/mysql/mysql.sock

假设这是一个权限错误,我检查了每个位置的路径:

drwxr-xr-x. root  root  var
drwxr-xr-x. root  root  lib
drwxr-xr-x  mysql mysql mysql
srwxrwxrwx  mysql mysql mysql.sock

drwxr-xr-x. root  root  home
drwxr-xr-x  mysql mysql mysql
srwxrwxrwx  mysql mysql mysql.sock

所以我猜他们没问题。我猜错了吗?

我将 phpMyAdmin 配置为使用'localhost'我将 mysqlbind-address选项设置为服务器的本地网络 IP (192.168.etc.)

在测试新配置时,我还重新启动了httpd和服务器。mysqld

我很高兴将套接字文件留在原处,假设这不是安全/性能问题,但如果有人可以帮助阐明一些问题,我很想知道发生了什么!

mysql
  • 2 2 个回答
  • 2929 Views

2 个回答

  • Voted
  1. Best Answer
    HBruijn
    2016-03-31T06:14:49+08:002016-03-31T06:14:49+08:00

    除非您使用内置的默认位置,否则 PHP 还需要在 php.ini 文件或连接字符串中显式配置 MySQL 套接字文件的位置...

    pdo_mysql.default_socket= /home/mysql/mysql.sock

    或取决于您选择的 API

    mysqli.default_socket= /home/mysql/mysql.sock

    • 2
  2. Dimitar Darazhanski
    2020-05-05T09:39:32+08:002020-05-05T09:39:32+08:00

    正如ibennech在上面的评论中所建议的那样,将套接字路径设置为新位置即可。在我的情况下,连接类型的默认设置是'tcp'。这也需要更改为'socket'。

    因此, config.in.php文件中需要更改的两行是:

    $cfg['Servers'][$i]['socket'] = '/home/mysql/mysql.sock';
    $cfg['Servers'][$i]['connect_type'] = 'socket';
    

    不要伪造重启httpd:

    systemctl restart httpd
    
    • 0

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve