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

私的良スレ書庫

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

元スレMySQL 総合 Part19

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
51 : NAME IS - 2011/01/29(土) 15:56:49 ID:??? (+5,-27,-19)
>>49
機能としてはないと思う
ダミーデータをINSERTしてDELETEするくらいしか思いつかない
52 : NAME IS - 2011/01/29(土) 16:03:13 ID:??? (+64,+29,-5)
>>48
誤ってアンカーを外しておりました、申し訳ありません。
回答ありがとうございました。
53 : NAME IS - 2011/01/29(土) 16:03:57 ID:??? (+51,+28,-2)
その機能ほしいねえ
54 : NAME IS - 2011/01/29(土) 16:22:33 ID:??? (+3,-30,-39)
innodb_autoextend_incrementがinnodb_file_per_tableのときも効くなら、
大きめの値を指定しておけば実質的にファイルの断片化を気にする必要はなくなると思う。

が、対応してないんだなー
http://bugs.mysql.com/bug.php?id=31592
55 : NAME IS - 2011/01/29(土) 18:05:28 ID:??? (-1,-29,-7)
>>51,54
レスありがとうございます
innodb_autoextend_incrementという設定があるんですか。勉強になりました。
56 : NAME IS - 2011/01/30(日) 16:57:29 ID:??? (+57,+29,-48)
MySQL ヤンキーDQN
PostgreSQL エリートビジネスマン

どうして差がついたのか・・・
慢心、環境の違い
57 : NAME IS - 2011/01/30(日) 17:01:38 ID:??? (+57,+29,-9)
ヤンキーDQNの方が年収が高い業界で何を言ってるんだろうか…
59 : NAME IS - 2011/01/30(日) 21:46:00 ID:??? (-29,-30,-107)
それ実現するにはSTART TRANSACTION叩いた瞬間に
すべてのテーブルのすべてのレコードをロックすることになってしまうだろう

> それとも各UPDATE文が実行される時に各々取得するのでしょうか?
YES

何をやりたいかは知らんけど
START TRANSACTION WITH CONSISTENT SNAPSHOT;
を調べたら幸せになれるかも
61 : NAME IS - 2011/01/31(月) 00:09:53 ID:??? (+35,-30,-32)
割り込まれたくないなら、最初に
SET TX_ISOLATION = 'SERIALIZABLE';
BEGIN;
SELECT * FROM t WHERE id = 1;
SELECT * FROM t WHERE id = 2;
SELECT * FROM t2 WHERE id = 1;
までやっておいて、それからUPDATEをかける
62 : NAME IS - 2011/01/31(月) 00:35:23 ID:??? (+57,+29,-126)
>>60
そのトランザクションが各テーブルに最初に触るのがUPDATEの時なんだから
そこで初めてロックをかけるだけで問題ない。
仮にトランザクション開始からUPDATEまでの間に他トランザクションが
テーブルに何らかの更新を行った場合と、トランザクション開始時点から
その状態だった場合とではトランザクションの結果に差はない。
63 : NAME IS - 2011/01/31(月) 04:55:01 ID:??? (+3,-30,-67)
失礼します。質問させてください。

Windowsのコマンドプロンプト上でjavaプログラムを実行したときMySQLの
Select文の結果が表示されるプログラムを作りたいのですがうまくいきません。
誰か教えてくれませんか?
実行例↓

C:User>java Select

+---------+-----------+
| pref_cd | pref_name |
+---------+-----------+
| 1 | 北海道 |
| 2 | 青森県 |
+---------+-----------+
64 : NAME IS - 2011/01/31(月) 11:57:41 ID:??? (+60,+29,-31)
>>61
googleが1秒以内に検索結果を出してくるネット上で「そんなの知ってた」の後出しか…
ここまでの馬鹿は初めて見た
65 : NAME IS - 2011/01/31(月) 18:15:28 ID:??? (+50,+27,+1)
エスパー!出番ですよー!
66 : NAME IS - 2011/02/02(水) 02:32:29 ID:??? (+3,-30,-62)
同じテーブルをUNIONで結合すると、当然重複列が出来るわけですが、
それをサブクエリにしてSELECTすると重複が消える。

select * from (
select * from A where ...
union
select * from A where ...
) as u;

こんな感じにすると結果はdistinctされたように重複が消えています。
何故ですか???
67 : NAME IS - 2011/02/02(水) 08:06:23 ID:??? (+36,+8,-19)
重複列じゃなくて重複行ね?
サブクエリにしなくても消えると思うけど
69 : 68 - 2011/02/04(金) 01:29:01 ID:??? (-1,-29,-21)
それから、文字コードはUTF-8を使っています。
set names utf8;しても状況に変化はありません
70 : NAME IS - 2011/02/06(日) 13:42:02 ID:??? (+41,+3,-27)
CのAPIについてもここでいいんですか?
71 : 70 - 2011/02/06(日) 13:44:35 ID:??? (+56,+28,-4)
70ですが、総合よりもバージョンインディペンデントなスレに移動しました。
お騒がせしました。
72 : NAME IS - 2011/02/06(日) 15:46:20 ID:??? (+53,+29,+0)
>>68
とりあえずあるあるとだけ
回避方法は私も知らない
73 : NAME IS - 2011/02/06(日) 21:46:53 ID:??? (+3,-30,-118)
すいません、テーブルの内部結合によるSELECTはわかったのですが
逆に2つのテーブルに同じ値を挿入するときのINSERTがわかりません。

