のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,601,617人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ【この先一体】MySQL 総合 Part15【どうなるの】

mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
351 : NAME IS - 2009/06/14(日) 11:13:51 ID:??? (+57,+29,-7)
そりゃおめぇ、()の中はいくつの箱を用意するかの指定だからw
352 : NAME IS - 2009/06/14(日) 11:20:15 ID:??? (-1,-29,-17)
つまり、そのデータをいじったり、保管したりするには、メモリ及びディスク上に、INTであれば、(非圧縮で)4×n byte分のスペースが必要になるってことだ。
353 : NAME IS - 2009/06/14(日) 13:54:59 ID:??? (+38,-30,-82)
>>350
>本来どう指定するのが正しいのでしょうか?

最終的に何を実現したいのかな?

INT(4) は、表示する時に最低 4 桁出力するという意味です。
指定しているのは表示する桁数であって、格納するデータのサイズ
ではありません。格納するデータのサイズを指定したい場合は、
そのサイズに合わせて TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT を使い分けます。BIGINT を使うと 8bytes までの数字を
扱うことが出来ます。

http://dev.mysql.com/doc/refman/5.1/ja/numeric-types.html
354 : NAME IS - 2009/06/15(月) 00:03:12 ID:??? (+63,+29,-26)
>>353 みなさま
表示幅の設定だったとは。根本的に間違ってたんですね。
自分の場合は小さい数字をPHPで取り出す目的だったので
あまり意識しなくてもよさそうです。
ありがとうございました!
355 : NAME IS - 2009/06/15(月) 17:22:54 ID:??? (+33,-30,-209)
サーバに多数のコネクションを張ってupdateかけるデーモン書いたら
lock wait timeout exceededって怒られるようになりました。
ググったら
"他のスレッドが保持しているロックをinnodb_lock_wait_timeout秒間待っても獲得出来なかった場合に発生する。 "
と出てきました。
ここの"スレッドが保持しているロック"というのを調べる方法はないでしょうか?
webサービスなので今のところタイムアウトの秒数を増やすといった解決方法は考えていません。
また、もし似たような場面に遭遇したといったことがあればヒントをいただけませんか?

対象となるテーブルはInnoDB、テーブルのロックは見たところ無いように見えてしまっています。
356 : NAME IS - 2009/06/15(月) 19:32:08 ID:??? (+59,-29,-32)
show engine innodb statusで、待たされている様子はわかる
誰がどのロックをつかんでいるかは
MySQL 5.1+InnoDB Pluginを入れるとわかる
かなり難しいけどね
358 : NAME IS - 2009/06/15(月) 23:27:05 ID:??? (+51,+29,-69)
>>357
バックアップの話なら、サイトによって様々でしょ。
例えばレプリケーションしてその先でダンプするとか、
ボリューム管理ソフトやストレージのスナップショット
機能を使うとか、色々。
359 : NAME IS - 2009/06/16(火) 01:44:07 ID:??? (+41,-30,-113)
WinXPにApacheとMySQL5.1.35を入れてphpMyAdmin起動して、
テーブル作成するため参考書CDに入ってたダンプと思われるtxtインポートしたら
--で始まるコメントの行がSyntax Errorになりますた。
試行錯誤の末、コメント行を全部消して食わせたらちゃんと食ってくれました。
最近のバージョンではコメントの書き方が変わってたりするんでしょうか?
360 : NAME IS - 2009/06/16(火) 01:50:48 ID:??? (+62,+29,-29)
追記
--のコメント行が全部エラーになっているのではないようで、
一行だけ
------------------------------------------
みたいになっている行があって、その行を消すとインポートできました。
そういう行があるとエラーになるようになったのでしょうか?
361 : 355 - 2009/06/16(火) 08:02:31 ID:??? (+90,+29,-21)
>>356
情報ありがとうございます、難航しそうでがーんですがちょっと調べてきます。

>>359
普通のsqlも----------を突っ込んだらコメントに扱ってくれなかったよ。
今まで気にしてなかったけど--の後にスペースが必要なのかな。
364 : NAME IS - 2009/06/16(火) 22:41:56 ID:??? (-2,-30,-13)
select id,name from hoge where name='two'
union all
select id,name from moge where name='two'
366 : NAME IS - 2009/06/17(水) 17:19:28 ID:??? (-1,-29,-15)
show table status\G
縦型表示。
367 : NAME IS - 2009/06/18(木) 00:30:58 ID:JwU+upJr (-21,+28,-29)
MySQLタイムマシンの開発はどうなった?
368 : 356 - 2009/06/18(木) 14:45:22 ID:??? (+76,+2,-3)
369 : NAME IS - 2009/06/18(木) 19:14:27 ID:??? (+73,+29,-56)
>>368
wow わざわざすんません。右も左もわかってませんのでいろいろ漁って勉強させてもらいます!

