1

ビューを作成します。ステートメントは次のとおりです:</ p>

DELIMITER $$
USE `dada`$$
DROP VIEW IF EXISTS `view_product_new`$$
CREATE ALGORITHM=UNDEFINED DEFINER=`dada`@`%` SQL SECURITY DEFINER VIEW `view_product_new` AS 
SELECT product_id,FROM_UNIXTIME(`update_date`,'%Y%m%d') FROM web_product$$
DELIMITER ;

ビューは正常に作成できますが、binlogが破棄されます。ステートメントは次のとおりです:</ p>

mysqlbinlog mysql-bin.000167

エラー:Log_event :: read_log_event()のエラー:'読み取りエラー'、data_len:66129、event_type:32

FROM_UNIXTIME(update_date、'%Y%m%d')を削除すると、上記のステートメントは発生しません

私のmysqlのバージョンは5.1.30です

4

1 に答える 1

0

コメントで述べたように、ウィキペディアによると、実際には2009年より前にリリースされたかなり古いバージョンのMySQLを使用しています。

古いバージョンには、新しいバージョンで修正されたバグが含まれているため、コードに明らかに問題がなければ、アップグレードによって問題が修正される可能性があります。

そうでない場合でも、とにかくアップグレードすることはあなたの利益になります。5.1ブランチは、Oracleが現在サポートしている最も古いブランチです。彼らは最近MySQL5.6もリリースしましたが、おそらく3つのブランチのアクティブなメンテナンスを継続したくないでしょう...

5.6は新しいので、おそらくまだ解決が必要な問題がありますが、最初にデータベースをバックアップすれば、5.5にアップグレードしてもかなり安全です。最悪の事態が最悪の事態になり、5.5のインストールで解決できない問題が発生した場合は、いつでもバックアップを使用して古いバージョンにロールバックできます。

于 2013-03-08T07:20:20.853 に答える