MYSQL WorkbenchでMYSQLに接続する場合の備忘録

VB Tips And Sample(HOME)(VB.NET Sample インデックス)

MYSQL WorkbenchでMYSQLに接続する場合の備忘録

WIN7(MYSQL Workbench)→ → → →CENTOS5(MYSQL5)

管理人はVM(VMware)にcentos5をインストールして、そのPC名をcentos5VMにして使っているわけだが、
GUI管理は、主にphpmyadminを使用している。
SQLチューニングは、自作(PHP)で、行っている。
チューニングツールの基本は、
クエリの「SELECT」を「explain select SQL_NO_CACHE」に置き換えて実行。
後は、したのソースで実行プランが取得できる。
いずれ、ソースもうチョイ改良してを全部公開しようと思います。でもまあ、誰でも作れるから必要ないか?

			
	$rs = mysql_query($explainSQL);
	print "<table border=\"1\"><tr>";
		print "<td>id";
		print "</td><td>select_type";
		print "</td><td>table";
		print "</td><td>type";
		print "</td><td>possible_keys";
		print "</td><td>key";
		print "</td><td>key_len";
		print "</td><td>ref";
		print "</td><td>rows";
		print "</td><td>Extra</td>";
		print "</tr>";
	while($row = mysql_fetch_array($rs)) {
		print "<tr>";
		print "<td>".$row['id'];
		print "</td><td>".$row['select_type'];
		print "</td><td>".$row['table'];
		print "</td><td>".$row['type'];
		print "</td><td>".$row['possible_keys'];
		print "</td><td>".$row['key'];
		print "</td><td>".$row['key_len'];
		print "</td><td>".$row['ref'];
		print "</td><td>".$row['rows'];
		print "</td><td>".$row['Extra']."</td>";
		print "</tr>";
	}
	print "</table>";
			
			
で出力されるので、後は、いろんなサイト・例えばここなんかを参考に、クエリをチェックして
調整すると言うもの。
以前管理人も、MYSQLのインデックスの調査の件で「explain select SQL_NO_CACHE」は実際に使っていました。
で、今回は「MySQL Workbench」(昔MySQL Administrator)で、接続してみようと言う試み。
実際レンタルWEBサーバ等では、DB管理ツールはphpmyadminのみが多いので、「MySQL Workbench」を使うことはまだ少ないとは思うけど・・・


でもまあ、
mysql-workbench-gpl-5.2.35.1-win32.msi
をダウンロードして、Win7(64bit)へインストールしてみた。
インストール。(メニューの日本語パックが一つ昔の5.1のものがNETに転がっていたので、それを上書き)
MYSQLに、つながらない。
なんで?
ファイヤーウォールを切ってみてもだめ。
エラーメッセージを見ると、どうも権限で蹴られているみたい。
と言うわけで、そういえば以前やったな^^^^
GRANT ALL PRIVILEGES ON *.* TO ユーザ名 IDENTIFIDE BY 'パスワード'
を叩いてリモートユーザを作成する。
そうするとすんなりOK。

New connectionをクリックして、
workbenchの画面
下図のように、上から順番、左から右にボタンを押して、設定していくと接続が出来上がる。
上から順番にボタンを押して、設定。
接続が登録されれば、テーブルを名の▼の部分をクリックすれば、既存のテーブルが表示される按配だ。
延々とDB名をクリックしていてテーブルが表示されねー?と悩んでいたが、▼部分だとは!
▼部分をクリック!
一通り、クエリを実行してみる。
ついでに、ストアドを作成してみると、なにやらエラーが・・・・
ネットで検索してみると、どうやら [root@centos5vm ~]# mysql_upgrade -p
を実行する必要があるみたい。
で、実行。
コマンドの間違いもついでに公開・・・・・・「-」ではなくて「_」ですね。
mysql_upgrade -p

ストアド作成
DELIMITER $$

CREATE DEFINER=`root`@`%` PROCEDURE `new_routine`(out data int)
BEGIN
set data= (select count(*) from testdata);
END
で、作成し
call test.new_routine(@data);
select @data;
で、実行。
ストアドプロシージャ結果

めでたしめでたし・・・・
※参考サイト 等
VB Tips And Sample(HOME)(VB.NET Sample インデックス)