mysql

RDS for MySQL でSELECT結果をCSVに吐き出す

機会があって調べていると一筋縄ではいかなかったので覚書。 2ヶ月ぶりの記事ですが普通に生きています。   INTO OUTFILE は使えない RDS for MySQL(Aurora) v5.6.10 では INTO OUTFILEを実行するとエラーで使えない ERROR 1045 (28000): Access denied for user 'xxxx'@'%' (using password: YES)   StackOverFlow の人気コマンドを実行するとレイアウトが崩れる [crayon-5b4eff1b97d53005699465/] これで吐き出される CSV は見るに堪えないものができてしまう。 MySQLのバージョンだったりが関係あるのかもしれない。   mysqldump-to-csv を使う https://github.com/jamesmishra/mysqldump-to-csv [crayon-5b4eff1b97d66072015058/] これを使うと何故かヘッダが付与されないけど そこは手動で。

MySQLのデータベースをインポートする際に存在するテーブルのレコードを削除せずにALTER文を作成、実行するスクリプトを作った

先月末に数学のテストを終えました。 C単位は降ってきてほしいと切に願います。 あと、中間発表を控えてます。   背景 ステージング環境のDBをプロダクション環境のDBへインポートする際に レコードを消すわけには行かず ・プロダクションにないテーブルは作成 ・すでに存在するテーブルはステージングとプロダクションの差異のALTER文を作成して実行 ということを実現したいと思っていたところ ・Workbench ・Schemea Sync ・手動 のどれかが解決方法らしい。 Workbenchを使うとうまく行かず、Schema Syncは導入が面倒、手動も面倒ということで シェルスクリプトで作ってみた。   schemaSync – シェルスクリプト https://gist.github.com/rluisr/ace0513d0251d6ceb2a093cf23b6dafb できること ・宛先DBにないテーブルを作成 ・宛先DBに既にあるテーブルはソース元と差異を取得してALTER文を作成、実行 ・AUTO_INCREMENTの値は不変 できないこと ・SSL ・テーブルオプション(文字コード等)の変更はされない 必要なコマンド ・mysql ・mysqldump ・mysqldiff   前準備 ソースのテーブル構造   宛先のテーブル構図 modifyがありません。   宛先テーブルにはレコードを追加しておきます。   ソースには追加でテーブルを1つ作り、計2つ   宛先DBのテーブルはそのまま1つ   実行する [crayon-5b4eff1b98022803288577/] 最後にALTER文1つずつに確認画面がでるので 確認しながら実行できまできます。   宛先DBにソースのテーブルが作成される。   どちらにも存在したusersテーブルはレコードが削除されることなく ソースで追加したmodifyカラムが追加されました。 割りと実現したいことはできたかも。 他のエラー文を残したまま、WARNING文(パスワードをコマンドに書くな)無視はいつかやろうと思う。 本番環境で使ってみようと思います。 あ、これを使って生じた如何なる問題も僕は責任を持ちません。

EC-CUBEのインストール時にMySQL云々エラーが言われる

ちょっと、EC-CUBEを構築する際に困ったことがあったのでメモ   インストール時にMySQL関連でエラーが出る ・InnoDB関連を調べる [crayon-5b4eff1b980ef672941139/] Engine: InnoDB でなければInnoDBでDBを作成 [crayon-5b4eff1b980f4298068448/] 多分確認しなくてもいいけどInnoDBが使えるか [crayon-5b4eff1b980f7914644101/] have_innodb YES を確認する。 もし、NOの場合 [crayon-5b4eff1b980f9289683058/]   ・上記は大丈夫だけどまだダメ 流し込まれる .sql ファイルを変更する。 [crayon-5b4eff1b980fb429887306/] MySQLのバージョンで表記の仕方が変わったのにEC-CUBEが対応してないのかどうなのか分からないけど TYPE=InnoDB を ENGINE=InnoDB と書き換えるとインストールすることが出来た。   そもそもEC-CUBE側はあんまりMySQLを推奨とはしてなさそうだった…。 PostgreSQL は使おうとは思わない…。

rm -rf という危険なコマンド

こんばんわ   起きたこと 作業中にいつものようにディレクトリを削除するときに「rm -rf」を使ってたら Nginxのドキュメントルートをふっ飛ばした。 [crayon-5b4eff1b981c5787576838/] 本当はchownを実行したかったのに脳死状態でこんなコマンドをうってた。     原因 rmコマンドの「-f」オプション -f ってファイルがあってもなくても強制削除でエラーは出さないらしい 明らかにnginx:nginxなんておかしいのにエラーは出さず、次の/var/wwwに実行が移る。 っと推測。     対処 運良く7/17にバックアップがあったのでそれを復元して、記事の内容自体はDBへ保存され消えた画像は 再度アップロードして事なきを得た。 WordPressが動いてる最中に、ディレクトリを吹っ飛ばすと [crayon-5b4eff1b981ca615440676/] こんな感じなエラーを吐くので最適化、修復を忘れずに。 -f オプション使うときは気をつけることと、毎日バックアップを取りましょうってことですね(n回目)

MySQLでDBに同じユーザーで権限を付与すると他のDBに接続出来なくなる現象

WordPressに触れるようになって必然的に中指の第一関節ぐらいまで突っ込んだ知識を得たLAMP関係。 そんな中で知ったこと。   同じユーザーで異なるパスワードでDBに接続は出来ない 初めて知った… 今までMySQLを用いたプログラム作ってきたけど何故か今までこのことで困らなかった。 [crayon-5b4eff1b98254361457361/] こんな感じにAとBに同じユーザーで、違うパスワードで権限を付与すると 2回目に実行したコマンドで、1回目のコマンドが上書きされて2回目のユーザーとパスワードで AとBのどっちにも接続出来るようになります。 セキュリティ的にデータベース毎にユーザーを分けるのであれば ユーザーを新しく指定しないとダメみたいです。

【WordPress】カテゴリーという概念そのものが無くなった場合の対処法【MySQL】

あまりの Apache2 のメモリ使用量が多かったので調整してたらカテゴリーが表示されなくなった! メモリ使用量が多すぎて 5.5GB の9割は消費されてた。 ブログに何回かアクセスしたり、管理画面に入るとすぐ 500 Internal Server Error を吐く。 まあ プロセス数を調整したりして解決したのですが、よく気づくとカテゴリーが表示されなくなってた!     原因 WordPress のデータベースの “wp_term_taxonomy” の破損原因だった。 なんでこんなことが起こったのか分かりませんがメモリが消費されまくってて MySQL の処理に一部支障をきたした(分からない) とりあえず修復して治ったので “wp_term_taxonomy” の破損が原因ってのは分かりました。   [source] # mysqldump -u root -p wordpress > /home/luis/sql/wordpress.sql mysqldump: Error 1194: Table ‘wp_term_taxonomy’ is marked as crashed and should be repaired when dumping table wp_te rm_taxonomy at row: 1128 [/source] こんな感じにデータベースのバックアップを取ろうとすると破損してるってマークされるし直したほうがいいよってことでエラーを吐きます。     対処 [source] # mysql -u root -p mysql > use wordpress; mysql > check table wp_taxonomy; [/source] MySQL に接続して wordpress に使ってるデータベースを選択してテーブルをチェックしてみる。   [source] +————————–+——-+———-+————————————————————-+ | Table | Op | Msg_type | Msg_text | +————————–+——-+———-+————————————————————-+ | wordpress.wp_commentmeta | check | warning | Table is marked as crashed and last repair failed | | wordpress.wp_commentmeta | check | warning | Size…