私の.mysql_historyファイルサイズは300行に制限されています。
mysqlの記録を無制限に保ちたいです。ただし、これを行う方法が見つかりません(マンページとGoogle)。
誰かが.mysql_historyのサイズ制限をデフォルト300からそれ以上(または無制限)に増やす方法を提案できますか?
私はDebian Wheezyを使用しています
答え1
mysql
readline
コマンドラインインターフェイスと書き込み処理に使用されます。
readline
~/.inputrc
ファイルと/etc/inputrc
システム全体を構成します。
あなたは
set history-size 300
そこのどこかに。設定を削除するか、以下を追加してください。
$if Mysql
set history-size -1
$endif
あなたのための~/.inputrc
。
答え2
履歴ファイルでtail -Fを起動し、出力を新しいファイルにパイプできます。
tail -F ~/.mysql_history >> ~/.mysql_complete_history
すべてのコマンドを受け取ります。 (ファイルが毎回大きくなっていても:mysqlコンソールを終了すると、履歴ファイル全体が〜/ .mysql_complete_historyファイルに追加されます。)
編集する:
~/.mysql_complete_history
正確な使用結果を正確に記載してください。~/.mysql_history
このスクリプトは次の人によって書かれました。スティーブン・チャジェラス
答え3
あなたのためかどうかはわかりませんが、man chattr
明らかにする「追加のみ可能」という表示があるので、a
一度試してみましょう。 ;)
答え4
これまでに使用したすべてのクエリを表示するには、次を有効にしてください。共通ログ変数(あなたも見ることができますMySQLクエリログを有効にするには?)。
これによりCPUが大量に消費され、mysqlが遅くなります.)
その後、各コンソールエントリの前に、このログから新しい履歴ファイルを作成できます。
cat /var/lib/mysql/yourhost.log | cut -f4-99|while read i; do echo $i\;; done | > ~/.mysql_history
これにより、サーバーで実行されるすべてのコマンドが履歴ファイルに保存されます。
複数行コマンドが単一の履歴行にあるので、完璧ではありません。 (ただし、必要に応じてこの問題も解決できます。)