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

みんなの評価 :
レスフィルター : (試験中)
innodb_autoextend_incrementがinnodb_file_per_tableのときも効くなら、
大きめの値を指定しておけば実質的にファイルの断片化を気にする必要はなくなると思う。
が、対応してないんだなー
http://bugs.mysql.com/bug.php?id=31592
大きめの値を指定しておけば実質的にファイルの断片化を気にする必要はなくなると思う。
が、対応してないんだなー
http://bugs.mysql.com/bug.php?id=31592
MySQL ヤンキーDQN
PostgreSQL エリートビジネスマン
どうして差がついたのか・・・
慢心、環境の違い
PostgreSQL エリートビジネスマン
どうして差がついたのか・・・
慢心、環境の違い
それ実現するにはSTART TRANSACTION叩いた瞬間に
すべてのテーブルのすべてのレコードをロックすることになってしまうだろう
> それとも各UPDATE文が実行される時に各々取得するのでしょうか?
YES
何をやりたいかは知らんけど
START TRANSACTION WITH CONSISTENT SNAPSHOT;
を調べたら幸せになれるかも
すべてのテーブルのすべてのレコードをロックすることになってしまうだろう
> それとも各UPDATE文が実行される時に各々取得するのでしょうか?
YES
何をやりたいかは知らんけど
START TRANSACTION WITH CONSISTENT SNAPSHOT;
を調べたら幸せになれるかも
割り込まれたくないなら、最初に
SET TX_ISOLATION = 'SERIALIZABLE';
BEGIN;
SELECT * FROM t WHERE id = 1;
SELECT * FROM t WHERE id = 2;
SELECT * FROM t2 WHERE id = 1;
までやっておいて、それからUPDATEをかける
SET TX_ISOLATION = 'SERIALIZABLE';
BEGIN;
SELECT * FROM t WHERE id = 1;
SELECT * FROM t WHERE id = 2;
SELECT * FROM t2 WHERE id = 1;
までやっておいて、それからUPDATEをかける
>>60
そのトランザクションが各テーブルに最初に触るのがUPDATEの時なんだから
そこで初めてロックをかけるだけで問題ない。
仮にトランザクション開始からUPDATEまでの間に他トランザクションが
テーブルに何らかの更新を行った場合と、トランザクション開始時点から
その状態だった場合とではトランザクションの結果に差はない。
そのトランザクションが各テーブルに最初に触るのがUPDATEの時なんだから
そこで初めてロックをかけるだけで問題ない。
仮にトランザクション開始からUPDATEまでの間に他トランザクションが
テーブルに何らかの更新を行った場合と、トランザクション開始時点から
その状態だった場合とではトランザクションの結果に差はない。
失礼します。質問させてください。
Windowsのコマンドプロンプト上でjavaプログラムを実行したときMySQLの
Select文の結果が表示されるプログラムを作りたいのですがうまくいきません。
誰か教えてくれませんか?
実行例↓
C:User>java Select
+---------+-----------+
| pref_cd | pref_name |
+---------+-----------+
| 1 | 北海道 |
| 2 | 青森県 |
+---------+-----------+
Windowsのコマンドプロンプト上でjavaプログラムを実行したときMySQLの
Select文の結果が表示されるプログラムを作りたいのですがうまくいきません。
誰か教えてくれませんか?
実行例↓
C:User>java Select
+---------+-----------+
| pref_cd | pref_name |
+---------+-----------+
| 1 | 北海道 |
| 2 | 青森県 |
+---------+-----------+
同じテーブルをUNIONで結合すると、当然重複列が出来るわけですが、
それをサブクエリにしてSELECTすると重複が消える。
select * from (
select * from A where ...
union
select * from A where ...
) as u;
こんな感じにすると結果はdistinctされたように重複が消えています。
何故ですか???
それをサブクエリにしてSELECTすると重複が消える。
select * from (
select * from A where ...
union
select * from A where ...
) as u;
こんな感じにすると結果はdistinctされたように重複が消えています。
何故ですか???
それから、文字コードはUTF-8を使っています。
set names utf8;しても状況に変化はありません
set names utf8;しても状況に変化はありません
70ですが、総合よりもバージョンインディペンデントなスレに移動しました。
お騒がせしました。
お騒がせしました。
すいません、テーブルの内部結合による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を同じにするためには
どうしたら良いのでしょうか??
逆に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を同じにするためには
どうしたら良いのでしょうか??
つまりテーブルBのname_idは、AUTOINCREMENTにする必要は無い。
というか、しちゃいけないというところでしょうか。
というか、しちゃいけないというところでしょうか。
phpMyAdminで標準となっている1ページ30行の表示数を
常に100行ぐらいに変えたいんだけどどこをいじるんだ?
ローカルのphpMyAdminなのでどのファイルにでもアクセスできる。
多少スレ違いですまん。
常に100行ぐらいに変えたいんだけどどこをいじるんだ?
ローカルのphpMyAdminなのでどのファイルにでもアクセスできる。
多少スレ違いですまん。
rootユーザーのパスワードを設定しようと思い「mysqladmin -u root password 'root'」
としたのですが
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
とエラーがでてパスワードを設定できません、どうしたらいいのでしょうか・・・
としたのですが
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
とエラーがでてパスワードを設定できません、どうしたらいいのでしょうか・・・
かなり大きいテーブル3GiBほどのテーブルが壊れました。
repair table hoge
としてみたのですが
Not enough memory for blob at 3607767920 (need 1851466134)
と出て失敗します。
メモリー使用量を抑えつつ
修復する方法、オプションとかってないですか?
mysqlのバージョンは4.0.27です。
さくらのスタンダードプランのレンタル鯖です。
repair table hoge
としてみたのですが
Not enough memory for blob at 3607767920 (need 1851466134)
と出て失敗します。
メモリー使用量を抑えつつ
修復する方法、オプションとかってないですか?
mysqlのバージョンは4.0.27です。
さくらのスタンダードプランのレンタル鯖です。
質問です
パーティション切ったテーブルのパーティション名と区切り値を項目ごとにカラムで取得する方法はありますでしょうか?
show create tableで定義は確認できますが、パーティション名と値を個別で取得したいです。
パーティション切ったテーブルのパーティション名と区切り値を項目ごとにカラムで取得する方法はありますでしょうか?
show create tableで定義は確認できますが、パーティション名と値を個別で取得したいです。
>>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
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
YES
不整合は起こさないようになってる
ブログみたいに一度書いたらあとは読むだけみたいなシステム向きの機能
不整合は起こさないようになってる
ブログみたいに一度書いたらあとは読むだけみたいなシステム向きの機能
会社のWEBサービスを初めて1人で立ち上げたのですが、MySQLの知識が無くてヒヤヒヤの毎日です。
最近やっと1日のPVが30万ぐらいになったのですが、DBバックアップを全く行っていません。
ネットで調べてみるとレプリケーションという手法でデータ冗長化するのが正攻法のようです。
稼動済みのWEBサービスをレプリケーション化しても問題起きないでしょうか?
また、正しいサービスの運営の仕方としては、やはり最初からレプリケーションするべきだったのでしょうか?
現状ではサーバー費用の問題もあり、サービス開始時は1台のサーバーにApacheもMySQLも全て詰め込んでおります。
最近やっと1日のPVが30万ぐらいになったのですが、DBバックアップを全く行っていません。
ネットで調べてみるとレプリケーションという手法でデータ冗長化するのが正攻法のようです。
稼動済みのWEBサービスをレプリケーション化しても問題起きないでしょうか?
また、正しいサービスの運営の仕方としては、やはり最初からレプリケーションするべきだったのでしょうか?
現状ではサーバー費用の問題もあり、サービス開始時は1台のサーバーにApacheもMySQLも全て詰め込んでおります。
>>87
>稼動済みのWEBサービスをレプリケーション化しても問題起きないでしょうか?
事前にバイナリログの設定をしていない場合、稼動中にスレーブ追加はできない
>正しいサービスの運営の仕方としては、やはり最初からレプリケーションするべきだったのでしょうか?
サービスの規模次第
技術的に頼る人がいないなら、偉い人と調整して
・毎週日曜4時にサービス停止
・mysqldを停止してdatadirをまるごとバックアップ
・5時にサービス再開
みたいなスケジュールを組んだ方がいい
>稼動済みのWEBサービスをレプリケーション化しても問題起きないでしょうか?
事前にバイナリログの設定をしていない場合、稼動中にスレーブ追加はできない
>正しいサービスの運営の仕方としては、やはり最初からレプリケーションするべきだったのでしょうか?
サービスの規模次第
技術的に頼る人がいないなら、偉い人と調整して
・毎週日曜4時にサービス停止
・mysqldを停止してdatadirをまるごとバックアップ
・5時にサービス再開
みたいなスケジュールを組んだ方がいい
>>86
ありがとうございました
ありがとうございました
>>98
MySQL 5.5から、サーバの設定としてdefault-character-setは使えなくなった。
代わりにcharacter-set-serverを使う。
default-character-setはMySQL 5.1の時点で非推奨パラメータになっている。
コマンドプロンプトでのmysql起動時にdefault-character-setを指定するのは
クライアント側の設定を変えるだけなので、関係ない。
MySQL 5.5から、サーバの設定としてdefault-character-setは使えなくなった。
代わりにcharacter-set-serverを使う。
default-character-setはMySQL 5.1の時点で非推奨パラメータになっている。
コマンドプロンプトでのmysql起動時にdefault-character-setを指定するのは
クライアント側の設定を変えるだけなので、関係ない。
WorkbenchのDataModelingでDiagramを書いているのですが、複数のテーブルを同時に開く方法はありませんか?
タブみたいになっているのに、新しいテーブルを開くと既存のタブに上書きされてしまって同時に開けません。
テーブルとレイヤーとか別の種類なら同時に開けるみたいなんですが…。
編集項目が名前と色だけのレイヤーとか開けても全然うれしくないですし、こんな糞仕様とは考えにくいのですが。
タブみたいになっているのに、新しいテーブルを開くと既存のタブに上書きされてしまって同時に開けません。
テーブルとレイヤーとか別の種類なら同時に開けるみたいなんですが…。
編集項目が名前と色だけのレイヤーとか開けても全然うれしくないですし、こんな糞仕様とは考えにくいのですが。



類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part15 (1001) - [94%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [94%] - 2010/6/10 20:47 ○
- MySQL 総合 Part18 (986) - [94%] - 2011/1/17 15:46
- MySQL 総合 Part26 (860) - [89%] - 2023/2/2 9:30
- MySQL 総合 Part20 (995) - [89%] - 2011/10/17 4:48
- MySQL 総合 Part21 (1001) - [89%] - 2011/12/25 22:16
- MySQL 総合 Part22 (1001) - [89%] - 2012/7/10 16:45
- MySQL 総合 Part23 (992) - [89%] - 2013/8/11 17:00
- MySQL 総合 Part24 (1010) - [89%] - 2015/2/14 4:46
- MySQL 総合 Part25 (947) - [89%] - 2017/6/18 6:30
- MySQL vs PostgreSQL Part2 (941) - [31%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について