uzullaがブログスマートフォン用の表示で見るuzullaがブログuzullaがブログです。ServiceというPaaSがレンサバみたいにつかえて便利!というある意味怒られそうなエントリを書きましたuzulla.hateblo.jpしかし、レンサバにはFTP以外にもう一つ重要なものがあります。データベース」という機能があります、AWSで言う所のRDSです。本来これをつかうのが正しい道だとおもいますね。Serverなんですよね...。後、高くはないんですけど、月500円くらいからです。DB」というものが「あった」っぽいんですけど、いまはどこにあるのかよくわからないです。あとはVMのテンプレートにMysqlもありますが、せっかくのPaaSだと思うと、ちょっと面倒ですよね...。DISCLAIMERこのエントリでは、AzureとそのAppServiceが提供する拡張性や可用性をほとんど活用してません。Serviceにトライしてみた感想です。試用や遊びの割り切った範囲で活用する方法の紹介で、(おそらく)「正しいプロダクション環境の運用」とは方向性がちがいます。appがそういうものじゃないしね)また、後半にmy.cnfとかの事をかいていますが、マネージドのサービスで公式に用意されていない手段を模索するのは(一般的に)お行儀が悪い行為です、こういったことを推奨するものではありません。Appの理解にはつながると思いますので掲載させていただきます。Serviceのコンテナ内に、専用のmysqldをつくる事ができます。プランのリソースを共有できます。使ったアプリは、運用環境での使用を意図したものではありません。単一のインスタンスの範囲を超えてスケールすることもありません。いうことで、やはり肝心の所は良く解らないのですが、まあ極小規模な主に開発用なんだと言いたいのは伝わります。次は管理ですね、テーブルとか作りたい。その画面上の「管理」をおしましょう!すると我々に馴染み深いphpMyAdminが立ち上がります!...が、実は地味にわかりづらい作法があるようです。以下のようなログイン画面が表示されたら、一見さんお断りで失敗です。この画面をみたら人はかけずり回ってID/PASSを探すでしょうが、実はどこにもID/PASSは書いていません...。*1なにいってるのかわからないでしょうが、兎に角この後の手順を踏んでみて下さい。Appの中の管理をひらいてみてくださいうまくいけば「ログインした後のphpMyAdminが開けるはずです!やりましたね!!(「なにいってんの」って思われるかもしれませんけど、本当にこれ気付くまで地味にハマったので)うまくいった場合のプロセスエクスプローラーの表示は(個人差あるでしょうが)こんな感じです*2あと、この画面もダメですが。これも上記の手順をおこなったり、phpのURLをなにかひらけばもどってくると思います(多分mysqlプロセスが終了してしまっている)phpMyAdminについて説明いらないじゃろ?mysqlの状態や、渡される権限についてphpMyAdminで接続してみると、azureというアカウントがわりあてされ、azuredbというDBが最初から作成されているのがわかります。PRIVILEGES」が付与されているのだ!すごい!!つまりDBをドンドンつくれます!(GRANT権限はないけどね)共有サーバーなのにどういうことなのと思われることでしょうが、先程のプロセスビューザーでみた通り、自分専用のmysqldが立ち上がっているのでこういう感じなんでしょうね。dirも見える所にあります。data/mysql以下にあります。my.cnf(いや、Windowsだから、my.iniでもいいか)も、その中に置けば読んでくれるはずです。(残念なら後述)ちなみに、Mysqlのバージョンは5.7.9でした。PHPからの使い方phpMyAdminがさわれれば、初期のスキーマ流し込みとかは問題無くできたとおもいます。次はアプリからの接続ですね。詳しくは以下のURLをみていただきたいのですが、(一部の人には残念)英語です。Appの接続情報は環境変数経由で渡されます。$_SERVER["MYSQLCONNSTR_localdb"]にはいっています。(このキー名は固定ではないかもしれない。Appの画面にありますので、そこからコピペしましょう)こいつは(ここにサンプルは貼りませんけど、なかなか「なんでやねん」「マジか」感のある)文字列ですので、これを切った貼ったしましょう。上のURLの中にサンプルコードがあります。私は「なんでやねん!」と言ってしまったので、自分で書きました。一応以下に置いておきますが、公式のコードをつかうのが一番でしょう。本物のmysqldを管理者権限で渡してもらえるみたいなので、そこらのレンサバより断然自由度が高い。これは遊びや開発だと最高ですね。(まあ、コンテナのクオータにかからないように注意する必要はあるでしょうが)とはいえ、最初からユーザーもDBもつくってはあるわけで、初心者でmysqlよくわからんという人も、そこらのレンサバと大差無く使えるのではないか(ユーザー名とかを環境変数から引いてくる、というのに慣れないかもしれませんけど、まあ慣れるやろ)。壊してもすぐに作り直せるし、mysqlの練習にも最高ではないでしょうかね。これをそのままプロダクションには使えないとおもいますけど、まあ中々面白いですね〜。PHPとMysqlがあれば、8割くらいのPHPerの雑な遊びは満足するのではないかなとおもいます。みなさん試して見てはいかがでしょうか。こちらからは以上です。@@default_password_lifetimeで確認したところ、5.7.9の有名な時限爆弾があるようです。(詳細は後述の参考リンク)さっそくmy.cnfに修正をいれてみようとしました...が。my.cnfが反映されない。んんん?とおもいつつ、いろいろやった結果以下の出力を得ました。my.cnf(あるいはmy.ini)の設置について調べた結果、以下のmy.ini(cnf)を読むようなのですが、どれもデバッグコンソールからいじる権限がない。(x86)\mysql\5.7.9.0\my.cnfウーム、ダメかー。*1:たとえ、後で「なんてこった!固定か!(?)」と叫ぶ事になったとしてもです。残念ながら固定のはずのID/PASSをいれても多分はいれないです。#01」に参加してきました。»プロフィールid:uzullauzullaがブログです。参加してきました!月別アーカイブ参加グループWindows開発者はてなブログをはじめよう!uzullaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。