ちなみに先の問題はレプリケーションの遊びしてた鯖でロックするようなselect出させるようにしてひとまず回避しました。
371 : NAME IS - 2009/06/19(金) 01:09:06 ID:??? (+13,-30,-106)
中カテゴリ、小カテゴリの一覧が入ったテーブルがあります。
ここから、中カテゴリが変わるまでitemのみを出すSQLを作りたいのですが、
PHPやPerlの中であえて行わずにMySQL用のクエリだけで実現できるのでしょうか?

識者の方、教えて頂けますと幸いです。

テーブル例)
|category|item|(列名)
|果物|りんご|
|果物|スイカ|
|動物|うし|
|草花|あじさい|
|草花|つばき|
|草花|ひまわり|

出力例)
・果物
りんご
スイカ
・動物
うし
・草花
あじさい
つばき
ひまわり
372 : 356 - 2009/06/19(金) 02:09:19 ID:??? (+36,-30,-186)
mysql> set @job = '';
Query OK, 0 rows affected (0.00 sec)

mysql> select concat(if (@job = job, '', @job := job), ',', ename) from emp orde
r by job, ename;
+------------------------------------------------------+
| concat(if (@job = job, '', @job := job), ',', ename) |
+------------------------------------------------------+
| analyst,ford |
| ,scott |
| clerk,adams |
| ,james |
| ,miller |
| ,smith |
| manager,blake |
| ,clark |
| ,jones |
| president,king |
| salesman,allen |
| ,martin |
| ,turner |
| ,ward |
+------------------------------------------------------+
14 rows in set (0.00 sec)

PHPやPerlでやったほうがいいと思います!
373 : NAME IS - 2009/06/19(金) 02:09:59 ID:??? (+29,+11,+1)
名前消し忘れた
374 : NAME IS - 2009/06/19(金) 02:21:47 ID:??? (-6,-30,-51)
>>370
1つのselectにするなら全テーブルが同じカラム構成じゃないといけない。
で、あらかじめテーブル一覧がわかってたらビューを作ればできるかも

create view v as
select * from t1
union
select * from t2

375 : NAME IS - 2009/06/19(金) 16:27:37 ID:??? (+47,+19,-23)
で、mySQLで掲示板作るとローパフォーマンスだとか主張していたヴァカはどうした?
376 : NAME IS - 2009/06/19(金) 16:35:35 ID:??? (+52,+29,-3)
そんなのお前だけじゃね?
377 : NAME IS - 2009/06/19(金) 17:54:46 ID:ig7lHck0 (-28,-30,-275)
最近MySQLを触り始めたばかりの初心者です。
mysqlimportを使ってDBのバックアップとデータ移行を行いたいと思います。

マニュアルによればタブ区切りテキストを読み込むことができるそうですが、
このmysqlimportで読み込める形式を出力するには、どのような方法が簡単でしょうか?



とりあえず、自分が試したのは以下の通りです。

(1) mysqldump --no-data でテーブル構造をテキストに出力
(2) テーブル構造を移行先DBに読み込ませる
(3) mysql -D database_name -B -N -e 'SELECT * FROM table_name;' でTSVテキストを出力
(4) mysqlimportでTSVを読み込み

しかしこの方法では、
(4)の際に一部レコード(1万件以上)がスキップされるなど、上手くいきませんでした。

なお、元のDBはMySQL3.23、移行先のDBは5.0です。
378 : NAME IS - 2009/06/19(金) 19:59:46 ID:??? (+58,+26,+0)
>>377
それはダメだ。
379 : 377 - 2009/06/19(金) 20:20:43 ID:??? (+26,-8,-44)
最初はmysqldumpでクエリ生成しようかと思ったんですが、
文字化けやら文法エラーに悩まされ、他の方法でもいけるかな?と。

>>378
ではどんな方法が良いでしょうか。
380 : NAME IS - 2009/06/19(金) 22:15:30 ID:??? (+4,-29,-2)
MySQL Migration Toolkitはどうだろう
381 : NAME IS - 2009/06/19(金) 23:16:53 ID:??? (+5,-29,-53)
>>377
dump時に出力後の文字コードを指定できる。
そのdumpした物をそのまま新しいDBに入れればいいだけ。

文字コードがおかしいから文法エラーになってるものだと思われるので
文字コードが正しければ解決。
382 : NAME IS - 2009/06/19(金) 23:34:06 ID:??? (+3,-29,-52)
>380
こんなものがあるんですね。GUIっぽいですが。
使えそうか調べてみます。

