2019年4月21日 (日)

MySQL素人がWindows版で3rd partyユーティリティからの接続を使えるようにした話

終わってみればどうということはないけれど

 

正解に行きつくまで、正直なところ相当苦労した。いや、ぼくの MySQL 力がしょぼいせいだけど。

 

何が問題だったのか

 

かいつまんで書くとこんなところ。

 

  • 開発にも使っている自分の Windows PC に、 MySQL Community Edition 8.0 をインストール
  • 起動モードは Windows Service に設定 (Window なので)
  • 同時にインストールできる MySQL Workbench から接続に行くと普通に使える(まぁ、当たり前)
  • 普段は JetBrains DataGrip を使っているので、 DataGrip からローカルホストの MySQL に接続しようとすると「タイムゾーンがおかしい」といって接続できない

 

やったことの備忘録

 

大きくわけて二つ。

 

  1. タイムゾーン設定のインポート
  2. 起動時に参照されるタイムゾーン設定の作成

 

1. タイムゾーン設定のインポート

 

「そう言えば、タイムゾーンって my.cnf とかに書くやつじゃなかったっけ?」というわけで、そのあたりをググってみたところ、

 

Windowsの場合はOSにタイムゾーンの設定が無いため、タイムゾーンのファイルをダウンロードする必要があります。

 

などという記述を発見。
「ええ?そうなん?」と思いつつも、公式の MySQL :: Time zone description tables から、 MySQL 5.7以上むけの POSIX 標準 SQL ファイルをダウンロードして実行。

 

これでタイムゾーンの管理情報は作成できたので、起動してみるがダメ。

 

2. 起動時に参照されるタイムゾーン設定の作成

 

ここでどんなタイムゾーン設定が有効になっているのかを調べてみる。

 

mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.01 sec)

 

これはどういうことなのか? と再度調べてみたところ、

 

 

変数名 説明
system_time_zone システムのタイムゾーンで、起動時に TZ 環境変数を参照して決定したあとは、変更されることはない
time_zone サーバのカレントタイムゾーンで、権限があれば後から変更できる。
初期値は SYSTEM で、 system_time_zone と同じであることを表す

 

....とのことのようだ。(出展 : http://download.nust.na/pub6/mysql/doc/refman/5.1/ja/time-zone-support.html)

 

なるほど、 my.cnf を編集しなくても環境変数定義で大丈夫なのか。ということで、オフセット値を設定してみることに。
管理者権限のあるDOS窓を起動して、以下を投入。 MySQL はサービス稼働なので、システム環境変数として登録した。

 

> setx /m TZ +09:00

 

この状態で MySQL を再起動して、再びタイムゾーン設定を見てみると、

 

mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | +09 |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.01 sec)

 

....ということで、無事タイムゾーンが日本に設定されたようだ。

 

この状態で、再び GataGrip から接続を試みると、無事接続できた。

| | コメント (0)

2018年7月20日 (金)

Sphinxの環境を整える

この記事の目標

  • Sphinxの編集環境を作る
  • こぎれいなPDFを出力できる環境をWindowsで作る

Sphinx is 何


SphinxはPythonで書かれたドキュメントビルダで、reStructuredTextというマークアップ言語で書かれたソースをこぎれいなHTMLなんかに変換してくれる優れもの。

Sphinxのインストール


詳しくは公式のSphinxのインストール参照。

以下、かいつまんで書く。

  1. Pythonをインストール、デフォルトでよいが、公式ではPython 3.xを推奨している模様
  2. PIPをインストール
  3. pip install -U Sphinxを実行


編集には、Visual Studio CodeとreStructuredText拡張を使っているが、UTF-8が扱えれば使い慣れたエディタで大丈夫。

こぎれいなPDFをWindowsで作る


実はここがこの記事のメイン。


とりあえず、自分で試したWindowsとLinux(Ubuntu)で必要だったパッケージについて、ざっくりまとめた。

ビルダ html epub latex latexpdf
Windows
要TeX Live

要TeX Live, GNU Make, sh
Linux
要TeX Live

要TeX Live


この表のとおり、SphinxでこぎれいなPDFを作るにはTeXの力を借りる必要があるんだが、これにはTeX Liveというパッケージを使うのが一番簡単だ。


インストーラはInstalling TeX Live over the Internetで取得できる。

Windowsの場合、ネットインストール型のインストーラを使うのがお手軽だが、時間はとてもかかる(2時間くらい?)ことを覚悟したほうがいい。

とはいえ、待っているだけで基本終了するので、特に難しいところはないはず。


また、Sphinxのlatexpdfビルダは、WindowsのDOS窓では処理ができない動きをするので、UNIX由来のツールであるGNU Makeとshを入れておく必要がある。

これにはMSYS2を使うことにした。


QiitaにMSYS2 による gcc 開発環境の構築という記事を投稿している方がいるので、そちらを参考にmakeだけを入れる。

入れたら、C:\msys64\usr\binをパスに追加しておくこと。


ここまでできれば、Sphinxのドキュメントプロジェクトのあるディレクトリでmake.exe latexpdfとやればこぎれいなPDFが出力できていることだろう。