テーブルA… name_id(AUTOINCREMENT), name
テーブルB… id(AUTOINCREMENT), name_id
name_id は同じ値を持つ。

INSERT INTO テーブルA (`name_id` ,`name`)
VALUES (NULL , 'foo');

このときにテーブルBのname_idを同じにするためには
どうしたら良いのでしょうか??
74 : NAME IS - 2011/02/07(月) 00:45:21 ID:??? (-1,-29,-4)
last_insert_idでぐぐるといいよ
75 : NAME IS - 2011/02/07(月) 07:04:34 ID:??? (-1,-29,-7)
つまりテーブルBのname_idは、AUTOINCREMENTにする必要は無い。
というか、しちゃいけないというところでしょうか。
76 : NAME IS - 2011/02/07(月) 14:26:26 ID:??? (+7,-24,-22)
ここってMySQL信者しかいない系?
PostgreSQLとか嫌い系?
77 : NAME IS - 2011/02/07(月) 16:43:47 ID:??? (+0,+30,+0)
78 : NAME IS - 2011/02/07(月) 21:47:51 ID:??? (+3,-29,-54)
phpMyAdminで標準となっている1ページ30行の表示数を
常に100行ぐらいに変えたいんだけどどこをいじるんだ?

ローカルのphpMyAdminなのでどのファイルにでもアクセスできる。
多少スレ違いですまん。
79 : NAME IS - 2011/02/08(火) 03:09:06 ID:??? (+7,-30,-97)
rootユーザーのパスワードを設定しようと思い「mysqladmin -u root password 'root'」
としたのですが
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
とエラーがでてパスワードを設定できません、どうしたらいいのでしょうか・・・
80 : NAME IS - 2011/02/08(火) 03:37:08 ID:??? (-1,-29,-3)
>>79
using password: YES
で試してみる。
81 : NAME IS - 2011/02/08(火) 16:27:42 ID:??? (+3,-30,-97)
かなり大きいテーブル3GiBほどのテーブルが壊れました。
repair table hoge
としてみたのですが
Not enough memory for blob at 3607767920 (need 1851466134)
と出て失敗します。
メモリー使用量を抑えつつ
修復する方法、オプションとかってないですか?
mysqlのバージョンは4.0.27です。
さくらのスタンダードプランのレンタル鯖です。
82 : NAME IS - 2011/02/08(火) 23:07:09 ID:??? (+46,+18,-18)
レンサバならあきらめれ。
バックアップからリストアするべし。
83 : NAME IS - 2011/02/10(木) 00:29:26 ID:??? (+0,-29,-90)
質問です
パーティション切ったテーブルのパーティション名と区切り値を項目ごとにカラムで取得する方法はありますでしょうか?
show create tableで定義は確認できますが、パーティション名と値を個別で取得したいです。
84 : NAME IS - 2011/02/10(木) 05:34:57 ID:??? (+0,+0,+0)
>>83

mysql> select * from information_schema.PARTITIONS where TABLE_NAME = 'ptest'\G
*************************** 1. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: scott
TABLE_NAME: ptest
PARTITION_NAME: p1
SUBPARTITION_NAME: NULL
PARTITION_ORDINAL_POSITION: 1
SUBPARTITION_ORDINAL_POSITION: NULL
PARTITION_METHOD: RANGE
SUBPARTITION_METHOD: NULL
PARTITION_EXPRESSION: id
SUBPARTITION_EXPRESSION: NULL
PARTITION_DESCRIPTION: 100
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 16384
MAX_DATA_LENGTH: NULL
INDEX_LENGTH: 0
DATA_FREE: 0
CREATE_TIME: NULL
UPDATE_TIME: NULL
CHECK_TIME: NULL
CHECKSUM: NULL
PARTITION_COMMENT:
NODEGROUP: default
TABLESPACE_NAME: NULL
*************************** 2. row ***************************
TABLE_CATALOG: NULL
TABLE_SCHEMA: scott
TABLE_NAME: ptest
PARTITION_NAME: p2
SUBPARTITION_NAME: NULL
PARTITION_ORDINAL_POSITION: 2
SUBPARTITION_ORDINAL_POSITION: NULL
PARTITION_METHOD: RANGE
SUBPARTITION_METHOD: NULL
PARTITION_EXPRESSION: id
SUBPARTITION_EXPRESSION: NULL
PARTITION_DESCRIPTION: MAXVALUE
TABLE_ROWS: 0
AVG_ROW_LENGTH: 0
DATA_LENGTH: 16384
MAX_DATA_LENGTH: NULL
INDEX_LENGTH: 0
DATA_FREE: 0
CREATE_TIME: NULL
UPDATE_TIME: NULL
CHECK_TIME: NULL
CHECKSUM: NULL
PARTITION_COMMENT:
NODEGROUP: default
TABLESPACE_NAME: NULL
86 : NAME IS - 2011/02/10(木) 22:37:37 ID:??? (+77,+29,-35)
YES
不整合は起こさないようになってる
ブログみたいに一度書いたらあとは読むだけみたいなシステム向きの機能
87 : NAME IS - 2011/02/11(金) 00:17:59 ID:??? (+115,+29,-190)
会社のWEBサービスを初めて1人で立ち上げたのですが、MySQLの知識が無くてヒヤヒヤの毎日です。
最近やっと1日のPVが30万ぐらいになったのですが、DBバックアップを全く行っていません。
ネットで調べてみるとレプリケーションという手法でデータ冗長化するのが正攻法のようです。
稼動済みのWEBサービスをレプリケーション化しても問題起きないでしょうか?
また、正しいサービスの運営の仕方としては、やはり最初からレプリケーションするべきだったのでしょうか?
現状ではサーバー費用の問題もあり、サービス開始時は1台のサーバーにApacheもMySQLも全て詰め込んでおります。
88 : NAME IS - 2011/02/11(金) 01:23:23 ID:??? (+52,+29,+0)
ポスグレに変えるべき
89 : NAME IS - 2011/02/11(金) 12:10:53 ID:??? (+111,+29,-145)
>>87
>稼動済みのWEBサービスをレプリケーション化しても問題起きないでしょうか?
事前にバイナリログの設定をしていない場合、稼動中にスレーブ追加はできない

