【问题标题】:Getting mysql "connection refused" when trying to connect using PHP尝试使用 PHP 连接时获取 mysql“连接被拒绝”
【发布时间】:2013-06-23 21:54:08
【问题描述】:

这是我的 mariadb 日志的输出:

$ sudo tail -f /opt/local/var/db/mariadb/rs012esb.mckenna.edu.err 130626 9:10:56 [错误] 本机表 'performance_schema'.'mutex_instances' 的结构错误 130626 9:10:56 [错误] mysqld:找不到文件: './performance_schema/rwlock_instances.frm'(错误号:13)130626 9:10:56 [错误]本机表'performance_schema'.'rwlock_instances' 结构错误 130626 9:10:56 [ERROR] mysqld: 找不到 文件:'./performance_schema/cond_instances.frm'(错误号:13)130626 9:10:56 [错误] 本机表 'performance_schema'.'cond_instances' 有 错误的结构 130626 9:10:56 [错误] mysqld:找不到文件: './performance_schema/file_instances.frm' (errno: 13) 130626 9:10:56 [错误] 本机表 'performance_schema'.'file_instances' 具有 错误的结构 130626 9:10:56 [注意] 事件调度程序:加载 0 事件 130626 9:10:56 [注意] /opt/local/lib/mariadb/bin/mysqld: 就绪 用于连接。版本:“5.5.31-MariaDB”套接字: '/opt/local/var/run/mariadb/mysqld.sock' 端口:0 源分布 130626 9:14:04 [注意] /opt/local/lib/mariadb/bin/mysqld:正常 关机

130626 9:14:04 [注意] 事件调度程序:清除队列。 0 个事件 130626 9:14:04 InnoDB:开始关闭... 130626 9:14:04 InnoDB: 关机完成;日志序列号 10740580 130626 9:14:04 【注意】/opt/local/lib/mariadb/bin/mysqld:关机完成