なお、「Sphinxのlatexpdfビルダは、WindowsのDOS窓では処理ができない動きをする」件、一応Issueにも挙がっているようで、日本のメーリングリストでも話題になっているんだけど、なかなかfixしないよなぁ....。


| | コメント (0) | トラックバック (0)

2013年8月11日 (日)

工程管理ツールはどうするか?

いま、工程管理ツールをどうしようかと悩み中。

というのも、以前自宅PCにRedmineをセットアップしていたんだけど、諸般の事情でサーバ運用ができなくなってしまい、代替サービスを探しているわけで。

GitHubにはBTS機能はあるけど、ガントチャート作成とかがサポートされていないようなので、工程管理用途には向かないように思う。

なので、「ガントチャート作成マクロをもったExcelファイル」をSkyDriveに置いて共有しようかと思ったんだけど、ベクターにアップされていた奴らは、どれもコレジャナイ感が半端ない。
あとは、ローカルディスクにインストールして使え、というやつらしかない。

こんなのでは「複数マシン間でのタスクの共有」ができないわけで、工程管理情報の更新のたびに「工程管理ツールをインストールしたPCを引っ張り出さなくてはならなくなる。

こんなめんどくさすぎることなんてやってられないので、ほんとうはRedmineみたいなのを使いたいわけですよ、ええ。

まぁ、「工程管理サービス」でググるとそれらしいサービスがいくつかヒットするんだけど、これ、自分のニーズに合うかどうかを、ひとつひとつ評価していかなきゃならんよなぁ。むぅ....。

| | コメント (0) | トラックバック (0)

2013年7月 7日 (日)

Visual Studio 2012 Expressのキーボードショートカット

いま、翔泳社の10日でおぼえるC#入門教室をやっているんだけど、何度も出てくるのでいい加減覚えたほうがいいと感じたキーボードショートカットを、あれこれ列挙してみる。

ショートカットのバインド 説明
Ctrl+R、そのあとR 「名前の変更」リファクタリングの実行
Ctrl+R、そのあとM 「メソッドの抽出」リファクタリングの実行
Ctrl+E、そのあとD オートフォーマット設定に従い、ソース全体のフォーマットを自動整形する
Ctrl+K、そのあとS 「ブロックの挿入」メニューの呼び出し
Shift+F7 デザイナーの表示
Ctrl+Alt+0 コードの表示

Emacsみたく、「Ctrl+なにかのあと、別の何かを押す」的なキーバインドが多いので、Vim使いの僕には覚えるのに難儀しそうだけど、便利そうなのは覚えていきたいなぁ。

けどね、実は一番ほしいと思っている、「usingの並べ替え」がショートカットにないんだよね(汗)。
てなわけで、こんなショートカットを[ツール]→[オプション]の[環境]→[キーボード]に定義してみた。

ショートカットのバインド 説明
Ctrl+U、そのあとS 「usingの並べ替え」メニューの実行
Ctrl+U、そのあとD 「未使用usingの削除」メニューの実行

オリジナルのショートカットを定義したわけだけど、ほかのIDE製品とかぶったりしてないか、とかは気にしないことにしたw。

| | コメント (0) | トラックバック (0)

2013年6月30日 (日)

ラムダ式 on C#

今、C#の初学者向け書籍を片手にC#の勉強中なんだけど、突然だけど「ラムダ式ってすごいね~」と感心した、というお話。

for (var i=list.Count-1; i>=0; i--)
{
    if(list.get(i)==成立条件)
    {
        list.RemoveAt(i);
    }
}

が、

list.RemoveAll(element => element == 成立条件);

と書けちゃうんだからすごいもんです。

最初は何をやっているのかさっぱりわからなかったけど、なんというか、「ある日突然目覚める」というのはやっぱりあるみたいだ。

| | コメント (0) | トラックバック (0)

2013年1月 5日 (土)

Picture Importer再び

おとといに引き続き、C#を。

自宅に戻って別のマシンで1.0.0.0を動かしたら、入力フォルダがA:\になっているわけで、「そーだよなぁ、FDDもリムーバブルドライブだもんなぁ」と。

ということで、

  • 「リムーバブルドライブ」のうち、FDDに割り当てられるA:\とB:\は無視する
  • [マイピクチャ]選択中は、出力フォルダのブラウズができないようにボタンをロックする

というバグフィックス&エンハンスを行ったPicture Importer 1.1.0.0を作成しました。よろしかったら使ってみてください。

こちらも引き続きソースコードはGitHubに上げてありますので、こちらもよろしかったら見てやってください。

| | コメント (0) | トラックバック (0)

2013年1月 2日 (水)

C#アプリケーション「Picture Importer」

今日のお題はC#。
ということで、冬休みの宿題チックに一本アプリを作ってみた。

なにをするアプリかというと、「デジカメ画像を日付ごとのフォルダに仕分けしてコピーする」アプリ。