>正しいサービスの運営の仕方としては、やはり最初からレプリケーションするべきだったのでしょうか?
サービスの規模次第

技術的に頼る人がいないなら、偉い人と調整して
・毎週日曜4時にサービス停止
・mysqldを停止してdatadirをまるごとバックアップ
・5時にサービス再開
みたいなスケジュールを組んだ方がいい
90 : NAME IS - 2011/02/11(金) 15:33:51 ID:??? (+81,-29,-6)
サービス停止するまでも無い
mysqldumpで十分だろ
91 : NAME IS - 2011/02/11(金) 22:14:59 ID:??? (+39,+5,+2)
>>86
ありがとうございました
92 : NAME IS - 2011/02/12(土) 03:17:09 ID:??? (+102,+29,-4)
>>90
ひどいアドバイス
それで解決するなら誰も苦労せんわ
93 : 87 - 2011/02/12(土) 18:12:06 ID:??? (+77,+29,-77)
返事が遅れてしまいすいませんでした。
返信してくれた方、ありがとうございます。

>>89
バイナリログという言葉自体初めて聞いたので、
おそらくレプリケーションは無理そうです。。

偉い人と相談して定期的にバックアップ取る方針で行きたいと思います。
cronでdatadirコピーしてしまえば自動化できそうですね!
とても参考になりました。ありがとうございました。

>>90
>>92
この方法は問題なのでしょうか?
ネットで調べるとmysqldumpという言葉もよく見たので候補にはあったのですが。
94 : NAME IS - 2011/02/12(土) 20:54:16 ID:??? (+18,-30,-152)
mysqldumpで整合性のあるバックアップをとる場合は

a)InnoDBしか使っていない前提で--single-transactionを入れる
b)MyISAMを使っている場合は--lock-all-tablesを入れてロックをかける

のいずれかを行う必要があって、
>>87 の質問文だけではどちらが適切なのかを判断できないし
b)案は更新SQLをストップさせるので実質的にサービス停止になる。

そこまで踏み込まないと回答できないのを分かってて >>90 みたいな
答え方をすると「ひどいアドバイス」と言われる
95 : NAME IS - 2011/02/12(土) 22:28:50 ID:??? (+57,+29,-14)
その情報をもっと引き出す為の質問者の煽り
10年前からある手法だろ…
96 : NAME IS - 2011/02/13(日) 01:23:45 ID:??? (+50,+27,+0)
88が一番近道なのにな
99 : NAME IS - 2011/02/13(日) 08:07:19 ID:??? (-6,-30,-154)
>>98
MySQL 5.5から、サーバの設定としてdefault-character-setは使えなくなった。
代わりにcharacter-set-serverを使う。
default-character-setはMySQL 5.1の時点で非推奨パラメータになっている。

コマンドプロンプトでのmysql起動時にdefault-character-setを指定するのは
クライアント側の設定を変えるだけなので、関係ない。
100 : NAME IS - 2011/02/14(月) 10:53:52 ID:ozbtbTzR (+27,+29,-128)
WorkbenchのDataModelingでDiagramを書いているのですが、複数のテーブルを同時に開く方法はありませんか?
タブみたいになっているのに、新しいテーブルを開くと既存のタブに上書きされてしまって同時に開けません。

テーブルとレイヤーとか別の種類なら同時に開けるみたいなんですが…。
編集項目が名前と色だけのレイヤーとか開けても全然うれしくないですし、こんな糞仕様とは考えにくいのですが。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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