>381
--default-character-set ですか?
dumpするときに色々試してみたんですが、何度やっても出来なくて、諦めちゃってました。
383 : NAME IS - 2009/06/20(土) 12:21:45 ID:??? (+55,+27,-29)
非力なポストグレが終わりそうなのでmysqlへ移行を考えています。
SQL文の違いはあまりなくすぐに移行できるでしょうか?
384 : NAME IS - 2009/06/20(土) 12:40:24 ID:??? (+62,+29,-113)
ポスグレ終わりなん?
MySQLの勉強が終わったらポスグレを勉強しようと思ってたのに…

移行する時の注意ですが、MySQLもそれなりに個性の強いRDBMSだと思います。
SQL モードやストレージエンジンの違いは注意が必要だと思います。
ドキュメントもそこそこありますし、見通しは良いので、別の RDBMS を
使っていた経験があるなら、そんなに難しい事は無いと思います。
385 : NAME IS - 2009/06/20(土) 12:51:57 ID:??? (+54,+26,-60)
いま面倒みているシステムでPostgreSQLの調子が悪いって話じゃないの?
PostgreSQL自体はもうすぐ8.4も出るし、いたって堅調。
SQLの文法はかなり違うからすぐには移行できないよ。
386 : NAME IS - 2009/06/20(土) 12:57:41 ID:??? (+57,+29,-40)
システム移行の話ですか。それなら大変ですね…
ストアドとかサブクエリーとかバックアップとか
いろいろ悩ましいでしょうね。
387 : NAME IS - 2009/06/20(土) 16:58:14 ID:??? (+57,+29,-3)
どっちかっつーとMySQLが終わるかもしれないって感じだけどな。
388 : NAME IS - 2009/06/20(土) 17:15:31 ID:??? (+41,+23,-2)
終らくるの?
389 : NAME IS - 2009/06/20(土) 17:34:33 ID:??? (+25,-2,-30)
PostgreSQLもMySQLも直ぐに無くなったりはしないと思うが。
391 : NAME IS - 2009/06/20(土) 22:45:10 ID:??? (+27,+11,-2)
>>390

できるけど?
392 : NAME IS - 2009/06/22(月) 18:21:45 ID:??? (+46,-4,+0)
↑アホ
393 : NAME IS - 2009/06/22(月) 19:16:47 ID:??? (+62,+28,-4)
>>392

何が? 必要十分な回答だろう。
394 : 371 - 2009/06/23(火) 00:22:31 ID:??? (+62,+29,-1)
>>372 さん、ありがとうございます!
これでテストしてみようと思います。
395 : NAME IS - 2009/06/23(火) 08:54:26 ID:??? (-1,-29,-21)
order BY RAND()がクソ遅いんだが
他に方法ないんか?
396 : NAME IS - 2009/06/23(火) 14:01:55 ID:??? (+3,-30,-64)
最終的には実測してくれとしか言えないが
データを受け取ったプログラム側で調整することも視野に入れてみてはどうか。


ランダムで全レコードの中から1つだけ抽出する…という処理なら、
先にランダムな値を決めておいて、

 SELECT * FROM table_name WHERE id = $random_id ;

みたいな感じにするとか。
397 : NAME IS - 2009/06/25(木) 12:17:44 ID:Qv13kLE3 (+66,+29,-106)
MySQLをアクセスできる状態のままdumpすることはできるのでしょうか?
サーバを2台用意できないのでレプリケーションはできません

稼働したままバックアップ取るなら最低でもロックをして、
一時的にでもリードできないようにする必要はありますか?
398 : NAME IS - 2009/06/25(木) 13:29:30 ID:??? (+71,+29,-248)
>>397
>MySQLをアクセスできる状態のままdumpすることはできるのでしょうか?

出来るけど、お金を掛けずに整合性を保ってダンプしたいなら
ロックをする必要があります。
お金があるなら InnoDB Hot Backup を使うという手も。

>サーバを2台用意できないのでレプリケーションはできません

レプリケーションはサーバ一台でも出来る筈。
マスターとスレーブでポートを分ければ良いだけじゃない?

>稼働したままバックアップ取るなら最低でもロックをして、
>一時的にでもリードできないようにする必要はありますか?

InnoDB みたいなクラッシュリカバリを備えているストレージ
エンジンならディスクの側でスナップショットを取るという
方法もあります。これは使っている OS やストレージに依ります。

間違えてたらごめんね。
399 : NAME IS - 2009/06/26(金) 11:38:19 ID:6Q9NAgpu (+4,-29,-25)
オウム手配犯3人写真 
平田 信(44歳)
高橋克也(51歳)
菊地直子(37歳)
400 : NAME IS - 2009/06/26(金) 12:20:09 ID:??? (-2,-30,-44)
InnoDBしかつかってないシステムなら
mysqldump --single-transactionで
オンラインバックアップ取れる
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について