うちは、僕がキヤノンの、妻がPanasonicのデジカメを使っていて、画像管理はキヤノンの「Zoom Browser」を使っているんだけど、パナのSDカードを差してもZoom Browserが画像をインポートしてくれないわけで、幸いZoom Browserがマイピクチャ以下にyyyy_MM_dd形式で仕分けしてくれるのを、外堀から利用してやろう、というコンセプトで、「ある階層以下にある.jpgファイルを根こそぎ指定フォルダに仕分けコピーする」アプリを作った、というわけ。

使用には>NET Framework 4.0 Client Profileとwindows Installer 3.1が必要だけど、今のところ特にインストーラは作っていないので、このZipを任意のフォルダに解凍して実行してやれば、そのまま動く(はず)。

今回は、いつものSubversionではなくてGitHubにソースをアップしているので、よろしかったら見てやってください。
実はタイマー処理で躓いているので、このあたりのアイデアを教えていただけると、泣いて喜びます。

ちなみに、作ったばかりであまりテストできていないので、無保証でお願いしますm(_ _)m。

| | コメント (0) | トラックバック (0)

2009年5月17日 (日)

MCP受験

 MCP(Microsoft Certification Program)とは、マイクロソフトの認定資格なんだけど、この世知辛い世の中、少しでも給料を上げてもらおうというわけで、マイクロソフト認定テクノロジー スペシャリスト: Windows Server 2008 ネットワーク インフラストラクチャ - コンフィギュレーション(長い名前だ...)を受けてみた。これはDNSやVPNといった比較的汎用的なところから、ネットワークアクセス保護(NAP)やWSUSといったWindows Serverの機能でネットワーク関連の知識技能を認定するものだ。


 で、結果なんだけど...、落ちました。orz


 結果はその場でわかるうえ、自分がどの分野に弱いかも教えてくれるんだけど、やっぱりDNSは鬼門らしい。


 ただ、セカンドショットキャンペーンのおかげで、2度目はタダで受けられるので、また挑戦しようかな。

| | コメント (0) | トラックバック (0)

2008年6月15日 (日)

ディスクの引っ越し

 Vistaを入れているメインマシンのaoiが、そろそろハードドライブが手狭になってきたので、引っ越しをすることにした。


 とはいうものの、あまり予算もかけられないので1万円以内でそこそこのものを物色していると、ドスパラでWestern DigitalWD Caviar® SE16 WD6400AAKSいい感じの値段になっているのを発見。なんとこのハードドライブ、1プラッタあたりの容量が320GBというシロモノだそうで、トータルで考えるとこいつは買いだ、ということで、隣町のドスパラへ遠征してゲット。


 で、家に帰って取り付けようかと思ったのだが、その前にTrue Imageでディスクをクローニングしてみた。買ってきたハードドライブをUSBディスクケースに入れ、True Imageでクローニングを開始。1時間ほどかかったが、このときは特に障害もなく終了。


 その後今まで使っていたハードドライブと交換して起動してみたのだが、なんとVistaのローダーが破損していると表示される。「修復するにはVistaのインストールディスクを使って、修復セットアップを試みよ。」ということらしい。


 しかたないので、押入れからVistaのインストールディスクをひっぱり出してきて、ついさっき表示された通り修復セットアップを試みる。修復セットアップを開始すると、1、2分ディスクを読んだかと思うと、終了の表示が。拍子抜けするほどあっけないものだったが、半信半疑でマシンをリブート。今度はちゃんと起動してくれた。


 気になる使用感とかなんだが、以前使っていたMaxtorの古いハードドライブと比べて、格段に静かになったのが一番の印象。アクセスについても、確かに速くなった感はある。ちゃんとしたベンチマークをとったわけじゃないんだけど、Windowsエクスペリエンス インデックスではプライマリハードディスクの評価が5.0から5.9へ上がっている。


 まぁでも、一番重要な「ちゃんとデータを保ったまま引越し」というところはクリアできたので、よしとしようか。


| | コメント (0) | トラックバック (0)

2008年3月30日 (日)

Windows Media Center

 Windows Media CenterはWindows Vistaの一部エディションなんかに付属する、いわばOSコンポーネントなんだけど、何気にすごいと思ってしまった。録画予約設定を書いておくだけで、ログオンしてなくても時間がきたら勝手に録画してくれるんですから。


 いや、今までI-O DATAのGV-MVP/RZ3を使って録画してたんだけど、付属ソフトのmAgic TVがVistaのUACにちゃんと対応してくれていない関係で、ログオンして自分でプログラムを起動しないと待機状態にならないという。う~む、画質はいいんだが、これでは使えん、って思ってたんだよね。


 ちなみにWindows Media Centerで使ってるチューナーカードは同じI-O DATAのGV-MC/RX3を使っておりますです。


 そういえば、去年の末にmAgic TVがバージョンアップしてたみたいだけど、その辺は改良されてるのかな? まだちゃんと見てないからなんともいえないんだけど。なんにせよアナログ放送が停波しちゃったら、こいつらは無用の長物に成り下がってしまうんだけどね。PC用のフルセグメント地デジチューナーが出ないかなぁ。

| | コメント (0) | トラックバック (0)

より以前の記事一覧