尽管有许多关于MySQL错误的问题,但我还没有找到解决问题的方法。
我的(PHP)应用程序需要生成DAL(数据库访问层)。这是通过从命令行调用的php脚本完成的。此脚本从信息模式中读取所有表,并根据该模式生成文件。
直到最近,这一直是我记忆中的工作。每次我开始这个生成过程时,我的“普通”应用程序都会丢失与MySQL服务器的连接。
奇怪的是,我可以使用Sequel Pro等程序连接到数据库。相同的数据库,相同的连接设置,相同的机器
此外,当我尝试使用sudo /usr/local/mysql/support-files/mysql.server restart
在命令行上重启MySQL时出现错误:
ERROR! MySQL server PID file could not be found
然后在我杀死之前启动MySQL需要永远。我找到的唯一解决方案是完全重启我的电脑。然后它再次正常工作,直到我重新运行生成脚本。
所以,简历,我有两个问题:
第二个问题显然不如第一个问题重要。我根本不需要重启MySQL。
生成脚本的作用:
首先:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA=DATABASE() %s AND SUBSTRING(TABLE_NAME, 1, 1)!='_'"
然后在PHP中循环遍历所有表。
然后这个:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA=DATABASE()
AND TABLE_NAME=:tableName
然后,脚本的其余部分将根据该信息生成PHP文件。