-2

誰かがサーバーを台無しにした後、Magento は MySql DB に接続できませんでした。
最初の試行では、使用mysql -u <username> -h localhost -pして認証に失敗しました。
多くの苦労の後、この男が私を助けてくれました(解決策はコメントにあります)ので、最終的にMagentoの資格情報を使用してDBに接続することに成功しました. しかし、その後、リモート接続できませんでした。リモート接続を無効にするため、これは役に立ちませんでし--skip-networkingたが、最終的にはそれを理解しました(今、私が何をしたか覚えていません。my.cnfまたはで何かを変更しました/etc/hosts)。 これで、ローカルとリモートの両方で

Magento のユーザー名/パスワード (で構成) に接続できるようになりました。 それでも、Magento はMySql に接続できないというエラーを画面に出力します。configuration.php


local.xmlconfig.xml(の下) の 両方を確認<Magento root>/app/etcしましたが、両方とも正しく構成されているようです。

すべてを最初からインストールすることを考え始めました。問題は、適切なバックアップがなく、それによってデータが失われるかどうかわからないことですが、そうする必要がある場合は、ファイルとDBをバックアップして、それを実行します...
何かアイデアはありますか?


アップデート

延々と掘り下げた後、どうやら local.xml および config.xml と同じディレクトリに他の XML ファイルがあったようです。これらのファイル (バックアップとして作成されたが、.xml 拡張子が付いたままになっている) を削除すると、問題は解決しました。

結論: xml ファイルをバックアップする場合はfile.xml.backup、拡張子が xml のファイルと同じように扱われないように、バックアップを名前を付けて保存してください。

4

2 に答える 2

3

すべてを再インストールすることを考えている場合は、序文として、混乱したサーバーとは別のサーバーで再インストールすることをお勧めします. 同じサーバー上で、別の仮想ホスト、ホーム フォルダー、および mysql データベースを使用して実行することもできます。

これは、Magento プロジェクトの移行、インポート、および Magento をあるサーバーから別のサーバーに移動することに関連するその他のものを作成するときに使用する手順です。

これには、シェルから mysql + mysqldump にアクセスできる必要があります。

これは、LAMP を使用する Debian ベースのディストリビューションで定期的に使用する手順です。


ソースサーバー上

1.BDのクリーニング

これは、DB が重すぎて新しい宛先サーバーからダウンロードできないと考えられる場合に必要です。また、どのテーブルを切り捨てているかを本当に知っていることを確認してください。これはお使いの Magento のバージョンに依存するため、どちらを正確に判断することはできません。

大まかに、インデックス テーブル + core_url_rewrite、ログ テーブル、cron_schedule、フラット カタログ テーブル、データフロー バッチ テーブルとプロファイル履歴、レポート集計テーブルを切り捨てます。

2.DBのバックアップ

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 .

宛先サーバー上

好きな方法で magento.sql と magento.tar.gz を取得し (wget、SSH GUI クライアントからコピー/貼り付け...)、新しい Magento ルート ディレクトリに配置します。

5.DB をインポートする

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

これにより、新しい DB で mysql シェルが開きます

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

これでサイトが表示されるはずです。宛先サーバーの MySql 構成に適合させるために、いくつかの権限の変更と app/etc/local.xml の微調整が必​​要になる場合があります。

于 2012-09-08T21:58:11.873 に答える