まとまりのないブログ

something which something is something

mysql

mysqlのレプリケーションでのエラー:ERROR 1064

投稿日:

レプリケーションしているサーバで時々エラーが発生してスレーブ動作が止まる。よくあることと思いsql_skip_slave_counterに1を代入してエラーが発生する度に飛ばしていたのだけれど、詳しくエラーの内容を確認してみるとERROR 1064、sqlのシンタックスエラーが発生しているということだった。そしてさらに詳しく見てみると、それはsqlのシングルクォートのエスケープ処理ができていないことによる文法エラーということがわかった。マスターでプログラムの処理においてDBに登録する際にはエスケープ処理は行っているが、マスターに登録済みのデータはエスケープ処理後のデータであり、それをスレーブへレプリケーションするときにはもういちどエスケープ処理が必要ということになる。スレーブの設定でそういうのはあるのだろうか・・・・。

-mysql

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

マシンスペックとデータベースのパフォーマンスの関係

マシンが高性能であればあるほど良いに越したことはないが、データベースソフトウェアのパフォーマンスにおいてはマシンの高性能化はあまり意味があるとはいえない。データベースのパフォーマンスを向上させるために …

no image

mysql インデックス バックアップ

mysqlのインデックスの作成やテーブルのバックアップ方法についてのメモ。

no image

mysqlのデータベースのテーブルから不要なフィールド(列)を削除

テーブルを再設計するために不要なフィールドを削除してみる。たしか前にフィールドを削除したときは、フィールドにインデックスが作成されている場合はフィールド削除の前にインデックスを削除しておかないとエラー …

no image

sennaのインストール

かなり嵌ったので備忘録。sennaをインストールする際、configureのオプションを指定しないと、デフォルトの文字コードはeuc-jpでconfigureをすることになる。mecabで文字コードを …

no image

結果の行数をカウントする

mysqlで結果の行数をカウントするsql文は、 seletc count(*) from foo; で取得するのが最も簡単ではあるけれど、レコード数が膨大な場合にはパフォーマンスの面で問題になる場合 …