【问题标题】:Magento can't connect MySQLMagento 无法连接 MySQL
【发布时间】:2012-09-01 20:23:16
【问题描述】:

有人搞砸服务器后,Magento 无法连接 MySql DB。
第一次尝试,我使用了mysql -u <username> -h localhost -p,但认证失败。
经过this guy 的大量努力,我帮助了我(解决方案在 cmets 中),所以我终于成功地使用 Magento 的凭据连接到数据库。但是后来我无法远程连接,this one 没有帮助,因为--skip-networking 禁用了远程连接,但我终于也想通了(现在我不记得我做了什么,要么在my.cnf 中改变了一些东西或/etc/hosts)。

所以现在我可以在本地和远程使用 Magento 用户名/密码(在 configuration.php 中配置)进行连接。

尽管如此,Magento 仍会打印出 can't connect MySql 的错误信息。
我检查了local.xmlconfig.xml(在<Magento root>/app/etc 下),似乎都配置正确。

我开始考虑从头开始安装整个东西,问题是没有任何好的备份,我不确定这样做/是否会丢失数据,但如果我必须这样做,我将备份文件+数据库并继续...
有什么想法吗?


更新

经过无休止的挖掘,显然与local.xml和config.xml在同一目录下还有其他XML文件。删除这些文件(这些文件是作为备份创建的,但带有 .xml 扩展名),问题就解决了。

结论:如果您备份xml文件,请将备份保存为file.xml.backup,这样就不会被视为带有xml扩展名的文件!

【问题讨论】:

    标签: mysql magento magento-1.6


    【解决方案1】:

    尝试从后端刷新缓存或删除 /var/cache/*

    【讨论】:

    • 感谢您的回复!已经试过了——缓存是空的。
    【解决方案2】:

    如果您正在考虑重新安装整个设备,作为前言,我是否可以建议您在与故障服务器不同的服务器上执行此操作 - 只是为了将数据保留在旧服务器上以防万一坏的。您可能还想在同一台服务器上执行此操作,但使用不同的虚拟主机、主文件夹和 mysql 数据库。

    这是我在将 Magento 项目迁移、导入和其他与 Magento 相关的东西从一台服务器移动到另一台服务器时使用的过程。

    这要求你可以从 shell 访问 mysql + mysqldump。

    这是我在基于 Debian 的带有 LAMP 的发行版上经常使用的程序。


    在源服务器上

    1.清洁BD

    如果您认为从新目标服务器下载的数据库过于繁重,这是必要的。 另外,请确保您确实知道要截断哪些表。我不能确切地说出哪一个,因为这取决于您的 Magento 版本。

    大致上,截断索引表 + core_url_rewrite、日志表、cron_schedule、平面目录表、数据流批处理表和配置文件历史记录、报告聚合表。

    2。备份数据库

    mysqldump -h [host] -u [user] -p'[password]' [dbname] > magento.sql
    

    3.清理您的 Magento 文件系统

    来自您的 Magento 根文件夹:

    rm -rf var/session/* && rm -rf var/cache/* && rm -rf var/log/*
    

    4.归档您的 Magento 文件系统

    从您的 Magento 根文件夹:

    tar -zcvf magento.tar.gz .
    

    在目标服务器上

    以任何您喜欢的方式(wget、从 SSH GUI 客户端复制/粘贴...)检索您的 magento.sql 和 magento.tar.gz,并将它们放在您的新 Magento 根目录中。

    5.导入您的数据库

    mysql -h [your_host] -u [user] -p'[password]' [dbname]
    

    这将在你的新数据库上打开 mysql shell

    mysql> SET FOREIGN_KEY_CHECKS = 0;
    mysql> source /full/path/to/magento.sql
    ...
    mysql> SET FOREIGN_KEY_CHECKS = 1;
    

    6.提取你的 magento.tar.gz

    从新的 Magento 根目录

    tar -zxvf magento.tar.gz
    

    您现在应该可以看到您的网站了。可能需要对 app/etc/local.xml 进行一些权限修改和微调,以使其适合您的目标服务器 MySql 配置。

    【讨论】:

    • +1 即使它没有回答我的问题,感谢您的彻底回复!但我已经知道如何backup and setup a new server
    • 很抱歉没有按照您的预期回答问题,感谢您的支持。我认为您需要一些有关如何备份数据库的信息(当您说“没有任何好的备份”时)才能重新安装服务器。所以,如果你假设你的 local.xml 和 config.xml 文件是正确的,我不能提供更多帮助,因为我不是很了解 MySql。祝你好运。
    猜你喜欢
    • 2015-09-18
    • 2019-08-17
    • 1970-01-01
    • 2014-05-25
    • 2014-04-09
    • 2021-11-30
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多