Magentoのログデータの消去に関して質問があります。
Magento 1.4.1には2.3GB以上のデータがありますが、データのサイズのためにデータベースが遅すぎるため、データベースを最適化したいと思います。ログ情報(URL、Visitors)を確認しましたが、1.9 GBを超えています。これらの記録を直接消去すると、サイトの機能に影響しますか?ログの詳細をクリアするにはどうすればよいですか?それらのデータを消去することで、サイト上のデータを取得したり失ったりしますか?
これを自分で行う必要はありません。Magentoシステムにはログ情報をクリーンアップするためのビルトインがあります。に行けば
System > Configuration > Advanced > System > Log Cleaning
これらのログを自動的にクリーンアップするようにストアを構成できます。
SSHを使用したMagentoログのクリーニング:
shell(SSH)パネルにログインし、root/Shell
フォルダー。
shellフォルダー内で以下のコマンドを実行します
php -f log.php clean
ログデータのサイズを表示するには、このコマンドを入力します
php -f log.php status
この方法は、ログデータの非常に簡単な方法をきれいにするのに役立ちます。
試してください:
TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE index_event;
次のチュートリアルも参照できます。
http://www.crucialwebhost.com/kb/article/log-cache-maintenance-script/
ありがとう
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE index_event;
SET FOREIGN_KEY_CHECKS=1;
TRUNCATE `log_url_info`;
TRUNCATE `log_visitor_info`;
TRUNCATE `index_event`;
TRUNCATE `log_visitor`;
TRUNCATE `log_url`;
TRUNCATE `report_event`;
TRUNCATE `dataflow_batch_import`;
TRUNCATE `dataflow_batch_export`;
私はそれを使うだけです。
クリアできる他のテーブルがいくつかあります:ここに文書化されています: https://dx3webs.com/blog/house-keeping-for-your-magento-database
これがアンディの助けになることを願っています
Magento管理パネルによるログのクリーニング
この方法は、Magentoストアのデータベースを直接いじりたくないテクニカルストアの所有者にとって簡単です。 Magentoでログクリーニングオプションを有効にするには、次の手順を実行します。
Magento管理パネルにログオンします。 [システム] => [構成]に移動します。左側の[詳細]で[システム]をクリックします([詳細] => [システム])。システムの下に「ログクリーニング」オプションが表示されます。目的の「ログクリーニング」オプションの値を入力し、[保存]をクリックします。
phpMyAdminを介したログのクリーニング
Mysqlとクエリに慣れている場合、この方法はデフォルトのMagentoログクリーニングツールよりも効率的で迅速です。この方法では、お好きなものをクリーニングすることもできます。デフォルトのMagentoのログクリーニングツールに含まれていないテーブルもクリーニングできます。
PhpMyAdminでデータベースを開きます。右側のフレームで、次のテーブルのボックスをクリックします。dataflow_batch_export
dataflow_batch_import
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
report_viewed_product_index
report_compared_product_index
report_event
ページの一番下を見て、「with selected」というドロップダウンボックスをクリックし、空をクリックします。確認画面で[はい]をクリックすると、選択したすべてのテーブルが切り捨てられます。
または、スクリプトを使用して実行できます
TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE index_event;
選択されたテーブルを空にする(切り捨てる)ためにここにいることに注意してください。削除するときは注意してください。
これを定期的に実行すると、Magentoストアのパフォーマンスと効率が確実に向上します。 「CRON」を使用して、定期的にこれを自動的に行うスクリプトをセットアップすることもできます。
このスクリプトはきちんと整頓されています。 cronジョブとして設定し、リラックスします:
http://www.crucialwebhost.com/kb/magneto-log-and-cache-maintenance-script/
上記の方法のいずれかを使用してログを消去した後、app/etc/local.xmlでログを無効にすることもできます
...
<frontend>
<events>
<frontend>
<events>
<!-- disable Mage_Log -->
<controller_action_predispatch>
<observers><log><type>disabled</type></log></observers>
</controller_action_predispatch>
<controller_action_postdispatch>
<observers><log><type>disabled</type></log></observers>
</controller_action_postdispatch>
<customer_login>
<observers>
<log>
<type>disabled</type>
</log>
</observers>
</customer_login>
<customer_logout>
<observers>
<log>
<type>disabled</type>
</log>
</observers>
</customer_logout>
<sales_quote_save_after>
<observers>
<log>
<type>disabled</type>
</log>
</observers>
</sales_quote_save_after>
<checkout_quote_destroy>
<observers>
<log>
<type>disabled</type>
</log>
</observers>
</checkout_quote_destroy>
</events>
</frontend>
</config>
ログをクリアするためにクエリを実行するSQLを使用してc-panel goto phpmyadminにログインします
TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE index_event;
SET foreign_key_checks = 0;
TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE index_event;
SET foreign_key_checks = 1;
さらにヒント:これらの情報が必要ない場合は、テーブルタイプを「InnoDBではなく」「ブラックホール」に変更できます。これは、今後何も保存されず、挿入ステートメントが引き続き正常に機能することを意味します。
すべてのイベントを無効に設定して、ログを無効にすることもできます。
ここで良い記事を確認できます:
http://blog.magalter.com/magento-database-size
データベースのサイズを確認する方法、いくつかのテーブルを切り捨てる方法、および自動テーブルクリーニングを構成する方法について説明しています。
ログ設定の日時を無効にしたり設定したりできます。
システム>設定>詳細設定>システム>ログクリーニング
Magentoログクリーニングを手動、自動、およびその他のMagentoデータベースメンテナンスの両方で実行する方法。以下は、Magentoデータベースのメンテナンスと最適化のテクニックで最も重要な3つのことです。
詳細情報を取得するには http://blog.contus.com/magento-database-maintenance-and-optimization/