130626 09:14:04 mysqld_safe 来自 pid 文件的 mysqld /opt/local/var/db/mariadb/rs012esb.mckenna.edu.pid 结束 130626 09:14:25 mysqld_safe 使用来自的数据库启动 mysqld 守护进程 /opt/local/var/db/mariadb 130626 9:14:25 [警告] 设置 lower_case_table_names=2 因为文件系统 /opt/local/var/db/mariadb/ 不区分大小写 130626 9:14:25 InnoDB: InnoDB 内存堆被禁用 130626 9:14:25 InnoDB: Mutexes and rw_locks 使用 GCC atomic builtins 130626 9:14:25 InnoDB: Compressed 表使用 zlib 1.2.8 130626 9:14:25 InnoDB:初始化缓冲区 池,大小 = 128.0M 130626 9:14:25 InnoDB:已完成初始化 缓冲池 130626 9:14:25 InnoDB:支持的最高文件格式 是梭鱼。 130626 9:14:25 InnoDB:等待后台 线程开始 130626 9:14:26 Percona XtraDB (http://www.percona.com) 5.5.31-MariaDB-30.2 已启动;日志序列 编号 10740580 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/events_waits_current.frm'(错误号:13)130626 9:14:26 [错误]本机表 'performance_schema'.'events_waits_current' 的结构错误 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/events_waits_history.frm'(错误号:13)130626 9:14:26 [错误]本机表 'performance_schema'.'events_waits_history' 结构错误 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/events_waits_history_long.frm'(错误号:13) 130626 9:14:26 [错误] 本机表 'performance_schema'.'events_waits_history_long' 有错误 结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/setup_consumers.frm' (errno: 13) 130626 9:14:26 [错误] 本机表 'performance_schema'.'setup_consumers' 具有 错误的结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/setup_instruments.frm'(错误号:13)130626 9:14:26 [错误]本机表'performance_schema'.'setup_instruments' 结构错误 130626 9:14:26 [ERROR] mysqld: 找不到 文件:'./performance_schema/setup_timers.frm'(错误号:13)130626 9:14:26 [错误] 本机表 'performance_schema'.'setup_timers' 有 错误的结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/performance_timers.frm'(错误号:13)130626 9:14:26 [错误]本机表'performance_schema'。'performance_timers' 结构错误 130626 9:14:26 [ERROR] mysqld: 找不到 文件:'./performance_schema/threads.frm'(错误号:13)130626 9:14:26 [错误] 原生表 'performance_schema'.'threads' 有错误 结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/events_waits_summary_by_thread_by_event_name.frm' (错误号:13)130626 9:14:26 [错误]本机表 'performance_schema'.'events_waits_summary_by_thread_by_event_name' 结构错误 130626 9:14:26 [ERROR] mysqld: 找不到 文件:'./performance_schema/events_waits_summary_by_instance.frm' (错误号:13)130626 9:14:26 [错误]本机表 'performance_schema'.'events_waits_summary_by_instance' 有错误 结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/events_waits_summary_global_by_event_name.frm' (错误号:13)130626 9:14:26 [错误]本机表 'performance_schema'.'events_waits_summary_global_by_event_name' 有 错误的结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/file_summary_by_event_name.frm'(错误号:13) 130626 9:14:26 [错误] 本机表 'performance_schema'.'file_summary_by_event_name' 有错误 结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/file_summary_by_instance.frm'(错误号:13)130626 9:14:26 [错误]本机表 'performance_schema'.'file_summary_by_instance' 有错误 结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/mutex_instances.frm' (errno: 13) 130626 9:14:26 [错误] 本机表 'performance_schema'.'mutex_instances' 具有 错误的结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/rwlock_instances.frm'(错误号:13)130626 9:14:26 [错误]本机表'performance_schema'.'rwlock_instances' 结构错误 130626 9:14:26 [ERROR] mysqld: 找不到 文件:'./performance_schema/cond_instances.frm'(错误号:13)130626 9:14:26 [错误] 本机表 'performance_schema'.'cond_instances' 有 错误的结构 130626 9:14:26 [错误] mysqld:找不到文件: './performance_schema/file_instances.frm' (errno: 13) 130626 9:14:26 [错误] 本机表 'performance_schema'.'file_instances' 具有 错误的结构 130626 9:14:26 [注意] 事件调度程序:已加载 0 事件 130626 9:14:26 [注意] /opt/local/lib/mariadb/bin/mysqld: 就绪 用于连接。版本:“5.5.31-MariaDB”套接字: '/opt/local/var/run/mariadb/mysqld.sock' 端口:0 源码分布

mysql 通过 PHP 报告:连接被 mysql_error() 调用拒绝。 这已经工作了几个月。然后,今天早上,启动我的 localhost mysql,没有任何效果。

编辑:权限似乎很好:

# ls -l /opt/local/var/db/mariadb/performance_schema
total 416
-rw-rw----  1 root  _mysql  8624 Feb  7 14:01 cond_instances.frm
-rw-rw----  1 root  _mysql    61 Feb  7 14:01 db.opt
-rw-rw----  1 root  _mysql  9220 Feb  7 14:01 events_waits_current.frm
-rw-rw----  1 root  _mysql  9220 Feb  7 14:01 events_waits_history.frm
-rw-rw----  1 root  _mysql  9220 Feb  7 14:01 events_waits_history_long.frm
-rw-rw----  1 root  _mysql  8878 Feb  7 14:01 events_waits_summary_by_instance.frm
-rw-rw----  1 root  _mysql  8854 Feb  7 14:01 events_waits_summary_by_thread_by_event_name.frm
-rw-rw----  1 root  _mysql  8814 Feb  7 14:01 events_waits_summary_global_by_event_name.frm
-rw-rw----  1 root  _mysql  8654 Feb  7 14:01 file_instances.frm
-rw-rw----  1 root  _mysql  8800 Feb  7 14:01 file_summary_by_event_name.frm
-rw-rw----  1 root  _mysql  8840 Feb  7 14:01 file_summary_by_instance.frm
-rw-rw----  1 root  _mysql  8684 Feb  7 14:01 mutex_instances.frm
-rw-rw----  1 root  _mysql  8776 Feb  7 14:01 performance_timers.frm
-rw-rw----  1 root  _mysql  8758 Feb  7 14:01 rwlock_instances.frm
-rw-rw----  1 root  _mysql  8605 Feb  7 14:01 setup_consumers.frm
-rw-rw----  1 root  _mysql  8637 Feb  7 14:01 setup_instruments.frm
-rw-rw----  1 root  _mysql  8650 Feb  7 14:01 setup_timers.frm
-rw-rw----  1 root  _mysql  8650 Feb  7 14:01 threads.frm

想法?

【问题讨论】:

  • 您使用哪个用户帐户运行mysqld
  • cd '/opt/local' ; sudo /opt/local/lib/mariadb/bin/mysqld_safe --datadir='/opt/local/var/db/mariadb' 2>&1 &
  • 我不会以 root 身份运行数据库,但它应该可以工作。我也很惊讶修复与日志文件中的错误没有任何关系。
  • 好吧,再次感谢。另外,我已经接受了您的回答,因为您为解决这个问题提供了很多帮助。我最终在 mysql 文档上找到了答案,该答案表明此配置禁用了侦听器。我自己也很惊讶!但是,在重新启动守护程序后,所有错误现在都从日志中消失了

标签: php mysql mariadb


【解决方案1】:

[错误] mysqld: 找不到文件: './performance_schema/rwlock_instances.frm' (errno: 13)

检查文件所有者和访问权限。错误 13 通常是“权限被拒绝”。

【讨论】:

  • 请原谅我的无知,但对于哪些文件?
  • 错误消息中的那些:目录performance_schema 及其下的所有内容。这些位于 MySQL/MariaDB 数据目录中。它们的所有者应该是您用于运行数据库的用户。
  • 我有很多数据库所有者,但我会检查权限是什么
  • 所有文件都应该归同一个用户所有。如果它们由不同的用户拥有,则数据库引擎无法读取它们。
  • 另外,$ telnet 127.0.0.1 3306 Trying 127.0.0.1... telnet:连接到地址 127.0.0.1:连接被拒绝 telnet:无法连接到远程主机但是,我启用了 0 个防火墙
猜你喜欢
  • 1970-01-01
  • 2021-06-24
  • 2021-11-16
  • 1970-01-01
  • 2019-10-20
  • 2015-03-09
  • 2018-12-02
  • 1970-01-01
相关资源
最近更新 更多