MySQL 総合 Part8

このエントリーをはてなブックマークに追加
1NAME IS NULL
快速 RDBMS、MySQL の総合スレです。
前スレ[MySQL 総合 Part7] http://pc8.2ch.net/test/read.cgi/db/1140154701/

[関連スレと過去ログ]
http://find.2ch.net/index.php?STR=MySQL
http://makimo.to/cgi-bin/search/search.cgi?D=db&q=MySQL&sf=0&link2ch=on

[MySQL Developer Zone] http://dev.mysql.com/
[MySQL 日本語リファレンスマニュアル] http://dev.mysql.com/doc/mysql/ja/
[MySQL Internals Manual] http://dev.mysql.com/doc/internals/en/

[MyNA] http://www.mysql.gr.jp/
[MLja] http://lists.mysql.com/mysql-ja

・関連ツール及びユーティリティ
・関連書籍
>>2
2NAME IS NULL:2006/05/30(火) 06:03:15 ID:???
3NAME IS NULL:2006/05/30(火) 10:23:40 ID:???
>>982

linux側からtelnet host 3306 もだめでした。
telnet: connect to address host: Connection timed out
telnet: Unable to connect to remote host: Connection timed out

my.cnf 中にはskip-networking , bind-address などはありません

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
4NAME IS NULL:2006/05/30(火) 11:28:34 ID:???
>>3
ネットワークでアクセスするのにbind-addressがないのは問題じゃないですか。
ポート指定もないみたいだし。その辺の項目を追加してやればいいのでは。
5NAME IS NULL:2006/05/30(火) 18:25:11 ID:+JwpeOWp
Mysql5.0.21+perl(DBI)で
サーバUTF8、クライアントs-jisで自動文字コード変換を利用しているのですが、
データの末端に「表」の字をINSERTしようとするとSQLエラーとなります。
データの末尾でなければ問題無くINSERTできます。

ex. DBI::st=HASH(0x86f0880)->errstr

これはどういう理由からなのでしょうか?回避策とかありますかね?

6NAME IS NULL:2006/05/30(火) 19:08:40 ID:???
selectの実行結果をファイルに書き出す方法ってありますか?
75:2006/05/30(火) 19:15:59 ID:+JwpeOWp
試しにテーブルをS-jisにして、文字コード変換しないで試しましたが、
同じように「表」の字がエラーとなりますね。
「ソ」もそうなります。
どちらも2バイト目が0x5cです

困った。。。
8NAME IS NULL:2006/05/30(火) 19:29:59 ID:???
>>6
ふつーにリダイレクトで流せばいいんじゃね?
9NAME IS NULL:2006/05/30(火) 19:31:39 ID:???
select * into outfile 'c:/temp/data.csv'
fields terminated by ',' enclosed by ''
lines terminated by '\r\n' from 〜
where 〜
10NAME IS NULL:2006/05/30(火) 19:35:26 ID:???
>>8
リダイレクト出来るの?
11NAME IS NULL:2006/05/30(火) 20:05:03 ID:???
125:2006/05/30(火) 20:07:08 ID:+JwpeOWp
調べてみたら、0x5cでperl文法中のダブルクォーテーションがエスケープされるためのようです。
あらかじめUTF8にコンバートしてやれば文法エラーでなくなりますね。


携帯電話用サイトなので、s-jisがデフォルトで、perlのコードもならべくs-jisで書きたい。
拡張領域の括@などもあるので、SQLにもそのままs-jisとして格納したい。

どなたか良い解決法をご存知の方はいらっしゃらないでしょうか?
13NAME IS NULL:2006/05/30(火) 23:11:34 ID:???
シングルクオート
use encoding
145:2006/05/30(火) 23:25:12 ID:+JwpeOWp
>>13
変数を展開しないといけないのでシングルクォートは使えません。
EncodingはJcodeとどう違うのでしょうか?
15NAME IS NULL:2006/05/30(火) 23:57:50 ID:???
mysqlをインストールしたいと思い、
tar コマンドで解凍
./configure --prefix=/usr/local/mysql --with-charset=ujis
make
make install
まで出来たのですが、データベースの初期化をしようと
cd /usr/local/mysql
./bin/mysql_install_db
としたら、
Could not find help file 'fill_help_tables.sql'
in /usr/local/share/mysql or inside /usr/local.

とでました。 ./bin/mysqld_safe & と入力しても
mysqlのサーバーも起動できませんでした。

どうしたらmysqlを起動できるでしょうか?
165:2006/05/31(水) 00:22:55 ID:QTGkxqhj
該当データにスペースを追加しても支障がないので、とりあえず、

$sjis =~ s/([\x81\x83\x84\x89-\x9F\xE0-\xEA][\x5C])$/$1 /;

として2バイト目が5Cの文字にスペースを追加してみました。

「表」だと、「表scape」として問題なくSQLに入ります。
しかし「表表」の場合、$sjisは「表表scape」になりますが、SQLには「表表\scape」と挿入されます。
「表表表」であると、「表表\表scape」となってしまいます。

scapeは半角スペースです。
益々わからなくなってきました。

17NAME IS NULL:2006/05/31(水) 00:31:22 ID:???
>>5

君のコードは根本的に間違っている。
プレースホルダを使うべし。

これ以上はPerlのスレかDBIのスレで聞きなさい。
185:2006/05/31(水) 00:39:55 ID:QTGkxqhj
>>17
プレースホルダは使ってます。
DBIスレってあるんですか。そっちでも聞いてみます。
19NAME IS NULL:2006/05/31(水) 02:57:38 ID:???
そもそもSJIS使う自体が間違い・・・・って言うと、また荒れるんだろうな。

なんで、SJIS使って、わかってる筈の0x5c問題に特攻するかなーと思ってたら、
携帯電話はSJISが多いらしいことをつい最近知った。
SJISしか通らない携帯があるので、SJISで作るのが都合いいらしい。


単にwindows使いたいだけなら逝ってヨシ
205:2006/05/31(水) 03:39:52 ID:QTGkxqhj
>>19
そうですね。PC相手なら迷わずutfで統一したいところです。

0x5cって有名な問題なんですか。。

それはともあれ、文末の0x5cはスペース入れる事で解決できましたが、
十十十十十十→十十\十十\十十\と二文字づつエスケープされるのは
DBIのバグでしょうか?
内部でどんな処理をしてるんでしょ?

DBIのスレ無い・・・(〃 ̄ω ̄〃ゞ
21NAME IS NULL:2006/05/31(水) 04:55:07 ID:???
ところでPerlって、どのバージョンからSJISで
スクリプトコードが書けるようになったの?
Perlに疎いからUTF-8だけかと思ってた。>>12
22NAME IS NULL:2006/05/31(水) 06:26:15 ID:???
>>21

すれ違いとは思うが、、、
perlでのsjis問題は解決したの?
23NAME IS NULL:2006/05/31(水) 08:28:46 ID:???
ご助力お願いします

CREATE TABLE `test` (
`grade` int(11) NOT NULL default '0',
`class` int(11) NOT NULL default '0',
`student` int(11) NOT NULL default '0',
`score` int(11) NOT NULL default '0',
PRIMARY KEY (`grade`,`class`,`student`)
) ENGINE=MyISAM DEFAULT CHARSET=cp932;

上のテーブルで

+-------+-------+---------+-------+
| grade | class | student | score |
+-------+-------+---------+-------+
| 1 | 1 | 1 | 10 |
| 1 | 1 | 2 | 76 |
| 1 | 1 | 3 | 30 |
| 1 | 1 | 4 | 87 |
| 1 | 1 | 5 | 100 |
| 1 | 2 | 1 | 74 |
| 1 | 2 | 2 | 52 |
| 1 | 2 | 3 | 61 |
| 1 | 2 | 4 | 0 |
| 1 | 2 | 5 | 48 |
+-------+-------+---------+-------+

のレコードが入っています。

ここから class ごとの最大点数を取っている student を表示させたいです。

+-------+-------+---------+-------+
| grade | class | student | max(score) |
+-------+-------+---------+-------+
| 1 | 1 | 5 | 100 |
| 1 | 2 | 1 | 74 |
+-------+-------+---------+-------+

こんな感じです

select grade, class, student, max(score)
from `test`
group by class;

すると、取得できる student が 1 になってしまいます
よろしくお願いします
24NAME IS NULL:2006/05/31(水) 08:29:19 ID:???

プレースホルダを使ってるのに >>14 って発言はありえないだろ。
まさかスクリプト中でSJISを使っているわけではあるまい?

25NAME IS NULL:2006/05/31(水) 10:17:34 ID:???
>>21
スレ違い続きでアレだけどこんな感じ
ttp://www.pure.ne.jp/~learner/program/Perl_unicode.html

use encoding 'sjis'; とか書くとSJISなソースでも動く感じ。
26NAME IS NULL:2006/05/31(水) 11:43:17 ID:???
perlの話は、mysqlには関係ないな。スレ違い。

mysqlならutf8で使えでいいとおもう。
sjis使いたいなら、sjis対応のボラクルとか買ってもらえ。
27NAME IS NULL:2006/05/31(水) 11:55:26 ID:???
まだ>>5はいるかな?

俺、携帯関連の開発してるけど、PerlやPHPやMySQL全部sjisでやってるよ

PHPの場合MySQLに入れる前に mysql_real_escape_string() をかませば万事OK
28NAME IS NULL:2006/05/31(水) 12:29:31 ID:???
INNER JOIN した時に同じフィールドがあった場合、どちらか片方の値が優先される
と思うのですが、どういった基準でどちらの値が採用されるのでしょうか?

29NAME IS NULL:2006/05/31(水) 12:38:59 ID:???
>>28
TableName.FieldName とかしないとエラー出るんじゃない?
30NAME IS NULL:2006/05/31(水) 13:12:46 ID:???
>>29
SELECT * で取ってくると、adodbの場合、ASSOCだと2つとってくるんですよね。
それで困っているんですけど、どうすればいいかさえわからず。

とりあえず、SELECT の後に欲しいフィールド名を全部書けば大丈夫なのは
確認したのですが、ちょっとアホっぽいというか…
31NAME IS NULL:2006/05/31(水) 13:24:50 ID:???
>>9,11
ありがとうございました。出来ました。
32NAME IS NULL:2006/05/31(水) 13:28:20 ID:???
まあどっちにしても俺は SELECT * って最近使わないな

設計変更でフィールド追加やフィールド名変更後もOKで柔軟に見えるけど、
実際は全てのフィールドをそのまま呼ぶことは少ないので。

テーブル名.フィールド名 で取得は冗長だけど確実
3323:2006/05/31(水) 14:27:59 ID:???
考えてくださってる方々、ありがとうございます。
一応期待した結果を得るクエリはできたのですが

select grade, test.class, student, test.score from test
inner join (
select class,max(score) as score from test
group by class) as max_data
using(class,score)

インデックスが使えないため行数が増えるとやばそうな感じがします。
インデックスを使って解決できる素敵なクエリがありましたら、
よろしくお願いします。
34NAME IS NULL:2006/05/31(水) 14:53:59 ID:Ow+BXBzw
再び。ませんです。
RH9 へ 4.1.15を RPMで入れると出来ていた mysqlコンソールからの直接日本語入力が、
同じバージョンをソースからBuildすると出来なくなります。
コンパイルオプション?回避策があればご教授をお願いします。
3523:2006/05/31(水) 14:57:03 ID:???
>>34
RPMのコンパイルオプション見てみればいいんじゃね?
36NAME IS NULL:2006/05/31(水) 15:23:32 ID:Ow+BXBzw
>> 35
おお確かに。--without-readline でした。ども!
375:2006/05/31(水) 16:08:05 ID:QTGkxqhj
>>21
CGIとしてなら少なくとも5年前ぐらいからは既にSjisでコーディングできましたよ。

>>24
スクリプト中でsjisを使ってるとは?
全部sjisでコーディングしてます。
そのほうが楽なので。

>>26
Mysqlが問題というよりはperl+DBIがSjisで問題あるんだと思います。
ならperlスレやDBIスレで聞けという事なんでしょうが、まともなperlスレがないので
ここで聞かせてもらってます。。同じくSjisでやってる人いませんかねぇ。。
一応MySQL+DBI+Perlなのでお邪魔させてください<(_ _)>

>>27
PHPは関数多くていいですねぇ。DBとの相性はPHPの方がよさそうですね。


2chのスクリプトはs-jisで書いてないのかな?どうなんだろ。
まぁDBは使ってないだろうけど。
38NAME IS NULL:2006/05/31(水) 17:09:27 ID:???
もの凄いKENT臭がするけど

>>37
DBIとMySQLに関係はないのでスレ違いです。
ム板かWebProg板でどうぞ。まともなスレです。
395:2006/05/31(水) 18:18:50 ID:QTGkxqhj
>>38
うーん・・(〃 ̄ω ̄〃ゞスレ違いといえばそうなんでしょうが、、
perlスレ行ってもDBIはスレ違いとか、DB板に行けとか言われそうだし、、
困ったちゃん。一番知ってる人多そうなのはやっぱDB板の住人かなぁ

>>27
見落としてましたが、perlでも開発されてるんですね。どう回避されてます?
40NAME IS NULL:2006/05/31(水) 18:57:28 ID:???
>>32
なるほど。
実際に仕事でやっている人が言うなら多分そっちの方がいいんでしょうね。
全部書き出してやることにします。

ありがとうございました。
41NAME IS NULL:2006/05/31(水) 19:28:56 ID:???
max(point) AS max
とか書くと、
東MAX を思い出してしまう
42NAME IS NULL:2006/05/31(水) 21:45:02 ID:???
JDBCの中の人いらっしゃいましたら、お願いします。

prepStmtCacheSize=4096
prepStmtCacheSqlLimit=4096

としているのですが、
サーバサイドPreparedStatementを使ってくれないクエリがあります。

使ってくれないと判断したのは、
--log にてクエリログをとった時
Execute ではなく
Query と表示(JDBC側でPreparedされてる?)されているからです。

この時、にサーバサイドで行われる規則性があれば
ご教示お願いします。
43NAME IS NULL:2006/05/31(水) 22:16:02 ID:???
>>37
少なくともうちではshift_jis(正確にはcp932)の文字列入れても問題なく動いてるので
君のコードが悪いと思うよ。

これ以上は教えてgooとかはてなとか答えてくれそうなとこに行けば?
44NAME IS NULL:2006/05/31(水) 23:40:00 ID:QTGkxqhj
>>43
問題なく動いてるという事は前述の事柄が発生しないって事なんだろうか?
「十十十十」を入れても問題ない?\入らない?
せめてもう少し詳しく・・・
45NAME IS NULL:2006/06/01(木) 00:05:41 ID:???
shiftjisスレ作って、そっち行った方がいいんじゃないか?
465:2006/06/01(木) 01:08:43 ID:QbpA5RC0
>>45
糞スレ立てるな言われそうだしなぁ。

うーん・・(〃 ̄ω ̄〃ゞ

一応perlをutf8で書いてみましたが、DBIに渡す文字コードがSjisなら
同じ結果となりました。
俺のコードがうんぬんという意見がありますが、そんな問題ではないです
placeholderの使い方ぐらいはわかってます。。( ̄ー ̄;
475:2006/06/01(木) 01:30:13 ID:QbpA5RC0
考えた結果、utf8でいきます。
絵文字と機種依存文字は事前にマッピングしなきゃいけないが。。かなり面倒(-o-;

スレ違い失礼しました。<(_ _)>
48NAME IS NULL:2006/06/01(木) 14:31:38 ID:rhh4Lyou
MySQL5.0で直接言語ではなくホスト言語で作ったデータベースを編集(更新)するにはどうすればいいですか?
いま、データベースを作りテーブルもつくりました。
そこで、ホスト言語(C言語)でその作ったデータベースを編集(更新)しようと思うのですが、
main()
{
EXEC SQL BEGIN DECLARE SECTION;
     :
     :
     :
と、「.c」で保存したc言語のソースファイルがあります。
でも、作ったのはいいが、どうすればデータベースを
編集(更新)できるかわかりません。
コンパイルってどうやるの?詳しく教えて。
49NAME IS NULL:2006/06/01(木) 15:02:41 ID:Pm26ePI7
>> 48
コンパイルしてもないのに作ったつもりになるなよな。
mysqlのライブラリやヘッダ使って gcc とか vc とかでコンパイルしてみたらどう?
っていうか、Halo World 組んだことあんのか?
50NAME IS NULL:2006/06/01(木) 16:08:16 ID:OrA/J7SJ
>>48
ゆんゆんゆん ゆんゆんゆん ゆいまーる
ゆんゆんゆん ゆんゆんゆん ゆいまーる
51NAME IS NULL:2006/06/01(木) 17:57:31 ID:???
Connecter/J を 3.1.13にしてから

java.sql.SQLException: No operations allowed after statement closed.
が出てしまい、データの取得ができません。

3.1.12では正常に使えます。

環境は
Windows XP sp2
4.1.20-community-nt-log
Tomcat 5.0.28
commons-pool-1.2
j2sdk1.4.2_11
です。同様の現象が再現する方いらっしゃいませんか?
52NAME IS NULL:2006/06/01(木) 18:08:14 ID:???
基本的な質問なのですが、100万件のデータを更新するには、
100万回のUPDATEのSQLを発行する以外に方法はないのですか?
53NAME IS NULL:2006/06/01(木) 18:10:48 ID:???
mysqlのインストールについてですが、データベースの初期化が終わって
./bin/mysqld_safe &
と入力してサーバーを起動させようとしたのですが、

Starting mysqld daemon with databases from /usr/local/var
STOPPING server from pid file /usr/local/var/linux.pid
060601 18:06:33 mysqld ended

と出てしまいました。
どうしたらmysqlを起動させることができるでしょうか?

環境は、
linux
mysql-5.0.22
php-5.1.4
apache2です
54NAME IS NULL:2006/06/01(木) 18:17:39 ID:???
>>52
update table_name set column_name=hoge
これで100万行更新してください。

>>53
エラーログ
55NAME IS NULL:2006/06/01(木) 18:26:22 ID:???
追加
http://www.mysql.gr.jp/mysqlml/mysql/msg/12382

さらに
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
56NAME IS NULL:2006/06/01(木) 18:50:57 ID:???
>>54
> update table_name set column_name=hoge
> これで100万行更新してください。

やはりそれで100万行更新するしかないですか。

あとは、プリペアードステートメント?を使ったりして少し早くするしかない
ですよね。
57NAME IS NULL:2006/06/01(木) 18:54:12 ID:???
>>56
モノによる。
情報小出しにしないでくれよ
58NAME IS NULL:2006/06/01(木) 19:08:51 ID:???
>>56
それはupdate内容にもよるし、しっかりSQLの基礎で勉強してください
5956:2006/06/01(木) 19:18:50 ID:???
ランキングを付けるSQLを書いています
以下のような場合です。

$sql = "SELECT rank_id,point FROM rate_table";
$points = $DB->getAll($sql); //100万件あるとする

foreach ($points as $point) {
$sql = "SELECT COUNT(*)+1 FROM rate_table WHERE rate_point > $points['point']";
$result = $DB->GetRow($sql);
$sql = "UPDATE ranking SET ranking = $result[0] WHERE rank_id = $points['rank_id']";
$DB->execute($sql);
}

60NAME IS NULL:2006/06/01(木) 19:38:47 ID:???
出してもらって悪いが何をしたくてこの処理をしているのか
さっぱりわからん
61NAME IS NULL:2006/06/01(木) 19:44:42 ID:???
ひどい処理だな。設計から見直すのが正解じゃないの?
6256:2006/06/01(木) 19:47:02 ID:???
投票システムを作っています。
テーマに対して、ユーザさんが意見を書き、それに多数のユーザさんが点数
をつけます。

rate_table は、採点された点数が入っています。
primary keyが rank_idで点数が pointです。

rate_table から 点数を持ってきて、その点数順に順位をつけるということを
したくて >>59 のような処理を現在しています。

順位は、rankingテーブルのrankingフィールドに入ります。

以上でわかりますでしょうか?


63NAME IS NULL:2006/06/01(木) 19:51:31 ID:???
点数でorder して join すればいいんじゃね?
6456:2006/06/01(木) 19:52:50 ID:???
>>61
ひどい処理だろうとは思うのですが、どうすれば良くなるのかもわからないの
です。
自力でやるしかしょうがないので、とりあえず、自分のわかる方法で実装した
のですが、うーん、やっぱりこのまま全てUPDATEをするしかないのか...
6556:2006/06/01(木) 19:57:41 ID:???
>>63
点数でorder すると同一の点数の場合、同一の順位にならないような気がする
のですが

joinはちょっと勉強してきます。
66NAME IS NULL:2006/06/01(木) 20:01:07 ID:???
>>65
プログラム側で何とかすればいいじゃん
67NAME IS NULL:2006/06/01(木) 20:59:34 ID:???
プログラム側でなんかするなら
> $points = $DB->getAll($sql); //100万件あるとする
このあたりもなんかしておくれ。
68NAME IS NULL:2006/06/01(木) 21:20:33 ID:???
order by 順位 で limit つければおk
6953:2006/06/01(木) 21:25:51 ID:???
>>54
060601 21:15:58 mysqld started
060601 21:15:58 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
060601 21:15:58 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 36808.
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
060601 21:15:58 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
060601 21:15:59 InnoDB: Started; log sequence number 0 43655
060601 21:15:59 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
060601 21:15:59 mysqld ended
というエラーがありました。

>>55
ググってもなかなか解決策がみつからなかったので・・・。
70NAME IS NULL:2006/06/01(木) 21:35:29 ID:???
>>69
ためしにぐぐって見つけたサイトと、
検索フレーズ教えてよ。
7153:2006/06/01(木) 21:52:06 ID:???
>>70
検索ワードは「mysql エラー 起動」です。

出てきたサイトは
ttp://dev.mysql.com/doc/refman/4.1/ja/using-log-files.html
ttp://www.mysql.gr.jp/mysqlml/mysql/msg/3533
などです。見つけたサイトに書いてあることを試してみたのですが、
問題の解決は出来ませんでした。
72NAME IS NULL:2006/06/01(木) 22:14:08 ID:OrA/J7SJ
>>71
mysqlの公式ドキュメントでも解決不能なら、ここではどうしようもないよw
73NAME IS NULL:2006/06/01(木) 22:26:39 ID:???
>>69
MySQLのインストールディレクトリ/dataにある
ib_logfile0とかib_logfile1、および
データファイル(ibdata1とか)を削除してみたらどう?
ただしこれやると今までのデータは復元できないので自己責任で
7453:2006/06/01(木) 22:31:09 ID:???
>>72
そうですね・・・。何度も読み直して挑戦してみたのですが・・・

>>73
一か八かやってみます。

みなさんの意見ありがとうございます。
75NAME IS NULL:2006/06/01(木) 22:40:06 ID:???
>>74
データディレクトリの中身削除して、
ちゃんとパーミッション確認して
mysql_install_db --user=mysql すりゃ直るよ
だが、君は開発に向いていないからやめたほうがいい。
76NAME IS NULL:2006/06/01(木) 22:50:12 ID:???
>>47
あー、すまん。問題ないのはcharsetがutf8じゃなくてcp932になってた。
utf8にしたくないならcp932で登録しておけばいいんじゃないの?

ってか、絵文字を入れるんならutf8にするのもまずいんじゃないかな。
binary型にしといたほうがいいかもね。

あと、多分調子が悪いのはMySQLのcp932およびsjisの変換周りっぽいので
レポート出しておいてね〜。
#LIKEで半角カナがマッチしないのも同根かもね。
77NAME IS NULL:2006/06/02(金) 01:02:52 ID:???
SJISの仕組み知ってれば、半角かながまともに使える訳が無いって理解できるはずだけどね。


エラーログ見て理解できないようならアクセスでも使っとけ。
おまいにデータベースは無理。
78NAME IS NULL:2006/06/02(金) 01:16:34 ID:???
就職して初の仕事でmysql使わされたのか、初歩的な質問増えてるなー

>>56
更新せずに実現する方法もある。

>>69
ログに答えが書いてある
79NAME IS NULL:2006/06/02(金) 02:37:00 ID:???
>>69
chownは終わってる?
80237:2006/06/02(金) 09:03:10 ID:58T5JMzZ
>>76
utf8にしてうまくいきました。
絵文字はあらかじめ_16進_のように退避させてから、変換してます。
最初からこうすれば良かったです。。
それにしてもEncodeモジュールインストしてなかったんですが、めちゃ便利ですね。
IBM外字に気を使わなくてよくなりました。

十十十十 → 十十\十十\ はどうもDBIの問題のようです。
8156:2006/06/02(金) 09:33:02 ID:???
>>66
そのなんとかのイメージも掴めないのです...Hintだけでもよいので

とりあえず、order by で取ってきて配列につっこんでそこから順位を
プログラム側で決めて、それをUPDATEするという所まではわかるのですが、
やっぱり100万件あったら100万回UPDATEするところは、変わらずのような...

>>67
なんかするというと?? 全部取り出す以外に方法はあるのでしょうか?

>>68
limitつけたら全部の順位がつけられない...
と思ったところよく考えたらページに表示する分だけLIMITかければいいんですね。
と思ったけど、でもテーブルに順位を保存する仕様(これが間違っているのかな)
なので結局UPDATEしなきゃなのでダメか...


82NAME IS NULL:2006/06/02(金) 09:41:59 ID:???
>>81
あなたはとりあえず、100万回のクエリ発行でもいいから
効率より まずは動く物を作るべきですね。

それからチューニング作業を経て、テクニックを憶えてください。
83NAME IS NULL:2006/06/02(金) 10:20:42 ID:???
>>81
おはよう。
`ranking を update して順位をつけよう`なんて発想は捨ててくれ。
順位専用のテーブルを作って、そこから表示する部分の順位とを取得する。

rank | rank_id
----+------
1     | aaa
2     | bbb

こんな風に。

そしたら
ranking テーブルには rank_id の詳細データが入ってるようだから
join してやればいい。
using(rank_id) でね。
ranking テーブルはリネームしたほうがいいね。順位テーブルと似てて嫌だから。

select ranking.*, rank
from (
    select rank_id,rank from 順位 order by rank limit 0, 2) as rank
inner join ranking
using(rank_id)

みたいな感じかな
84NAME IS NULL:2006/06/02(金) 10:52:21 ID:???
>>80
たぶんDBIが問題じゃない。
$dbh->quote( $str )
でエスケープして送信してるわけだが、そこでは例えば
十\十\十\十\
という感じでエスケープがなされる。にもかかわらず
十十\十十\
となるのは何らかの不具合があると思われる。
85NAME IS NULL:2006/06/02(金) 11:21:14 ID:???
いい加減、DBIはmysqlに関係無いからスレ違い。
言語板プログラム板逝けや。
86237:2006/06/02(金) 11:59:50 ID:58T5JMzZ
>>85
そんなすれ違いに敏感にならんでも。
ひょっとしたらMySQL側の問題かも知れないでしょ。
俺はDBIの問題じゃないかと思ってるけど、そうじゃないって意見もあるわけで。
そもそもこのスレってMySQLに本当に特有の質問自体が少ないんだからさぁ。
87NAME IS NULL:2006/06/02(金) 14:20:29 ID:l1QesHU7

ランク・リミット(0,2)が怪しい
8856:2006/06/02(金) 15:17:00 ID:???
>>82
とりあえず実装済みでバグがありながらも動作はしている状況です。
>>83
おはようございます。
親切にありがとうございます。

はじめはsub queryを利用していたのですが、MySQL 3.x環境で動かなかったので
元のサンプルでは、SELECT -> UPDATE と二度にわけてあります。

ちょっと内容理解するのに時間がかかりそうなので、とりあえずお礼まで。
89NAME IS NULL:2006/06/02(金) 16:50:33 ID:???
Perl厨キモイ
90NAME IS NULL:2006/06/02(金) 17:25:35 ID:IiSaL6i2
自治厨ウザイ
これもまた真実
91NAME IS NULL:2006/06/02(金) 17:31:14 ID:???
テンプレに文字化けに関してのなんかつければいいんだけどね
http://www.mysql.gr.jp/mysqlml/mysql/msg/11618
この辺とか。
perl 使ったことないけど、実際やってることは同じなんでしょ?
92NAME IS NULL:2006/06/02(金) 18:28:36 ID:???
DBIなのかmysqlなのかの切り分けも出来ずに、このスレでグダグダ続けられてもねえ。
だからperl廚はレベルが低い。
93NAME IS NULL:2006/06/02(金) 18:43:42 ID:2UWhJ5M+
sjis漢字2バイト目の '5C' 問題って、default-character-set=sjis
で解決だろ。さようなら。もうここへ来るな。
94NAME IS NULL:2006/06/02(金) 19:13:21 ID:???
JDBCではスレ違いという話は出なかったのに、
Perl-DBIでは拒否反応というのは、いかがなものだろうか。
95NAME IS NULL:2006/06/02(金) 19:36:33 ID:???
文字化けしてる人って>>93やってないの?
96237:2006/06/02(金) 19:56:51 ID:58T5JMzZ
>>92
切り分けしてくれよ。どっちだ?
>>93
もちろんそんなレベルの話じゃない。想像だけで勝手に解決するな。

さっきも言ったがMySQL特有の質問なんて皆無だろ。ここ。
そういう狭い考え方をすればここの全レスがスレ違いみたいなもんだ。
単純なSQL文に関する質問も他に行けという事になる。
模範問答でもあればなんか示して欲しいもんだ。

俺はもう解決したからこの問題はどうでもいいんだが、何かに資するかもしれないと思ってレスしてるだけ。
スレ違いスレ違いと馬鹿の一つ覚えで叫んでる輩こそ無益だろ。

そんなにスレ消費が問題か?うざいなら虫籠にでも入れたらいい。

ま、俺はここにはもう来ねぇけど。ばいばい
97NAME IS NULL:2006/06/02(金) 20:58:40 ID:???
JDBCにしろDBIにしろ文字化け関連のは検索すれば
そこらじゅうに情報が転がってるからうざい。
稀有な情報のは探してもないんだから。
>>42とか>>53みたいに・・・
9897:2006/06/02(金) 20:59:41 ID:???
ミス
>>53>>51
99NAME IS NULL:2006/06/02(金) 21:09:45 ID:0f1YUdA4
バカをあんまり刺激しないようにしようよ。
100NAME IS NULL:2006/06/02(金) 23:04:21 ID:???
荒れてるようですが…
MySQL 4.1.16 OS:XP

double(5,4) unsignedで取ってるwrate というカラムに以下のSQLを
行ったんですが、
update xxx
set wrate=500.0000
where pkey= yyyy(プライマリキー)

Rows matched:1 Changed: 0 Warnings:1
となっています。このWarningを見るにはどうしたら良いんでしょうか。
101NAME IS NULL:2006/06/02(金) 23:47:02 ID:???
>>100
show warnings;
でいけるよ。
102NAME IS NULL:2006/06/02(金) 23:56:48 ID:???
結論:やっぱりS-JISは使わないほうがいい。
103NAME IS NULL:2006/06/02(金) 23:58:31 ID:???
>>101
アリガトです。見れました。んで、教えてください(^^;Warnigsには
code Message
1264 Data truncated; out of range for column 'wrate' at row 1
となっています。は、データが切り詰められてしまった?様なんですが、これはどうして?
桁は double(5,4) で取ってあるからOKだと思ってたんですけど。
104sage:2006/06/03(土) 00:53:39 ID:JoDCjUKp
こんな感じだから日本語環境いつまでたってもよくならないんだろうね
自治厨うざい
105NAME IS NULL:2006/06/03(土) 01:21:45 ID:???
まったくだ。プログラム言語は何時になったら
日本語の問題が解消するのやら...
106NAME IS NULL:2006/06/03(土) 02:08:44 ID:???
>103
 decimal(5,4) なら、「全体で5桁、うち小数点以下4桁」だぞ。
 足りなくて当然だろう。
107NAME IS NULL:2006/06/03(土) 07:49:48 ID:???
>>106
そういう事だったんんですか、、、、、、なるほど。有難うございます〜 m(__)m。
108NAME IS NULL:2006/06/03(土) 20:59:25 ID:???
>>80,84
やっぱりバグだったんじゃね?
ttp://dev.mysql.com/doc/refman/5.0/en/news-5-0-22.html

Perlはスレ違いとか言われても、
DBD::mysqlについては本家でもちゃんとバグレポ受け付けてるしなぁ。
109NAME IS NULL:2006/06/03(土) 21:36:49 ID:???
>>108
提示されたページにはそれ系のことは書かれていないよ?
110NAME IS NULL:2006/06/03(土) 22:29:00 ID:???
ん?
ちゃんと読んでないけど、バックスラッシュとSJIS、BIG5、GBKで問題がある
(SQLインジェクションが起こる)
みたいな記述があったからそれ系の話なんじゃないの?

MySQLのサイトは文字が小さいからちゃんと読みたくないんよ……
111NAME IS NULL:2006/06/03(土) 23:35:25 ID:???
バックスラッシュの処理を利用してSQLインジェクションを起こす事ができる
バックスラッシュの変換処理(エスケープシーケンス処理)結果がおかしい

別の話に見えるが。

そもそも、問題がおきやすいSJISを使わない方が良い というなら間違ってないが。
112NAME IS NULL:2006/06/04(日) 03:24:10 ID:???
問題がおきやすいWindowsを使わない方が良い というなら間違ってないが。
113NAME IS NULL:2006/06/04(日) 04:20:33 ID:esQ+h+P5
id | name | value
----+-----+-----+
1 | aaa | 100
2 | bbb | 420
2 | bbb | 310
2 | bbb | 270
1 | aaa | 111
1 | aaa | 150
1 | aaa | 220
3 | ccc | 120
1 | aaa | 200

という感じで。
複数テーブルではなく、1つのテーブル内の同じnameデータ(valueは、値が違います)
にaaa=1、bbb=2、ccc=3というようにindexを付け足す事は可能でしょうか。

nameフィールドにindex(または、キー)を付ければいいのでしょうか。

お願いします
114NAME IS NULL:2006/06/04(日) 05:45:30 ID:???
jdbcはutf前提だから、同じutf前提のmysqlときり分けがしやすい。
mysqlはutf以外受付なくすればいいよ。そうすれば文字コード問題は解決。
sjis使いたければ、金取ってしっかりケツ持ちしてくれるボラクル使えってことで。

中途半端にsjisサポートするから文字化けも避けられないし、perl廚にmysqlに対してぐだぐだ言われる隙を与えることになる。
115NAME IS NULL:2006/06/04(日) 05:52:54 ID:???
>>113
> にaaa=1、bbb=2、ccc=3というようにindexを付け足す事は可能でしょうか。

id項がそれではないんですか? id に index付ければ完了です。

加えて、このテーブルは正規化すべきです。
116NAME IS NULL:2006/06/04(日) 08:37:54 ID:???
sjisというかcp932が最悪
117NAME IS NULL:2006/06/04(日) 09:33:57 ID:???
Perl厨というよりSJIS厨じゃね?
PerlもUTF-8メインになりつつあるのにこれじゃあね。
118NAME IS NULL:2006/06/04(日) 13:59:57 ID:esQ+h+P5
>>115
ありがとうございます。
説明不足で申し訳ありませんでした。

id | name | value
----+-----+-----+
1 | aaa | 100
2 | bbb | 420
2 | bbb | 310
2 | bbb | 270
1 | aaa | 111
1 | aaa | 150
1 | aaa | 220
3 | ccc | 120
1 | aaa | 200

で、IDに1つ1つ「aaaは、1」「bbbは、2」と作っていく事は出来るのですが。
auto_incrementで行いますと。

id | name | value
----+-----+-----+
1 | aaa | 100
2 | bbb | 420
3 | bbb | 310
4 | bbb | 270
5 | aaa | 111
6 | aaa | 150
7 | aaa | 220
8 | ccc | 120
9 | aaa | 200

と、なってしまいます。
「aaaは1、bbbは2、cccは3・・・・」という無数のnameに重複させず割りあてするのは、1つの
テーブルの場合は無理なのでしょうか。

aaaテーブル、bbbテーブルと作るしかないのでしょうか。
119NAME IS NULL:2006/06/04(日) 14:26:55 ID:???
id | name
---+-----
1 | aaa
2 | bbb
3 | ccc

というテーブルと、

id | value
---+---
1 | 100
2 | 420
2 | 310
2 | 270

みたいなテーブルに分けるのが常道かと…
120NAME IS NULL:2006/06/04(日) 14:37:30 ID:???
mysql以前にこのへん

http://pc8.2ch.net/test/read.cgi/db/1116097001/l50
頼むから正規化しろよ 第二正規形
http://pc8.2ch.net/test/read.cgi/db/1069324950/l50
【恐怖】主キーがないテーブルみたことありますか?
121NAME IS NULL:2006/06/04(日) 14:52:02 ID:???
>>118
最初より多少は分かったけど、まだ説明が不足してます。

>…と作っていく事は出来るのですが。
は、そういうコードが作れるという意味ですか?  それであれば
この時点で完成なのに、なぜわざわざauto_incrementを付けたのですか?

ユニーク番号を付けたいとすれば、id項目とは別の項目を追加して
auto_incrementつければ良いですし。
122NAME IS NULL:2006/06/04(日) 15:21:44 ID:???
>>119
>>120
>>121
お返事ありがとうございます。正規化ありがとうございます。
うまくできるようになりました。

>auto_incrementを付けたのですか?

わたしの勘違いミスでした、申し訳ありません。
123NAME IS NULL:2006/06/04(日) 17:22:11 ID:???
昨日、MySQLダウソしたんですが、コマンドプロンプトでいじってると入力ミスしたときのピープー音が半端なく五月蝿いです
皆さんこれは仕方ないことなんでしょうか?
設定で変えられたりします?
もしできたら教えてくださいませ
124NAME IS NULL:2006/06/04(日) 17:27:34 ID:???
>>123
↓を見て対応してごらん。
http://www.mysql.gr.jp/mysqlml/mysql/msg/5995
125NAME IS NULL:2006/06/04(日) 17:31:14 ID:???
beep音自体を無効にする

コンパネからシステム、デバイスマネージャ

表示->非表示デバイスの表示 (普通では表示されないため)

プラグアンドプレイではないドライバ (まぁ、そういうことだ)

Beep このデバイスを使わない (これっきゃねーな)

ウマー
126NAME IS NULL:2006/06/04(日) 17:33:57 ID:???
>>123が本当に教えてもらうべきなのは
検索方法だと思う・・・・
127NAME IS NULL:2006/06/04(日) 18:49:09 ID:???
>>123
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
128NAME IS NULL:2006/06/04(日) 19:53:03 ID:???
>>127
しばいたろか!!
ググるのはパンピーの仕事だ!!
129NAME IS NULL:2006/06/04(日) 21:06:18 ID:7hrqK74/
誕生日を入れているカラムから年齢を求める自己関数って作れます?
今はアプリ側でやってるんですが

130NAME IS NULL:2006/06/04(日) 21:32:28 ID:???
>>128
君の仕事は?
131123:2006/06/04(日) 22:31:07 ID:???
>>124-125さん
ありがとうございます
>>128
市ね
132NAME IS NULL:2006/06/04(日) 22:59:19 ID:???
すみません、質問させてください。

MySQLの起動ができずに悩んでいます。

環境は、OS:Fedora core 5 ppc MySQL:4.0.25 (Vineから拾ってきたrpm)です。
入れた rpm は、devel client server shared です。

rpmインストール前に、バイナリパッケージからインストールしようとしたのですが、
どうしても./configure の途中でコケてしまうので、Vineのppc対応rpmを拾って
インストールしたのですが、起動できなくて悩んでいます。

エラー文は以下の通りです。

/var/lib/mysql/hogehoge.err の中身

060604 11:28:12 mysqld started
Fatal error: Can't change to run as user 'mysql'. Please check that the user exists!
060604 11:28:12 Aborting

060604 11:28:12 /usr/sbin/mysqld: Shutdown Complete

060604 11:28:12 mysqld ended

mysql ユーザーがいないと言われても、rpm からインストールしたので自動作成されている
はずですし、実際 useradd mysql とやると既に存在しますと怒られます。


mysql_install_db とやって初期化しようとすると以下の様なエラーがでます。

Neither host 'hogehoge' nor 'localhost' could not be looked up with
/usr/bin/resolveip
Please configure the 'hostname' command to return a correct hostname.
If you want to solve this at a later stage, restart this script with
the --force option

ググってみると、
ttp://nekomimists.ddo.jp/~tom/mysql_install.html
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1261081
ttp://www.atmora.jp/user/manual/vps/st/vps_ug_1301.html
と、同じような現象だったので同じように hostname したり、/etc/hosts に
127.0.0.1 hogehoge localhost.localdomain localhost
としてみたり、やったのですがダメでした。

対応として、まず何をすればよいでしょうか?
アドバイスいただける方、宜しくお願い致します。

※ちなみに、Fedora 標準の MySQL-5.0.18-2.1 でも試して見ましたが、同じエラーで起動できませんでした。
133NAME IS NULL:2006/06/04(日) 23:50:07 ID:???
mysql っていうユーザ居るよね?
134NAME IS NULL:2006/06/04(日) 23:50:52 ID:???
すまん、読み飛ばしてた。
居るのね。
135NAME IS NULL:2006/06/04(日) 23:54:23 ID:???
>>124-125
スピーカーのケーブル引っこ抜くのを忘れてる
136NAME IS NULL:2006/06/05(月) 00:00:19 ID:???
myuserとmyadminで別けたほうがいいよ。
orauserとoraadmin見たいなノリで。
137NAME IS NULL:2006/06/05(月) 00:00:49 ID:???
mysql_install_db --user=mysql --force option
ってやるとどうなるの?
138132:2006/06/05(月) 00:33:39 ID:???
>>136
有り難う御座います。
え〜っと・・・、具体的には何をしたらいいのでしょう・・・?
ユーザーを myuser で、グループをmyadmin にするということでしょうか?

>>137
有り難う御座います。
さっそくやってみました。

Fatal error: Can't change to run as user 'mysql'. Please check that the user exists!
060604 14:46:38 Aborting

060604 14:46:38 /usr/sbin/mysqld: Shutdown Complete

Installation of grant tables failed!

Examine the logs in /var/lib/mysql for more information.
You can also try to start the mysqld daemon with:
/usr/sbin/mysqld --skip-grant &
You can use the command line tool
/usr/bin/mysql to connect to the mysql
database and look at the grant tables:

shell> /usr/bin/mysql -u root mysql
mysql> show tables

Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /var/lib/mysql that may be helpful.

The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/bin/mysqlbug script!

相変わらず『mysql ユーザーがいまへんがな〜』と言われるだけです。
しかも、hogehoge.err の中に何も書いていってくれないという不親切ぷり・・・。

もうちょっと色々と試行錯誤してみます。
139NAME IS NULL:2006/06/05(月) 02:12:10 ID:???
>>138
変な設定の/etc/my.cnfが残ってるってことはないかな?
140NAME IS NULL:2006/06/05(月) 07:36:36 ID:???
最近よく見かける偉人 ググレカス [ Gugurecus ] は、
何を成し遂げた人物なんですか?
141NAME IS NULL:2006/06/05(月) 08:05:08 ID:???
釣りだろうけど、わろた。
142132:2006/06/05(月) 09:14:51 ID:???
>>139
my.cnf がないことを確認してインストールしたのですが、やはりダメでした。

試しにと思って、my.cnf を作った状態でインストールを試みたのですが、結果は同じでした。

ん〜、もういっかいバイナリパッケージからのインストールをやってみようかな・・・
143NAME IS NULL:2006/06/05(月) 10:28:27 ID:???
configureオプションでも晒したら?
144132:2006/06/05(月) 10:52:51 ID:???
>>143
バイナリパッケージからインストールしようとした時のオプションは、こんな感じです。

./configure \
--with-charset=ujis \
--with-extra-charsets=all \
--with-mysqld-user=mysql \
--prefix=/usr/local/mysql \
--with-unix-socket-path=/var/run/mysql/mysql.sock \
--without-debug \
--without-bench

で、肝心のエラーなのですが、現在問題の切り分け・原因箇所の特定の為に
yum upgrade 前 の MySQL 5
yum upgrade 前 の MySQL 4.0



yum upgrade 後 の MySQL 5
yum upgrade 後 の MySQL 4.0

の検証比較、をしようとOSごと再インストール中です。

とりあえず rpm でこれらの検証をして、それでもダメならまたバイナリパッケージからの
インストールに手を出そうかと思います。

※Fedora core 5 ppc じゃなくて、Vine 3.1 ppc に変えてみようかとも検討中だったり・・・ 軽くなりそうだし・・・
145132:2006/06/05(月) 14:49:47 ID:???
経過報告です。

とりあえず、簡潔に。

yum upgrade 前 の MySQL 5  動いた
yum upgrade 前 の MySQL 4.0 ダメ

yum upgrade 後 の MySQL 5  動いた (前は動かなかったのに・・・)
yum upgrade 後 の MySQL 4.0 ダメ

でした。

5 の方の rpm インストール時に、perl-DBD-MySQLを依存性で一緒に入れさせられた(libmysqlclient.soの影響)ので、
これかなと思い、4.0 の方にも必要かとVine から perl-DBD-MySQL を拾ってきて入れたのですが、やはり動いてくれませんでした。

もう、バイナリパッケージからインストールで頑張ります。
146NAME IS NULL:2006/06/05(月) 15:01:23 ID:???
PPC版か。
俺もUbuntuのPPC版でいろいろやってみたけど、同じ症状でどうしても動かなかった。
結局、MacOSXに戻してそれっきり・・・
動いたらやり方を教えて!
147NAME IS NULL:2006/06/05(月) 16:12:48 ID:???
OSXなら鯖版買えばMySQL入ってるよ。
ttp://www.apple.com/jp/server/macosx/features/webhosting.html
148132:2006/06/05(月) 16:31:49 ID:???
>>146
残念ながら、未だ動くに至っておりません。

>>144で書いた ./configure でやったのですが、以下の様なエラーが出てしまい止まります。

NOTE: This is a MySQL binary distribution. It's ready to run, you don't
need to configure it!

To help you a bit, I am now going to create the needed MySQL databases
and start the MySQL server for you. If you run into any trouble, please
consult the MySQL manual, that you can find in the Docs directory.

Preparing db table
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
060605 6:58:45 ./bin/mysqld: Shutdown Complete


To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h chapa-penguin-i password 'new-password'
See the manual for more instructions.

You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the ./bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

Starting the mysqld server. You can test that it is up and running
with the command:
./bin/mysqladmin version
[root@chapa-penguin-i mysql-standard-4.0.27-unknown-linux-gnu-powerpc-glibc23]# Starting mysqld daemon with databases from /usr/local/src/mysql-standard-4.0.27-unknown-linux-gnu-powerpc-glibc23/data
STOPPING server from pid file /usr/local/src/mysql-standard-4.0.27-unknown-linux-gnu-powerpc-glibc23/data/chapa-penguin-i.pid
060605 06:58:45 mysqld ended

もうちょっと色々やってみます。

>>147
いや〜・・・ Mac は Mac なんですけど、G3世代の iBook なんですよ。
750CXe の 400MHz にそんな高級なもんを入れるのは酷かと・・・w
149NAME IS NULL:2006/06/05(月) 17:42:59 ID:???
増設しているメモリをはずしても症状は同じですか?
150132:2006/06/05(月) 18:02:10 ID:???
>>149
標準の 128 + 増設の 512 というメモリ構成だったので外してみましたがダメでした。


色々調べて、何となく原因がわかりました。

LinuxThreads の有無が問題みたいです。

MySQL を動かすには LinuxThreads が必要なはずなのですが、
http://dev.mysql.com/doc/refman/4.1/ja/linux.html

Fedora core 5 から glibc2 から外されてしまったようです。
http://fedora.redhat.com/docs/release-notes/fc5/release-notes-ISO/#id3083554

っという訳で、解決策は glibc2 の手動再構成 or Fedora core 4 に逆戻り or おとなしく MySQL 5 を使う。
といったところみたいです。

私は Fedora core 4 に逆戻りの選択をしようかと思います。
今のMySQLのデータをそのまま使いたいですし。
MySQL 5 に移行しようとして失敗したら面倒ですし、Fedora core 5 じゃなきゃいけない理由も特にないので。

お付き合いいただきました方々、有り難う御座いました。


>>146さん
Ubuntu の ppc版も同じ LinuxThreads が原因ではないでしょうか?
調べてないので分かりませんが・・・
151NAME IS NULL:2006/06/05(月) 19:36:33 ID:???
>>140

      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
152NAME IS NULL:2006/06/05(月) 21:09:28 ID:???
>>150
NPTLでも動くよ
っていうかNPTLのほうが速いよ
153NAME IS NULL:2006/06/05(月) 22:59:12 ID:???
速いなんてもんじゃないよ。
全くの別物。
154132:2006/06/05(月) 23:10:04 ID:???
>>152
>>153

まじですか!?早速チャレンジしてみようかと思います。

まずは、システムのNPTL化してから、MySQLをインストールすればよいのでしょうか?
ttp://nekhet.ddo.jp/index.php?itemid=843
↑こんな感じで

それとも、Fedora core 5 は元から NPTL ?

それと、NPTL ってシングルCPUでも効果ありますか?
155NAME IS NULL:2006/06/05(月) 23:41:43 ID:???
なんかfedraスレのネタじゃね?
MySQLに罪は無いじゃん。
マカお断り。
156NAME IS NULL:2006/06/05(月) 23:47:10 ID:???
いや、Fedoraとは関係ない。
PPC版Linux特有。
157132:2006/06/06(火) 00:00:14 ID:???
>>155
すみません、確かにFedoraが元からNPTLか?なんて、Fedoraネタですね。
NPTL環境については、向こうで聞いてきます。

ただ、PPC版Linuxは、どうもMySQL入れるにはなかなか一苦労するみたいなので
その辺ご理解ください。

ちなみに私はマカじゃないですよw このiBookもMacOS立ち上げる前にOS入れ替えちゃいましたしw
158140:2006/06/06(火) 01:44:04 ID:???
判明しました。

■ググレカス [ Gugurecus ]:

アプレカスの乱の中、「キャピ リンキック デ ググレ」(無知こそが最大の敵である) という言葉を残した。
159NAME IS NULL:2006/06/06(火) 15:52:53 ID:???
マカの空気を読まない傍若無人ぶりと変わらんよ。

このスレのほとんどはインテル使いで全く話題に関係ない。
PPCリナクススレにでも逝けよクズ。
160NAME IS NULL:2006/06/06(火) 16:01:08 ID:???
PPCでもItaniumでもSparkでもこのスレでおk
161NAME IS NULL:2006/06/06(火) 20:08:48 ID:???
インストール後の話題限定な。
インストールはそれぞれのOS板逝け。
162NAME IS NULL:2006/06/07(水) 00:29:41 ID:???
データベースごとに別々のディレクトリに保存したいのですが可能ですか?
163132:2006/06/07(水) 00:42:07 ID:???
>>152
>>153
PPC版Linux でも NPTL環境のMySQLを導入できました。
Fedora 4 に戻して LinuxThreads 駆動のMySQLも体感したのですが、
NPTL 環境の方が断然速いですね。
体感速度でも 2 〜 3 割速くなった気がします。
有り難う御座いました。

>>160
有り難う御座います。
でも、なんかIntel以外の風当たりが寂しいのでこの辺でレスつけるのやめとこうと思います。

色々アドバイスいただいた方々、有り難う御座いました。
164NAME IS NULL:2006/06/07(水) 03:08:19 ID:???
すみません、適切なSQLが分からずに悩んでおります。
下記のようなテーブルから、「idが●●で、他のカラムの値が1のカラム名を抽出する」という作業をやりたいのですが、
どのようなSQLを書けばよいのでしょうか・・・。下記の場合、id=1と指定したとき、「namae」というカラム名を得たいです。

id | namae | email
---+-------+-------
1 | 1 | 0
2 | 0 | 1
3 | 1 | 0
4 | 1 | 0
165164:2006/06/07(水) 03:10:28 ID:???
補足です。
分かりにくい説明だったかもしれませんが、
上記の例の場合、たとえばid=2なら、「email」というカラム名を
取得するのが目的です。
166NAME IS NULL:2006/06/07(水) 10:12:02 ID:yGMe4PSI
>>164
根本的にテーブル設計がおかしい に3000ペリカ
167NAME IS NULL:2006/06/07(水) 10:24:33 ID:???
>>166
ちがう、おかしいのは設計じゃなくて>>164の頭
168NAME IS NULL:2006/06/07(水) 10:32:45 ID:???
漏れも初心者っぽい質問してみる

デリ嬢テーブル 最終利用者テーブル
ID | 参照先    利用ID|最終利用者情報
10 | 000001    000000|東京都千代田区1-1
11 | 000002    000001|東京都千代田区永田町1丁目
12 | 000002    000002|東京都港区六本木6−10−1 六本木ヒルズ森タワー

のようなテーブルがあったとして、利用済になった000000の行をSQL一発で削除する方法ある?

無いなら、被参照カウンタとかアプリ処理とかで解決するけど。
169NAME IS NULL:2006/06/07(水) 10:49:37 ID:fLygDYNy

グランが応用かよw

利用IDが「0」からってなんだよ
170NAME IS NULL:2006/06/07(水) 11:17:29 ID:Lyvn5c/o
うん。設計がおかしいね。sql文だけじゃ無理だろ。
id data
1 namae
2 email
3 namae

こんな感じのテーブルにすれば?


171164:2006/06/07(水) 11:41:33 ID:???
>>170
実はカラムは「namae」「email」以外にももっといっぱいあって、全部で10個くらいあるのです。
そのそれぞれに入る数字も0や1だけでなく、いろんな数字(一桁)が入ります。

このとき、たとえば数字の「1」が入ってるカラムだけ抽出、とか、
数字の「9」が入ってるカラムだけ抽出、とかやりたいのです。
やっぱりSQL一発じゃ無理ですかね。PHPと絡めてやってみるしかないでしょうか。

テーブル設計自体はおかしくないと思います(正規化などしたうえでのテーブル状態です)。
むしろテーブルの利用法がおかしいというか、変わってるというか。。。
172164:2006/06/07(水) 11:46:37 ID:???
ちなみにこのテーブルの利用法と言いますのは、
前述のテーブル(テーブルA)とは別のテーブル(テーブルB)に実データ(名前やメアドなど)が入ってるテーブルがありまして、
そちらを参照するときに、前述のテーブル(一桁の数字が入っているテーブル)を参照して、
スクリプトで表示するか否かを決定したいのです。

つまり、テーブルAから名前などのデータを抽出する際に、テーブルBの同名カラムを参照して、
値が「0」ならHTMLに出力しない、「1」ならHTMLに出力する・・・という感じで、
名簿リストを表示するスクリプトを作っております。
分かりづらい説明で申し訳ありません。
173NAME IS NULL:2006/06/07(水) 12:00:02 ID:???
>>171
そういったのを含めて、現在のテーブル設計は好ましくないですよ。

でも、とりあえずそれで行ってみるよろし。SQLでは無理なので
プログラムで処理ね。
174164:2006/06/07(水) 13:12:17 ID:???
>>173
ありがとうございます。やはりSQLだけでは無理ですか。。。

このような処理を行う場合、例えばどういったテーブル設計が好ましいのでしょうか?
すなわち、実データのテーブルと、その実データを表示するか否かの
コンフィグ設定テーブル(?)とを分ける場合の設計です。
175NAME IS NULL:2006/06/07(水) 13:48:57 ID:???
>>174=164
なんか最初の質問から意味が変わってるぞ。
>>164ではメタデータ(列名)を取得しようとしてたのに、

>実データのテーブルと、その実データを表示するか否かの
>コンフィグ設定テーブル(?)とを分ける場合

これは普通にJOINするような話じゃん。
176NAME IS NULL:2006/06/07(水) 14:04:08 ID:???
>>174
私ならそういった処理をする時に最も良い形として、こうします

<いま>
id | namae | email | address | phone
--+-------+-------+---------+-------
1 | 1 | 0 | 9 | 0

<変更後>
id | parm | value
--+------+-------
1 | namae | 1
1 | email | 0
1 | address | 9
1 | phone | 0

あと、レコードが無ければ値がゼロ、という扱いでOKならよりレコード数も押さえられます。

id | parm | value
--+------+-------
1 | namae | 1
1 | address | 9
177NAME IS NULL:2006/06/07(水) 14:40:47 ID:???
>>176
俺は>>164ではないが、その設計だとDB使用容量は抑えることができるだろうけど、
10ユーザ→10レコード のように、色んなユーザプロフィールをフィールドで持つほうが
SQL文とかプログラム側の処理も楽な感じがするんだよね。

冗長なコードだから処理速度が遅いってことはないけどね
(SQLの回数が多くても、全体処理が最速ならそれが最善だし)
178164:2006/06/07(水) 15:23:28 ID:???
>>176
なるほど! 私は「一つのID(一人)には一つのレコード」…と頭が凝り固まっておりましたが、
そのようにする手段もあったんですね。

その場合、たとえば画面表示OK設定のカラムのみのデータリスト(名簿表)作る場合、
 SELECT `param` FROM config_table WHERE `id`=** AND `value`=1 で得たparam名(仮に$rec_paramとします)を元に、
 SELECT {$rec_param} FROM data_table WHERE `id`=** で、やりたいことが実現できそうです。

私の説明が下手でしたが、良い例として、mixiのプロフィール表示を思い浮かべてもらえると
分かりやすいかもしれません。mixiのプロフィールのように、場合によって表示するかしないか(友人のみに表示するとかもあり)、
という設定が出来るようにしたいのです。私がいま作っているのはWeb上の同窓会名簿です。
179NAME IS NULL:2006/06/07(水) 15:34:25 ID:HRUFSYOs
>>176
性器化しる!

 id|parm_id| value
----+-------+-------
 1|   1 | 1
 2|   2 | 0
 3|   3 | 9
 4|   4 | 0


parm_id|  parm
-------+---------
   1|  namae
   2|  email
   3| address
   4|  phone
180176:2006/06/07(水) 15:49:28 ID:???
>>179
それ書こうかとも思ったが、parmテーブルの項目がidと名前だけだと
典型的な設計者の自己満正規化になるので、(意味が薄いから)やめた方がよい
181164:2006/06/07(水) 16:03:51 ID:???
>>180
私も正規化を考えたのですが、
「典型的な設計者の自己満正規化」とはどういう意味なのでしょうか??

実務経験などが無いので、想像がつきません。
182177:2006/06/07(水) 16:16:05 ID:???
>>164
本来正規化とは、データの無駄な重複などをなくしDB使用量を抑えたり
レコード数が増大すると思われるテーブルで速度が必要なときに
可変長のデータが入るフィールドを別テーブルにして検索速度をあげたりするのが目的

でも過剰にやりすぎると、SQLが複雑になりマンドクサくなったり遅くなったりする罠
183176:2006/06/07(水) 16:23:25 ID:???
殆どの場合は第三正規型まで正規化するのが良いのですが
>>182さんの言うようにパフォーマンスの問題等(問い合わせ数を減らすために)で
敢えて第二正規形で以降の正規化を行わない、という選択をする事があります。

いわゆるサジ加減というやつなので、うまい説明が出来ません。(´・ω・`)
「今まで出てきた情報を基にするなら私なら」そうすると言っただけなので、
現状を一番よく理解してる>>164さんが思うようにすれば良いと思いますよ。
184164:2006/06/07(水) 16:40:10 ID:???
>>182さん、>>183さん
ありがとうございます。
では今回のデータ構成程度なら、表示設定についてのテーブルの正規化までは必要なさそうですね。

ところで>>178にてmixiのプロフィールの例を挙げましたが、
あれも今回私がやっているような手法にて、表示設定を保存しているのでしょうか?
185NAME IS NULL:2006/06/07(水) 18:47:40 ID:???
この場合は、恐らく >>179 までの性器香は必須だと思いますよ。

検索アプローチの可能性として、 addressが定義されていない人を見つける。
とかいう場合パフォーマンスが全然違ってきますからね。
186NAME IS NULL:2006/06/07(水) 18:48:46 ID:???
>>184
しらんがなー
187NAME IS NULL:2006/06/07(水) 19:13:48 ID:???
>>185
その場合のSQLとかってどうなる?一回でOK?
簡単なSELECTしか分からないので教えてください m(_ _)m
188179:2006/06/07(水) 20:09:01 ID:HRUFSYOs
SQL的には、そこまで性器化するのがよろし。
2テーブルにまたがることでパフォーマンスが気になりかつ、それほどの量ではなければ、
"namae","email" ... を別テーブルにもたないでプログラムの配列に入れておいて
取り出すとかする。早いし。プログラムでマスタ管理できるし。
しかし、176 の「最も良い例」は最も良い例ではあらず。しかも初心者に教えてるんだろ。
189NAME IS NULL:2006/06/07(水) 21:45:22 ID:???
>>184
ん〜〜〜、mixiも設定を保持するテーブルとか作ってるんじゃないのかねぇ?
あるいはOpnePNEのソースでも覗いてみるとか。
190NAME IS NULL:2006/06/07(水) 22:02:38 ID:???
OpnePNEじゃなくてOpenPNEだった タイプミスorz
191NAME IS NULL:2006/06/07(水) 22:31:16 ID:???
最近スレ違いが多いなあ。今年度入社の新人が現場に配備されてるのか?

【帰ってきた】SQL質疑応答スレ 2問目
http://pc8.2ch.net/test/read.cgi/db/1141622643/l50
姉歯DB設計
http://pc8.2ch.net/test/read.cgi/db/1133798099/l50
頼むから正規化しろよ 第二正規形
http://pc8.2ch.net/test/read.cgi/db/1116097001/l50
192NAME IS NULL:2006/06/07(水) 22:39:21 ID:???
>>182
正規化する理由はそれだけじゃないけどね。
整合性のほうが主目的で、パフォーマンスは副次的なものでしょ。

193NAME IS NULL:2006/06/08(木) 00:14:27 ID:???
煮詰めると
自然になるよ
正規化に
194NAME IS NULL:2006/06/08(木) 00:35:05 ID:???
あえて正規化しないのも有り
195NAME IS NULL:2006/06/08(木) 12:28:04 ID:rq6cVgMB
4.1.20 で sennaってみた。すげーし。
3桁ぐらいパフォーマンスが上がった。
ビバ razil
196NAME IS NULL:2006/06/08(木) 19:54:57 ID:???
sennaって何??
razilってナニ??
197NAME IS NULL:2006/06/08(木) 20:03:17 ID:rq6cVgMB
>>196
お前ググレカスが出てくるぞ。
198NAME IS NULL:2006/06/08(木) 21:11:59 ID:WgetNrgV
後生だから読んでくれ。皆の力が必要なんだ!

朝鮮人を日本に大量移住させる法案、今月中に成立予定
http://news20.2ch.net/test/read.cgi/news/1149747174/

    簡単にまとめると

北朝鮮への経済制裁等を行なう為の 「北朝鮮人権法案」だが
           ↓
「脱北者を出さないように北朝鮮の人権状況を改善させることが主眼」(与党関係者)とし
経済制裁のみの法案となった。
           ↓
一方、民主党が二月に国会提出した北朝鮮人権侵害救済法案は脱北者を
「難民に準じた扱いをする」ことで日本の定住資格を与える条項を盛り込んだ。
http://news.goo.ne.jp/news/sankei/seiji/20060514/m20060514005.html

だったのだが 今回、白紙に戻して、自民・民主共同で
法案成立を目指すという事なので どんな中身かは不明

とりあえずは 自民党本部への「脱北者受け入れ反対」のメール、各板にコピペしてくれ。
199NAME IS NULL:2006/06/08(木) 23:39:56 ID:???
>>198
ER図で説明してくれ
200NAME IS NULL:2006/06/08(木) 23:45:15 ID:???
>>196
     ::|─- 、ミヽ
     ::|j ii /  Λ
     ::| ̄`ヾ、ノイ{
     ::|    ゙、ノi!
     ::|  ,\  Yソ
     ::|  ;:こラ  j{
     ::| i ー ' ソ
     ::| j  ,′
     ::|<‐-イ
     ::|‐  /
     ::|  ,/
     ::|'r‐'´
201NAME IS NULL:2006/06/09(金) 00:44:28 ID:???
4.1.12でテーブルのフィールドもujis_japanese_ciで作って、
phpMyAdminよりEUCのsqlファイルをアップロードするのにUTF-8に変換される。
EUCのphpファイルで直接EUCのSQLを送ると、文字が化けて消えて空になる。
解決法ってあります?
202NAME IS NULL:2006/06/09(金) 01:26:38 ID:???
全部utf8に統一。データ失いたく無いならなおさら。
203NAME IS NULL:2006/06/09(金) 02:35:20 ID:SmsrEn68
質問させてください。
環境:WinXP/PHP5/mySQL4.0
現象的には、以下とほぼ同様な状態です。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28391&forum=26&7
1.データベースは確かにujisで構築できているらしい。
2.しかしコマンドラインから見ると文字化けしている。

もしかして
『ujisで構築したデータベースはコマンドラインから文字化けせずに読むことは不可能』
なのでしょうか?
そうでなければ、文字化けの回避方法を教えてください。




因みに質問者と同じようにcreate database aaa set character set ujisしてみたところ
>mysql> create database aaa character set ujis;
>ERROR 1064: Something is wrong in your syntax : 'character set ujis' ノユカ・ : 1
>ケヤフワ
とエラーが返ってきます。
204NAME IS NULL:2006/06/09(金) 06:26:30 ID:???
>>203
DOS窓はSJISとUTF8でしかお話出来ないと思ったが、、、
205NAME IS NULL:2006/06/09(金) 09:05:10 ID:wOeRh0uc
質問です
というか、ご意見ください

MYSQLにて、項目名は日本語にするかどうか

例えば メニュー区分という項目を付けたい場合

1.メニュー区分
2.MENUKUBUN
3.MENUKBN
4.MENUCLASSIFICATION

他にも色々あると思いますが、一般的な
命名方法はどんな感じなのでしょうか?

某MLで数年前に激しい議論があったようなんでちょっと
ご意見伺いたいと思いました
206NAME IS NULL:2006/06/09(金) 09:32:44 ID:???
おまいらujis以外のテストぐらいして自分で原因の切り分けぐらい出来ないの?
トラブルに巻き込まれたくなければutf使っとけ。無変換だからトラブル無いよ。
207203:2006/06/09(金) 10:59:23 ID:SmsrEn68
おはようございます。レスありがとうございます。
>>204,206
おっしゃるとおりです。
確かにUTF8なら問題は無いのですが、4.1以前なので使用できません。
使おうと思っているレンタルサーバー(さくら)が4.0.2xだからなのですが、
これはもうサーバーの変更を考慮に入れるべきなんでしょうか。
208203:2006/06/09(金) 11:21:16 ID:SmsrEn68
203追記です。

ということは、やはり
『ujisで構築したデータベースはコマンドラインから文字化けせずに読むことは不可能』
ということでFAという事ですね。
209NAME IS NULL:2006/06/09(金) 12:19:31 ID:???
>>208
コマンドラインで使うツールに、EUC-JP→SJISフィルタ噛ますか
そういった機能を持つもの使えば使える。

ところでWinのプロンプト窓の話をしてるのに、
何でそこでさくらの鯖が絡んでくるの?
さくらの鯖を使うのでMySQLを合わせたいのなら、
管理のやり方やツールもさくらの鯖のを操作するものと合わせれば良いのでは。
phpMyAdminを使うなら、ローカルにもPHPとWebサーバを設ける。SSHならローカルにもsshdを。
# それとも、さくらって外部から直接MySQLを弄れるようにPort開けてるのかな
210NAME IS NULL:2006/06/09(金) 12:30:23 ID:???
>>208
[mysql] を sjis にして [mysqld] とか残りを ujis にすればいいじゃないかい?
4.1.16-ntだけど、DBの文字コードがなんだろうが化けないよ。
オイラの環境はね。
211NAME IS NULL:2006/06/09(金) 12:46:47 ID:???
>>208
210だが、SHOW VARIABLES like 'character%'; で character_set_client が
sjisになっていれば化けないぞ。my.iniをいじれ。オレっていいやつだな。
212208:2006/06/09(金) 13:12:26 ID:???
>>209
なるほど、フィルターツールですか。ちょっと探してみます。
さくらの環境と同じ環境をローカルにも構築すれば言い、というのはやまやまなんですが、
あそこはOSがFreeBSDなのですが、開発の簡便性のためにWindowsで作業をしたいと思っています。
>ポート
先ほど、ODBC経由で接続できないと知って、ちょっと本気で他のサーバを探してみようかと思いました。

>>211,212
>[mysql] を sjis にして [mysqld] とか残りを ujis にすればいいじゃないかい?
4.0.26だと、その設定にしても効果がありませんでした。

>SHOW VARIABLES like 'character%'; で character_set_client が
すいません、こちらも4.0.26だとshow variables〜でも
character_set (ujis)
character_sets
しか現れず、my.iniに強引にcharacter_set_client=sjisとしても
mysql起動時に
mysql:unknown variable 'character_set_client=sjis'
とエラーになってしまいます…
213210:2006/06/09(金) 13:29:49 ID:???
>>212
じゃ、4.1.16 に上げれば
214208:2006/06/09(金) 13:38:41 ID:???
>>213
さくらのSQLが4.0.2xなんですよ。
他の連鯖探してきますね…。
215NAME IS NULL:2006/06/09(金) 14:51:28 ID:???
selectの結果をcsvで標準出力に出力したいんだけど
どうしたらいい?
216NAME IS NULL:2006/06/09(金) 15:01:46 ID:???
>>215
mysql < sql.txt
217NAME IS NULL:2006/06/09(金) 16:25:03 ID:???
>>215
mysql --batch --execute="select * from database.table"
tsv→csvは適当なフィルタを噛ます。
218NAME IS NULL:2006/06/09(金) 16:38:55 ID:???
>>212
>先ほど、ODBC経由で接続できない
安い共有サーバのサービスなら使わせないのが普通。

ローカルもリモートもhttpd+PHPのphpmyadminで管理すれば
良いと思うのだが、コマンドラインに拘る理由は?
GUIアプリだって、任意のクエリ実行は可能。
219NAME IS NULL:2006/06/09(金) 19:14:53 ID:???
結論:やっぱりWindowsは使わないほうがいい。
220NAME IS NULL:2006/06/09(金) 20:14:53 ID:???
開発は Widnowsでも許してやれ
221NAME IS NULL:2006/06/09(金) 20:33:05 ID:???
>>220 もしかして: Windows
222NAME IS NULL:2006/06/09(金) 20:54:45 ID:???
>>214
Windows Server で SQL Serverを運営している連鯖を探しなされ。
223NAME IS NULL:2006/06/09(金) 21:07:52 ID:???
accessの代わりにタダで使えると思って入れてみた。
考えが甘かった。_| ̄| ....○  ワケ ワカ ラン
224NAME IS NULL:2006/06/09(金) 21:35:59 ID:???
heartbeatとldirectordでフェイルセーフと負荷分散したいんですが、
良い案ありますかね?
レプリケーションは一方向でマスターが切れたら一苦労だし
リングマスタしても負荷はかわらないし。
225NAME IS NULL:2006/06/09(金) 21:54:17 ID:???
>>223
accessの方がよっぽどワケ ワカ ラン
226NAME IS NULL:2006/06/09(金) 23:11:05 ID:???
accessって画面&帳票作成ツールだっけ?
227NAME IS NULL:2006/06/09(金) 23:22:10 ID:???
>>226
おじさま達の俺はPCできるんだぞって自慢するツールじゃね?
228NAME IS NULL:2006/06/09(金) 23:49:14 ID:???
access(笑)
229NAME IS NULL:2006/06/10(土) 00:04:16 ID:???
>>226
こんなんで売り物になるんだから、
シェアの力はすごいなw
230NAME IS NULL:2006/06/10(土) 01:18:01 ID:???
>>224
書き込みが無いDBなら問題は起きない
231NAME IS NULL:2006/06/10(土) 03:36:08 ID:???
今更だけどQueryBrowserいいね
早く気付けば良かった
232NAME IS NULL:2006/06/10(土) 12:06:03 ID:???
mysqlにエクセルで集計したデータをいれたいんですが
簡単な方法は何かありますか?
233NAME IS NULL:2006/06/10(土) 12:37:31 ID:???
>>232

おまえにとって簡単な方法はないと思われる。
234NAME IS NULL:2006/06/10(土) 12:38:51 ID:???
>>232
つ「アルバイト雇用」
235NAME IS NULL:2006/06/10(土) 13:07:55 ID:???
>>232
CSVで出して、DBに流し込むスクリプト組んだらいいだけじゃないのか?
236NAME IS NULL:2006/06/10(土) 13:10:09 ID:???
>>232
あるよ。
冗談でもなく234の言うものも、その方法のひとつ。
237NAME IS NULL:2006/06/10(土) 13:11:56 ID:???
>>235
買いかぶり過ぎ。
238NAME IS NULL:2006/06/10(土) 13:19:47 ID:???
>>237
皮かぶり過ぎ
239NAME IS NULL:2006/06/10(土) 13:21:15 ID:???
OracleでいうところのSQLLoaderみたいな物があるかどうかって事かな?
240NAME IS NULL:2006/06/10(土) 14:48:43 ID:???
>>239
美勇伝、美勇伝、美勇・・・伝、伝、伝伝伝!LET'S GO!
241NAME IS NULL:2006/06/10(土) 16:41:24 ID:???
ODBC出接続してMySQLへInsertというVBAをしこしこ作りますた。
はぁしんど。
242NAME IS NULL:2006/06/10(土) 16:42:25 ID:???
>>232 大量に釣れてよかったなw
243NAME IS NULL:2006/06/10(土) 18:04:19 ID:???
SQLインジェクションできまくりなのか。
244NAME IS NULL:2006/06/10(土) 21:53:10 ID:???
>>241
CSVというかタブ区切りにして、
load data infile "filename" into table tablename;
でサクっと。
245NAME IS NULL:2006/06/11(日) 08:30:15 ID:???
あるデータ(例えば試験の点数)の上位○件を抽出する方法はありますか?
246NAME IS NULL:2006/06/11(日) 09:07:47 ID:???
スレ違いが良く来るなあ。

【帰ってきた】SQL質疑応答スレ 2問目
http://pc8.2ch.net/test/read.cgi/db/1141622643/l50
成績管理システムを作ろう!2【社会貢献】
http://pc8.2ch.net/test/read.cgi/db/1137309494/l50
247NAME IS NULL:2006/06/11(日) 10:56:01 ID:???
>>246
誘導有難うございます。
ログから目的の方法を見つけ出す事が出来ました。
248NAME IS NULL:2006/06/11(日) 12:52:25 ID:???
バイナリデータつっこんでる人いる?
バイナリデータのカラムはignorするクエリってあるのかなぁ?
249223:2006/06/11(日) 20:49:16 ID:???
win98にmysql+apache+perl入れてやっと動いたよ。(ノД`) オジサン ウレシ…
mysqlを知ってから3日で動かせたんだけど俺はPCできるんだぞって自慢出来る?
250NAME IS NULL:2006/06/11(日) 20:55:05 ID:???
>>249
accessと比べたら環境構築の手間は
段違いにメンドクサイわな
でもなぜPerl?phpじゃだめなの?
251NAME IS NULL:2006/06/11(日) 21:05:12 ID:???
Perlで出来た既製の何かを動かそうとしてるかなんかでしょ。
みんながみんな何かを自作するためにA-M-P環境を構築するとは限らない。
252233:2006/06/11(日) 21:23:54 ID:???
>>250-251
Perlを選んだのはこのページの通りに入れたから。
PHPについても書いてあるけどPerlで動くならPerlのほうが良いかな〜と。
ttp://homepage1.nifty.com/yito/anhttpd/faq/mysql.html

PHPはPerlに比べると新しい言語みたいだから参考サイトの多さとか、
サンプルコードの多さとかではPerlのほうが充実してるのではないかなってね。^^;
253NAME IS NULL:2006/06/11(日) 21:32:31 ID:???
>>252
Perlは時期的に早かったのが大きいな。cgiに使える適当なスクリプト言語が今のように多くは無かった。
sed awkに毛が生えたようなツールでここまでやるのかと当時は感心したり呆れたり。
正規表現を組み込んだ言語がココまで強力なのかぁと世に知らしめたのは大きかったが、
さすがにもうレガシー sed awk と同列の扱いに戻してあげよう。
254233:2006/06/11(日) 21:45:27 ID:???
PHPのほうが早くて軽いそうだからスキルがあればそのほうがいいんだけどねぇ。
入門の身としてはPerlのドキュメントの多さと安定性がありがたかったり。

PHPの勉強はPerlをある程度マスター出来たらの話かな。
255NAME IS NULL:2006/06/11(日) 22:08:29 ID:???
かつては俺もPerl使いだったが、Perlでできることって
もうすでにphpで十二分にカバーできるんだよね
なので俺はPerlはもう不要というスタンスです
スレ違いですね、すみませんでした
256NAME IS NULL:2006/06/11(日) 23:23:16 ID:eUBYBaQq
オートインクリメントのIDを主キーにしたテーブルにINSERTしたと同時にその
IDを取得する方法ってないかな?その直後にSELECTで最大値のID取得って
方法だとINSERTとSELECTのわずかな合間に別のトランザクションがINSERTかける危険性があって
不安なんだが・・・
言語はPHPです。
257NAME IS NULL:2006/06/11(日) 23:29:46 ID:???
>>256
トランザクションの意味をもう一度しっかり調べることをお勧めする
258NAME IS NULL:2006/06/12(月) 00:25:48 ID:???
>>256
Cならmysql_insert_id()がある。PHPは知らん。
専用関数がないのなら、SELECT LAST_INSERT_ID()
259NAME IS NULL:2006/06/12(月) 07:37:48 ID:???
awkってレガシーなのかな
awk '{print $1}'とかよく使ってるけど・・・・

そんな漏れもPHP派
PHPもわかりにくくかけばわかりにくくなるけど、perlの難解度に比べたらマシだと思ってる。
260NAME IS NULL:2006/06/12(月) 11:01:18 ID:???
WASのチョイスは開発者のスキルや好みもあるけど基本は案件によるもの。
でオイラの好みはやっぱ java
261NAME IS NULL:2006/06/12(月) 18:10:52 ID:???
>256-257
そもそもトランザクションとかせんでも
>258のは接続毎のを返してくれるんでなかったっけ。
262NAME IS NULL:2006/06/12(月) 19:07:37 ID:???
>>261
そう、なので、258の SELECT LAST_INSERT_ID() で問題なし。
263NAME IS NULL:2006/06/13(火) 08:44:29 ID:jMJnFNSg
すいません、phpMyAdminが使えません。

WinXP SP2
Apache v2.0.58
PHP 5.1.4
mySQL 4.0.26
phpMyAdmin 2.6.3pl

データベースやテーブルの参照は出来るのですが、
Select文を発行してデータを見ようとすると、Apacheが終了してしまいます。
(データが一つもない場合は通常にその旨が表示されます)

コンフィグの設定はWebを参考にやってみたのですが…。
何が原因なのでしょうか。
264NAME IS NULL:2006/06/13(火) 08:59:37 ID:???
>>263
まずはApacheが落ちる原因を究明せんことには。
サーバモジュールのPHPを使ってるんだと思うので
PHPの方でApacheの足を引っ張って落ちたんだと思うけど。
Apache/PHPのログに何か出てないか?
(で、MySQLに関係ないのでスレ違い)
265NAME IS NULL:2006/06/13(火) 10:37:02 ID:???
   ∧_∧      ∧∧
  ( ´∀`).     (゚Д゚,,)
  (     )      (   )
(( 人  Y       |  |  ))
  し(__,)      し'ヽ)

       ∧∧ ∧_∧
.      (゚Д゚,( ´∀`)
       (   (     )
        | (( 人  Y
       し'ヽし(__,)

     ∧∧      ∧_∧
.    (゚Д゚,,)     ( ´∀`)
     (   )     (     )
      |  | ))  (( 人  Y
     し'ヽ)     し(__,)

  ,.'´ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄`ヽ
  !    す れ 違 い    !
  ヽ、              ノ
     ̄`V´ ̄ ̄ ̄ ̄`V´ ̄

.     ∧∧      ∧_∧
     (,゚Д゚,)     ( ´∀` )
.      ( c0m     (  c0m
     〈 fヽヽ     / /ゝ 〉
     U  J    (__)、_,)


266NAME IS NULL:2006/06/13(火) 12:53:37 ID:???
Aテーブル(IDと名前を格納している)
ID | name
------------
aa | Aさん
bb | Bさん

Bテーブル(IDとアクションを起した日付データを格納している)
ID | date
------------
aa | 2006-06-01
bb | 2006-06-03
aa | 2006-06-05

この2つのテーブルをJOINTし、Bテーブルのdateカラムをソートして名前を
表示させたいのですが、Bテーブルに複数のデータが入っていると、名前も
同じ数だけ表示されてしまいます。

これを…

SELECT A.ID,A.name,B.date FROM A INNER JOIN B ON A.ID=B.ID ORDER BY B.date desc

A.ID | A.name | B.date
-----------------------
aa | Aさん | 2006-06-05
bb | Bさん | 2006-06-03
aa | Aさん | 2006-06-01



A.ID | A.name | B.date
-----------------------
aa | Aさん | 2006-06-05
bb | Bさん | 2006-06-03

こうしたい。

MySQL 3.23.58です。よろしくお願いします。
267NAME IS NULL:2006/06/13(火) 13:02:59 ID:???
>>266
group by B.ID じゃ解決できないから悩んでるんだろうな。
268266:2006/06/13(火) 13:07:24 ID:???
>>267
group by B.ID は試してみましたが、order by B.date が効かないんですよね…。
269NAME IS NULL:2006/06/13(火) 13:13:47 ID:???
>>266-268
JOINより先にBから最新日付(とID)を取ってきて、これとAをJOINすればいいと思うんだけど、
MySQLのバージョンが古いらしいので、動くか確認できない
270266:2006/06/13(火) 13:21:23 ID:???
>>269
サブクエリが使えれば…。
やっぱり一時テーブルみたいなのを作るか、アプリケーション側でなんとかするしかないですか。
ありがとうございました。
271NAME IS NULL:2006/06/13(火) 14:20:29 ID:???
ライセンスについて質問。
GPLを選択した場合、ソースを公開しないといけないようですが、
ソースとは何処までを指すのでしょうか。
例えばApache + cgi + MySQL の開発をし、MySQL自体を改変しない場合、
cgi部分は 公開しなくてもいいのでしょうか。
272NAME IS NULL:2006/06/13(火) 14:24:17 ID:7VkFvBIO
age
273NAME IS NULL:2006/06/13(火) 15:27:42 ID:???
cgiもいろいろあるし。
mysqlのライブラリをリンクしてたり使っていればGPLで汚染されるよ。

詳細はソフトウェア板のGPLスレでどうぞ。


なんでSQLスレの話題が定期的にここに来るのだろう。
【帰ってきた】SQL質疑応答スレ 2問目
http://pc8.2ch.net/test/read.cgi/db/1141622643/l50
274NAME IS NULL:2006/06/13(火) 17:14:09 ID:???
>>266に良く似た質問があったのでお聞きします。
環境:MySQL 3.23.58(レンタル鯖プリインスコ)

Aテーブル(IDと名前とその他10フィールドくらい)
id | name
------------------------
01 | Aさん
02 | Bさん
03 | Cさん

Bテーブル(IDと日付とアクション)
id | date | data
------------------------
01 | 2006-06-01 | 1
02 | 2006-06-01 | 3
01 | 2006-06-02 | 2


2006-06-01 データ ↓のような形で出力したいのですが
id | name | data (▼ソート)
------------------------
02 | Bさん | 3
01 | Aさん | 1
03 | Cさん | 0

色々やってみたのですが、Bテーブルにデータがない場合
INNER JOINだとCさんが表示されません。
Aテーブルに登録されているユーザーは全て表示させたいです。
LEFT JOINだと重複して物凄い件数がHITしてしまいました。
何か良い方法や、SQL文の御教示お願い致します。

SELECT A.id, name, data FROM A INNER JOIN B ON A.id=B.id WHERE date = $date ORDER BY B.data desc
275NAME IS NULL:2006/06/13(火) 18:08:03 ID:???
>>274
これもBを先に絞り込めば簡単(&高速)なんだけどね。副問い合わせできないんだよね?
276274:2006/06/13(火) 18:37:20 ID:e1vImS2l
>>275さん
レンタル鯖でPleskを使用しているのでMySQLのバージョンUPが行えません。
(正確にはバージョンUP不可能ではないが)

サブクエリを使用する方法なら分かってきたのですが、バージョンが古いので・・・
現在は下のように強引にやってますが、この方法だとTHEADの項目をクリックして
ソートできるように折角組んだものが使えなくなってしまいます。
ここはPHPにも精通してる方が多いと思いますので、何かヒントありましたらお願い致します。

$sql = "SELECT A.id, name, data FROM B LEFT JOIN A ON A.id=B.id
WHERE date = 20060601 ORDER BY B.data desc, A.id";
$res = mysql_query($sql);
while ( $row = mysql_fetch_array($res) ) {
$u_id[] = $row[0];
$tbody .= "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
// 表示済みユーザーを排除
$sql = "SELECT id, name FROM A WHERE id NOT IN (".join(',',$u_id).")";
$res = mysql_query($sql);
while ( $row = mysql_fetch_array($res) ) {
$tbody .= "<tr><td>$row[0]</td><td>$row[1]</td><td>0</td></tr>";
}
277NAME IS NULL:2006/06/14(水) 00:08:17 ID:SbMDiNi8
事情があって、mysql4.0.18のDOS版(Setup.exeがついてる方)を探しています。
本家サイトには落ちていないので、どこかで配布しているサイトって
ないでしょうか。よろしくお願いします。

278NAME IS NULL:2006/06/14(水) 05:13:38 ID:???
>>277

      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
279NAME IS NULL:2006/06/14(水) 11:16:57 ID:???
SQL自体の質問はスレ違い。

【帰ってきた】SQL質疑応答スレ 2問目
http://pc8.2ch.net/test/read.cgi/db/1141622643/l50
280NAME IS NULL:2006/06/14(水) 12:26:08 ID:???
質問させてください。
WIN XPにMySQL5はじめて入れました。
root@localhost
このrootユーザは、localhostからだけで
外からアクセスできないんですよね。

ネットで初期設定調べていたら、rootパスワード入れないと
危険ってあったんですが、localhost以外からアクセスできないのに
どんなとき危険なんでしょう。

3306のポートが空いているような気がしますが、local以外からでも
そこからアクセスされるんでしょうか。
281NAME IS NULL:2006/06/14(水) 13:08:54 ID:???
>>280
つ[マルチユーザOS]
つ[トロイの木馬]
282NAME IS NULL:2006/06/14(水) 15:30:10 ID:???
>>280
ともだち
かぞく
283NAME IS NULL:2006/06/14(水) 15:34:46 ID:???
性善説の人間がネットワークを使うとろくな事がない
284NAME IS NULL:2006/06/14(水) 18:04:24 ID:???
といって性悪説だとネットにつなげないか、多額の出金が必要。
ま、スレ違い過ぎるよね
285280:2006/06/14(水) 19:15:39 ID:???
>>281
>>282
localhostから以外はアクセスできないんですね。
ウイルスとか友達、家族のときのための備えですか。
ありがとうございました。
286NAME IS NULL:2006/06/14(水) 19:33:42 ID:???
トロイの場合は遠隔操作出来るが感染しなきゃいいだけ。
287NAME IS NULL:2006/06/14(水) 19:42:01 ID:???
>>285
最近のWindows用のMySQLのインストールの際に
「rootにパスワードを設定しろ」と出てくるようになったのは
まさにMySQLでデフォルトの管理ユーザrootが用意されてて
それにパスワードが設定されていないことを利用した
ワーム(だったと思うが)が一部で流行したため。素直にパスワードを設定汁。
ついでに設定ファイルの[mysqld]セクションにskip-networkingも記述しとけ。

288NAME IS NULL:2006/06/14(水) 19:52:06 ID:???
どうせならポート番号も変えとけ。 大事なデータを入れないなら別だが。
289NAME IS NULL:2006/06/14(水) 20:21:48 ID:???
show status
の値をサーバを再起動せずにリセットする方法ありましたら
教えてください
290NAME IS NULL:2006/06/14(水) 20:24:24 ID:MbEvWAgp
自己解決しました
http://dev.mysql.com/doc/refman/4.1/ja/flush.html

FLUSH構文 です
291NAME IS NULL:2006/06/14(水) 20:30:08 ID:???
>>290
お前の後ろに例の偉人がいるぞ。
292NAME IS NULL:2006/06/14(水) 20:31:28 ID:???
SET SESSION join_buffer_size=512K
とすると エラーを返してきます。
SET SESSION join_buffer_size=524288;
とするとうまくいきます。
いちいち計算するのもあれなので、
KとかMとかGとか使えないでしょうか?
293NAME IS NULL:2006/06/14(水) 20:42:35 ID:???
偉人こえええええええええええ
294NAME IS NULL:2006/06/14(水) 21:00:54 ID:???
>>292
|At runtime, use the `SET' statement to set system variables.
|In this context, suffix letters cannot be used, but the value can take
|the form of an expression:
| mysql> SET sort_buffer_size = 10 * 1024 * 1024;
まあ、MySQL ABに対応してくれとリクエストはしてみたら。
295NAME IS NULL:2006/06/14(水) 21:26:55 ID:???
>>294
ありがとございます。
演算子は使えるんですね、
ならばそのままでもいいかなと・・・・
296NAME IS NULL:2006/06/14(水) 22:03:30 ID:???
偉人は、今の時間 WebProg板の方で手一杯です
297NAME IS NULL:2006/06/14(水) 23:12:33 ID:???
普通DB鯖ってファイヤーウォールの中に置いてるよね。
またインターネット鯖の3306ポートでMySQLに繋げられたりはしないよね。
298NAME IS NULL:2006/06/14(水) 23:44:09 ID:???
ファイアウォールで
特定ホストからのみ許可しています。

やばいっすか?
299NAME IS NULL:2006/06/14(水) 23:50:44 ID:???
セキュリティーとは層を重ねて実現するものだ。
300NAME IS NULL:2006/06/15(木) 05:52:50 ID:???
     ::|─- 、ミヽ
     ::|j ii /  Λ
     ::| ̄`ヾ、ノイ{
     ::|    ゙、ノi!
     ::|  ,\  Yソ
     ::|  ;:こラ  j{
     ::| i ー ' ソ
     ::| j  ,′
     ::|<‐-イ
     ::|‐  /
     ::|  ,/
     ::|'r‐'´
301NAME IS NULL:2006/06/15(木) 08:16:14 ID:???
ググレさまが見てる
302NAME IS NULL:2006/06/15(木) 20:30:51 ID:???
textフィールドに数千文字のデータが入ってる場合、
任意の文字数だけ取り出すことは出来ますでしょうか?

(たとえば、先頭の100文字だけSELECTする・・・など)
303NAME IS NULL:2006/06/15(木) 20:48:02 ID:???
AB配布のバイナリのコンパイルオプションが
4.1の時にO3だったのが5.xになってO2になったんだけど
4.1をコンパイルするならO3のほうがいいのかなぁ
304NAME IS NULL:2006/06/15(木) 20:57:09 ID:???
>>302
ああ、おかげでもう顔半分だけでは済まないぞ。
mysql substring でググレカス
305NAME IS NULL:2006/06/15(木) 20:57:44 ID:???
>>302
LEFT()
306NAME IS NULL:2006/06/15(木) 20:58:39 ID:???
>>300
こっち見んな
307NAME IS NULL:2006/06/15(木) 21:02:08 ID:???
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
308NAME IS NULL:2006/06/15(木) 21:12:13 ID:???
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググリカタガムズカシインダカス [ Guguri Katta Gamuzcasi indacus ]
  ( 2007 〜 没年不明 )
309NAME IS NULL:2006/06/15(木) 21:18:43 ID:???
>>308
ググリかたからググレ かすw

      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
310NAME IS NULL:2006/06/15(木) 21:22:27 ID:???
次回からテンプレに入れてよ。

偉人さんと下記のURL
http://homepage2.nifty.com/motoyukeyo/kentei2/setumei/hoho.htm
311NAME IS NULL:2006/06/15(木) 21:33:42 ID:???
>>303
気になるなら好きなオプションでソースからコンパイルすれば。
312NAME IS NULL:2006/06/15(木) 21:46:57 ID:???
 
           __, --──−、_
           /::_, -‐─ ‐-、_::::`‐-、
.           /::/        `‐i:::::::ヽ
           |:./           ',ミ::::::}
           }:l             lミ::::::l'
         _!,'_ ,..-- ..、   __ !::::::::|
        lヽ! `i ィェッ、.i'゙"i';;;ィェッ;,`i===,、
         ',.l  ゙、゙゙゙゙゙,ノ  ヽ_"゙゙ ゙/ r;;;;;;/
          i|    ̄,'  ::::ヽ `''" .,{;;;;;;/
           ',.    ゙`-"゛''   ,};;;;;;'
          !   ,_、,___,  /;;;/"
         _,` 、       /;;r'
   _,, -─ '';;;;;;;;;| 、ヽ,,____,,-‐';;;;;;;;;;;\_
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|  \    _//;;;;;;;;;;;;;;;`ヽ、
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|   r‐ィt- '" /;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|  /,彡彡}  ,!;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      ツレマスカ [Vladimir Tzlemazka]
        (1915-1997 ロシア
313NAME IS NULL:2006/06/15(木) 21:50:46 ID:knTR55Mc
>>311
うん、いつもソースからコンパイルしてるんだけど
昔は1000超える多数の接続受けるならスレッドスタック減らせとかあったけど
今はなくなってるのね

EM64Tだから -m64 つけたいけどgccが対応していないよー
314NAME IS NULL:2006/06/15(木) 21:55:01 ID:???
 
           __, --──−、_
           /::_, -‐─ ‐-、_::::`‐-、
.           /::/        `‐i:::::::ヽ
           |:./           ',ミ::::::}
           }:l             lミ::::::l'
         _!,'_ ,..-- ..、   __ !::::::::|
        lヽ! `i ィェッ、.i'゙"i';;;ィェッ;,`i===,、
         ',.l  ゙、゙゙゙゙゙,ノ  ヽ_"゙゙ ゙/ r;;;;;;/
          i|    ̄,'  ::::ヽ `''" .,{;;;;;;/
           ',.    ゙`-"゛''   ,};;;;;;'
          !   ,_、,___,  /;;;/"
         _,` 、       /;;r'
   _,, -─ '';;;;;;;;;| 、ヽ,,____,,-‐';;;;;;;;;;;\_
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|  \    _//;;;;;;;;;;;;;;;`ヽ、
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|   r‐ィt- '" /;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;;;;;;;;;;|  /,彡彡}  ,!;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      ツレマセン [Vladimir Tzlemazchen]
        (1876-1939 ルーマニア)
315NAME IS NULL:2006/06/16(金) 00:27:34 ID:???
AA荒らしって規制の対象になってたっけ?
316NAME IS NULL:2006/06/16(金) 00:31:38 ID:???
自己レス。なるみたいだ。もう少し貯まったら運営に出しておきます

ttp://info.2ch.net/guide/adv.html#saku_guide
6. 連続投稿・重複
アスキーアート
 顔文字板・モナー板・ニダー板・AA長編・AAサロン・エロAA・厨房板以外では、必然性がないと判断されれば削除対象になります。
 上記も含めた全掲示板で、連続投稿・コピー&ペーストに該当するものは削除対象になります。
317NAME IS NULL:2006/06/16(金) 08:45:31 ID:???
>>313
EM64Tでコンパイルしたら通った気が・・・・

動くかどうかまでは確認してないけど。
318NAME IS NULL:2006/06/16(金) 08:53:06 ID:+aIfUPjf
Common SQL Environment ( ttp://www.hi-ho.ne.jp/tsumiki/ ) を利用されている方、いますか?
MySQLサーバーに接続する際(接続時)に「アプリケーション実行中に以下のエラーが発生しました。」
「エラー内容:オブジェクト情報取得中にエラーが発生しました。」「DBエラー詳細:DEEOR 1227」と
ポップアップが表示されます。

一応ポップアップメッセージが表示されても、MySQLには接続されているようで、SQL文を流したりすることは
できるようなのですが。

ちなみにSQL Serverへ接続した時には、このようなポップアップはありませんでした。
もし何かご存知の方がいましたら、教えて頂ければ幸いです。
319NAME IS NULL:2006/06/16(金) 11:27:18 ID:???
>>318
ここにエラーコードは定義されてはいるが。
ttp://dev.mysql.com/doc/refman/4.1/ja/error-returns.html

Error: 1227 SQLSTATE: HY000 (ER_SPECIFIC_ACCESS_DENIED_ERROR)
Message: Access denied; you need the %s privilege for this operation
320NAME IS NULL:2006/06/16(金) 13:27:59 ID:+aIfUPjf
>>319
情報ありがとうございます! なるほど。
確かにポップアップに「ERROR 1227: Access denied. You need the SUPER, REPLICATION CLIENT privilege for the operation」とありました。
訳すと、ERROR 1227 は「許されないアクセス。 あなたは、 SUPER, REPLICATION CLIENT 権限を、処理するのに必要とする」なので、
GRANTで、このユーザーに SUPER, と REPLICATION CLIENT の権限を付与して、試してみます。
ありがとうございました!
321NAME IS NULL:2006/06/16(金) 14:36:35 ID:???
OpenOfficeのbaseからodbc接続でMySQLをいじろうとすると、
日本語項目が化けてしまいます。悲しいです。
MySQL5.0.22(win)Odbc3.51は無理っぽいですか?
322NAME IS NULL:2006/06/16(金) 16:55:49 ID:???
幸いにもデータベースの障害に見舞われたことがないのですが、壊れたりするときにはどのような壊れ方をするのでしょうか?
一番気になるのはinsertの結果がディスクに反映される前に障害が起きた場合にどうなるかなのですが、どうなるのでしょうか?
323NAME IS NULL:2006/06/16(金) 17:02:20 ID:???
>>322
不幸にも過去ガンガンDB壊れているけどな。オレ。
テーブルやインデックスに矛盾が生じてクエリエラーになったり、あるのにクエリ
かからなかったり、主キーが重複してると言ってきたり色々ある。
でもちゃんと repairできる。ディスク障害以外でrepair出来なかった事ないな。
324NAME IS NULL:2006/06/16(金) 19:48:25 ID:???
>>321
データベースの文字エンコーディングは何?
ODBCでの接続だと変換関係が上手くいかない(時もある)ので
JDBCでの接続に変えてみるというのも手。
でも項目が全部化けるのなら設定の問題だと思うよ。
325NAME IS NULL:2006/06/16(金) 20:22:38 ID:???
>>323
それって論理的に壊れてるの?
たとえば、リレーショナルしてたら、リレーショナルも逝く?
326NAME IS NULL:2006/06/16(金) 21:26:22 ID:???
>>323
repairは論理的な矛盾までは直してくれないよ。
リレーション関係の矛盾は残る。
327NAME IS NULL:2006/06/16(金) 21:28:13 ID:???
ません。↑ 325 へのレス
328321:2006/06/17(土) 00:55:28 ID:???
>>324
JDBC接続にしたら、すんなりきれいに出力されました〜!
ありがとうございました。
329NAME IS NULL:2006/06/17(土) 02:19:48 ID:???
定期的にmysqlと違う話題が迷い込むな。

SQL自体の質問はスレ違い。

【帰ってきた】SQL質疑応答スレ 2問目
http://pc8.2ch.net/test/read.cgi/db/1141622643/l50
330NAME IS NULL:2006/06/17(土) 04:23:52 ID:???
粘着スレ違い厨うせぇ・・ 早くいなくならないかな・・・
331NAME IS NULL:2006/06/17(土) 09:41:50 ID:???
mysql固有の話題してればいいのだよ。関係ない話するから湧く。
332NAME IS NULL:2006/06/17(土) 12:35:02 ID:???
SQL自体ってのはSQL文って意味なのか?
MySQLとPostgreSQLとかその他DBで記述方法が違うとかあるだろうし
専用スレに質問するのがベターだと思ってた
333NAME IS NULL:2006/06/17(土) 13:11:59 ID:???
MySQLの方言の話以前のSQLの書き方は別だろ。
・SQL-92ではこんなんだけど、MySQLでは上手くいかないんだが
(準拠とはいえ互換性低くね)
・PostgreSQL、Oracleではこう書いてやってるんだけど
副問い合わせの出来ないMySQL3.xではどうやったら良いかね。
とかは、ここが適正。
334NAME IS NULL:2006/06/17(土) 14:22:27 ID:???
まあ標準SQLで動かないときに相談するのはアリだと思うけど。
それ以前のはちょっとね……
335NAME IS NULL:2006/06/18(日) 15:21:55 ID:???
なるべく標準SQLで実装するのが、DB非依存の基本。
最初から特定のDB前提で組むと後で苦労するよ。
336NAME IS NULL:2006/06/18(日) 18:13:51 ID:j7BtzjXk
OS(WindowsXP)を再インストールしたら
CGIからMySQLに接続できなくなってしまいました。

my($dbh, $sth);
$dbh = DBI->connect('DBI:mysql:seibundo:localhost', "$mysqlid", "$mysqlpass") or return 0;
↑ここで失敗する
$sth = $dbh->prepare("$_[0]");
$sth -> execute() or return 0;

原因がわかるエラーメッセージを表示できないものでしょうか?
よろしくお願いします。

Apache HTTP Server 1.3.33
ActivePerl522
MySQL Server 4.1
337NAME IS NULL:2006/06/18(日) 18:21:25 ID:???
336です。追記です。

DBD-MysqlとDBIは
http://ppm.activestate.com/PPMPackages/zips/5xx-builds-only/
からダウンロードしてインストールしました。
338NAME IS NULL:2006/06/18(日) 19:30:43 ID:???
結論:win(ry
339NAME IS NULL:2006/06/18(日) 23:16:20 ID:???
>>336
なんで今更古いバージョンのPerlを使っているのか謎ですが。
or die $DBI::Errorとかすれば分かるんじゃね?
340NAME IS NULL:2006/06/19(月) 10:55:36 ID:???
そもそもperlの問題だろ。
mysqlコマンドで接続できれば、mysqlは無関係。
% mysql -u mysqlid
の実行結果を曝せ。
341NAME IS NULL:2006/06/19(月) 21:44:17 ID:???
.NET Framework2.0からmysqlを利用するには
どういったライブラリがありますか?
公式のConnector/.NETはFramework1.1にしか
対応していないようなのです
342NAME IS NULL:2006/06/20(火) 10:56:34 ID:???
.NETスレで、ODBCかJDBCの使い方でも訊け。
MySQLに関係無い。つーかMySQL側で出来ることは何も無い。
343NAME IS NULL:2006/06/20(火) 11:17:24 ID:???
そうします。失礼しました
344NAME IS NULL:2006/06/20(火) 19:12:57 ID:???
結論:win(ry
345NAME IS NULL:2006/06/20(火) 22:22:46 ID:j1rdIaDT
sennaを組み込むためにソースからインストールしようとしていますが、
http://dev.mysql.com/doc/refman/4.1/ja/mysql-binaries.html
ここを見ると、CPUの最適化オプションに
pentiumproが指定されています。

sennaのこのページによると
http://qwik.jp/senna/mysql_configure.html
pentium4を指定していますが、
どっちが速くなるのでしょうか?
346NAME IS NULL:2006/06/20(火) 23:30:41 ID:???
select 〜 into outfile 構文で出力するデータを
既存のファイルに追記させることって
できないでしょうか?

追記させようとすると

ERROR 1086 (HY000): File 'a.txt' already exists

というエラーが出るのですが。
347NAME IS NULL:2006/06/21(水) 06:15:13 ID:???
348NAME IS NULL:2006/06/21(水) 10:31:34 ID:???
>>347
その手だとmysqlやmysqldumpツールが入ってないと出来ないから
隠れた条件に合わないかも。

つうてもSELECT INTO OUTFILEで既存ファイルが指定できないのは
マニュアルに書かれてる通りの理由があるからな...

349NAME IS NULL:2006/06/21(水) 15:22:58 ID:???
あるテーブルの主キーを調べる構文ってありますか?
show columnsでカラム全部を吐き出して調べるのではなく
主キーの名前だけを抽出するような技があればよいのですが。。
350NAME IS NULL:2006/06/21(水) 15:52:28 ID:S4UzvAAF
>>349
何そのprimary key
351NAME IS NULL:2006/06/21(水) 17:42:11 ID:4s8CJcwM
みなさん、「phpMyAdminのエクスポートで文字化けする対策 」を公開したので見て下さい。

http://akira.bitter.jp/index.php?ID=57

おかしい所があったらブログのコメントで教えてください。
352NAME IS NULL:2006/06/21(水) 18:20:06 ID:???
>>351
ブログむさ重いんでここに書く

「ローカル環境を鯖環境にきちんと合わせれば文字化けなどしない」
353NAME IS NULL:2006/06/21(水) 20:22:59 ID:4s8CJcwM
>>352
現実的には、やっぱ対応する必要があります。

・サーバを移転
・既存システム(UTF-8)に別システム(EUC-JP)を追加

などなど...
354NAME IS NULL:2006/06/21(水) 21:58:43 ID:???
>>351
エクスポートする機能なのに、文字化けって意味わからん。
phpmyadminのエクスポート機能は、単純に格納してる生データを吐き出せないのか。
まあmysqldumpも最近のは、"余計な変換"を掛けやがるけど。
355NAME IS NULL:2006/06/21(水) 23:58:36 ID:???
utf8で統一すれば化けないけどな。
sjisとか使うと化けるのは当たり前。
356NAME IS NULL:2006/06/22(木) 04:15:41 ID:1d2hPd6+
だめだ、MySQLサーバがまたダウンorz

どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない?
357NAME IS NULL:2006/06/22(木) 04:19:30 ID:???
>>356
ロリ。サーバー1台じゃないが。
358356:2006/06/22(木) 11:48:29 ID:AgHOUkWe
レスTHX。
実はいま使ってるのがロリ。。。orz

MySQLはさくらとかの方がいいのかな?
359NAME IS NULL:2006/06/22(木) 13:07:06 ID:???
>>356
ロリポップはレスポンスが悪いので、移転中です。
移転先はさくら。
年6,000円。
360NAME IS NULL:2006/06/22(木) 15:08:05 ID:???
mysql5.0をwin2000にインストールしようとしてるんだけど
server instance configurationの最後のところで
Start service
ってのがペケになって
Could not start the service MYSQL Error:0
ってなる
どうすればいいんだー
361NAME IS NULL:2006/06/22(木) 15:31:54 ID:???
厳禁 結論:win(ry
362NAME IS NULL:2006/06/22(木) 16:49:47 ID:???
>>360
エラーログ見ろよ
363NAME IS NULL:2006/06/22(木) 17:04:23 ID:???
ログもログに見てない奴には何言っても無駄
364NAME IS NULL:2006/06/22(木) 18:04:11 ID:???
エラーログが英語で読めない香具師は向いてないから諦めろ。スキルが足りない。
365NAME IS NULL:2006/06/22(木) 19:35:47 ID:???
MysqlQueryBrowserで各Columnの幅がどうも取り過ぎてるのですが
指定幅に設定する方法はないでしょうか
366NAME IS NULL:2006/06/22(木) 20:15:16 ID:???
>>361
それを使わないと、答えにならないw
367356:2006/06/22(木) 21:42:01 ID:ibZJTjrn
>>359
さくらはロリより快適?
年1万5千円のコースの方がMySQLは早いのかと思うのだが。。。
368NAME IS NULL:2006/06/22(木) 23:07:02 ID:???
>>360
エスパーが予想するに、InnoDBの設定がおかしい。
369NAME IS NULL:2006/06/23(金) 06:26:13 ID:???
俺様が断言するに、windowsを使うのが悪い。
370NAME IS NULL:2006/06/23(金) 06:44:11 ID:???
>>369
悪かったなwinでちゃんと動かしてて。
371NAME IS NULL:2006/06/23(金) 06:49:59 ID:???
まあ俺的にはwindowsを使うのが悪い
372NAME IS NULL:2006/06/23(金) 11:09:02 ID:???
winではちゃんと動いてる様に見えるだけで動いてないと思う。
373NAME IS NULL:2006/06/23(金) 11:46:44 ID:???
じゃあ動いてるように見えればいいだけのシステムにはwinを使おう
374NAME IS NULL:2006/06/23(金) 15:07:51 ID:???
仕事してる様に見せてるだけのエンジニアはウィンドウズを昔から使ってる訳だが。
375NAME IS NULL:2006/06/23(金) 17:10:10 ID:???
だから開発や検証用にはWin環境でも許してやれよ。
376NAME IS NULL:2006/06/23(金) 19:32:57 ID:???
>>370
そんな錯覚をおこさせるOSはやめとけw
377NAME IS NULL:2006/06/23(金) 21:58:07 ID:???
じゃあ何がいいんだよぅ。
NetBSDあたり?
378NAME IS NULL:2006/06/23(金) 23:49:30 ID:???
質問です。 環境は windows98SE + MySQL4.0.26 + php4.4.2 + phpMyAdmin2.8.1 です。

MySQLをインストールした後に最初に winmysqladmin.exe を起動させるとID、パスワードの
入力を求めらますよね? ここで

ID = user1
パスワード = pass1

としてユーザー登録を行ったのですがこのIDでphpMyAdminにログインすることが出来ません。

ID = root
パスワード = (なし)

だとログイン出来るのでuser1がMySQLに弾かれているようです。
インストール直後に入力したIDとパスワードは何故使えないんですか?
379NAME IS NULL:2006/06/23(金) 23:50:51 ID:???
winmysqladmin.exe用のアカウントだから。
380378:2006/06/23(金) 23:56:08 ID:???
追記、

このページにperlとphpで書かれた2つのCGIがあります。 CGI内でID、パスワードを指定するところを
http://homepage1.nifty.com/yito/anhttpd/faq/mysql.html

ID = root パスワード = (なし)  と書くと正常に動くんですが、
ID = user1 パスワード = pass1 と書くとエラーが返ってきます。

user1、pass1の入力ミスかと思い何度も試したのですが正しく入力されており、
my.ini にちゃんと user1、pass1 と書かれていることも確認しました。
381378:2006/06/23(金) 23:57:33 ID:???
>>379
ありがとうございます。 何か特別なユーザーIDだということですね?
よく分からないのですがこのユーザーIDは一体何に使うものなんでしょうか?
382NAME IS NULL:2006/06/24(土) 00:07:38 ID:???
>>381
mysql.user見ないの?
383NAME IS NULL:2006/06/24(土) 00:23:39 ID:???
>>380
>ID = user1 パスワード = pass1 と書くとエラーが返ってきます。
そういう時はきちんとそのエラーとは具体的に「何なのか」を
提示するのが当たり前だと思いねぇ。
(経験と想像によって類推は出来るが、確定できない)
まあ>>382を先に確認汁

あと
>my.ini にちゃんと user1、pass1 と書かれていることも確認しました。
この手の設定ファイルは「何処に書かれてる」のかというのが重要。
my.iniであれば、[client]のとこなのか[mysql]のところなのか等々。
仮にコメントとして書かれてたとしたら設定としては意味がないわけでしょ。
ただ、取り合えずphpMyAdmin(PHP)からの接続に
my.iniのMySQLアカウントは関係ないから考慮しなくていい。
関係するとすればPHPの設定ファイルの方

>>378
>phpMyAdminにログインすることが出来ません。
「に 」じゃなくて「では」だよな。
BASIC認証とか独自の認証を掛けてて、それの認証というオチは無しナ。
384378:2006/06/24(土) 00:27:04 ID:???
>>382
どうもです。 phpMyAdminでデータベース"mysql" を選び、User項目を表示させてみたら

s User //この行は見出し
1 root
1

というテーブルが表示されました。 user1が出てきませんがこれは一体。(;´Д`)
385NAME IS NULL:2006/06/24(土) 00:41:00 ID:???
だから言ってるだろ
winmysqladmin.exe用のアカウントだから。

user1を使いたければ登録すれば良いだけの話
386378:2006/06/24(土) 00:41:09 ID:???
>>383
どうもありがとうございます。 情報の小出しになっていましたか、すみません・・。
http://homepage1.nifty.com/yito/anhttpd/faq/mysql.html に書かれているperl版CGIのユーザー名、
パスワードを user1、pass1 に書き直してブラウザで読み込むとこのエラーが表示されました。
(再度root、パスワードなし に書き換えたら正しく表が表示されました)

> Internal Server Error
>
> The server encountered an internal error or misconfiguration and was unable to complete your request.
>
> Please contact the server administrator, [email protected] and inform them of the time the error occurred,
> and anything you might have done that may have caused the error.
>
> More information about this error may be available in the server error log.

また、apacheのerror.logには以下のエラーが記録されました。 (改行して2行になってますがこれで1行です)

> [Sat Jun 24 00:35:28 2006] [error] [client 127.0.0.1] DBI connect failed : Access denied for user:
> 'user1@localhost' (Using password: YES) at C:/apache-hp/public_html/cgi-bin/mysql.cgi line 12.\r

そして、my.ini には以下のように書かれていした。

[WinMySQLadmin]
Server=C:/MYSQL/bin/mysqld-opt.exe
user=user1
password=pass1

// my.ini はインストールしてから一度もいじっていません。 インストールは数時間前にやり直したばかりです。
387NAME IS NULL:2006/06/24(土) 00:47:29 ID:???
なんかまたmysqlには関係ない感じ。
アパチスレでphpとperlの設定訊け。
mysqlコマンドで接続できれば、mysqlは無実。つーかこの程度の切り分けぐらいしてくれ。
[email protected]にメールで問い合わせれば何か教えてくれるかもな。
英語のメッセージも読めない香具師はこういうソフト使うの向いてないよ。
388NAME IS NULL:2006/06/24(土) 00:54:55 ID:???
>>383
>phpMyAdmin(PHP)からの接続にmy.iniのMySQLアカウントは関係ないから考慮しなくていい。
>関係するとすればPHPの設定ファイルの方

う〜ん、これがよく分からないです。 user1はMySQLのアカウントではないってことは分かりました。
PHPの設定ファイルとはどこのことでしょうか?

>BASIC認証とか独自の認証を掛けてて

まだMySQLをインストールし、user1、pass1を設定しただけの状態です。
perl、php、apacheも同様にmysqlを動かすための最低限の設定以外はいじってません。

>>385
MySQLにログインするためのアカウントではないということですね、ありがとうございました。

>>387
root、パスワードなし の場合は正常に動くのでそういう問題ではないです。
389NAME IS NULL:2006/06/24(土) 01:03:19 ID:???
>>387
my.iniの[WinMySQLadmin]セクションにあるuser=、password=は一体何に使うアカウント? というお話。
390NAME IS NULL:2006/06/24(土) 01:30:35 ID:???
>>384
結論から言うと>>385が言ってる事が正解。
MySQLのユーザアカウントとしては>>384に示されたものしかないので、
user1というアカウントをPHPやwinmysqladmin等で使いたければ、
現状使えるMySQLの管理ユーザrootで、user1というアカウントを
追加設定する必要がある。

>>386
|[error] [client 127.0.0.1] DBI connect failed : Access denied for user:
| 'user1@localhost' (Using password: YES)
このエラーの内容がキモな。
# 上のエラー提示してもしかたがないと気づくべき(ことが将来的には望まれる)もの

|[WinMySQLadmin]
|user=user1
|password=pass1
これはWinMySQLadminがデフォルトで使う、
MySQLのユーザアカウントを指定している。
しかし指定しているアカウントuser1は、前述のとおり未登録。

>>388
>PHPの設定ファイルとはどこのことでしょうか?
php.ini等のmysqlセクションのこと。
これはmysqlの話ではなくPHPの話なので、マニュアルを読んでも判らなければ「相応しいところ」へ。
(もっともphpMyAdminの設定で指定するなら、PHPの設定ファイルでやる必要はない)
391NAME IS NULL:2006/06/24(土) 02:54:38 ID:???
>>377
win以外だったら、どれでもw
392378:2006/06/24(土) 03:04:31 ID:???
>>390
なるほど、WinMySQLadminがデフォルトで使うアカウントだったんですか、ということは
IDとパスワードを省略した場合はこのアカウントが使われるということですね。
ようやく納得出来ました、どうもありがとうございました。m(_ _)m

// MySQLインストール後の初起動時にuser1、pass1を登録したときに
// 同じID、パスでMySQLにログインするためのアカウントを自動で作ってくれれば
// こんなややこしいことにはならないのに何故そう作らなかったんだろう。
// 今回のことを疑問に思ったのは自分だけじゃないはず・・。

>上のエラー提示してもしかたがない
それはちょっと違います。 「どういうエラーが出たか」 の答えなので提示する必要がありました。
自分も意味が無いと思い、「エラー」としか書かなかったんですが上で怒られてしまいました。

>php.ini等のmysqlセクション
php側でもmysqlのデフォルトのアカウントを指定出来るんですか、なるほど。
phpスクリプト内でID、パスを省略するとこれが使われるということですね。
393NAME IS NULL:2006/06/24(土) 03:18:44 ID:vXTz5abN
>>392
うざい、知らんくせにぐだぐだ言うな
頭のいい人間は試行せずに思考で仕組みを理解できるが、
俺は試行しないと理解できない。
お前は試行すらできないであーだこーだ言うわけよ。
わかるか?
394378:2006/06/24(土) 03:36:13 ID:???
>>393
感情でものを書くあなたにどう言われようが構わないです。 みっともないですよ。
395NAME IS NULL:2006/06/24(土) 03:45:56 ID:???
>>394

あかんぼが夜中に起きてぐずっているだけだから、
気にすんな。
396393:2006/06/24(土) 03:48:11 ID:???
>>379
>>382
>>385
この3つは俺の発言だが何か?
397378:2006/06/24(土) 03:54:56 ID:???
>>395
そうですね、どうもです。
398NAME IS NULL:2006/06/24(土) 03:55:33 ID:???
それが何か?
399NAME IS NULL:2006/06/24(土) 04:12:57 ID:???
タコって大変だね
400NAME IS NULL:2006/06/24(土) 08:44:06 ID:???
>>378のテーマソングは
「思い込んだら試練の道を〜」な気がするw
思い込み激しすぎw 2chに訊きにくる前に少しは自分を疑えw
401NAME IS NULL:2006/06/24(土) 08:45:12 ID:???
s/自分/自分の思い込み/
402NAME IS NULL:2006/06/24(土) 08:58:02 ID:???
重いコンダラ、、、
403NAME IS NULL:2006/06/24(土) 10:07:31 ID:68KCB3XC

『アイアンファイター』ができたらハリウッドが映画化する
404NAME IS NULL:2006/06/24(土) 16:05:39 ID:???
Kondaraって重いのかw
405NAME IS NULL:2006/06/24(土) 20:22:56 ID:???
>>404
ヒント:巨人の星
406NAME IS NULL:2006/06/24(土) 22:19:53 ID:???
コンダラっていうのは、グラウンドを整地するための
コンクリのドラムに引き棒をつけたもの。
野球部員が特訓として一人で引く時もあるが、
かなり重いらしい。

スレ違いすまん。
407NAME IS NULL:2006/06/25(日) 01:31:18 ID:???
ロードローラーだッ!!
408NAME IS NULL:2006/06/25(日) 02:18:10 ID:???
また猿がキーキー騒いでるのか、さっさと氏ねよ負け犬野郎
409NAME IS NULL:2006/06/25(日) 22:16:02 ID:???
ど根性
410NAME IS NULL:2006/06/25(日) 23:36:44 ID:???
やっぱりmysql -u user1でアクセスできなかったってヲチじゃん。氏ね!
411NAME IS NULL:2006/06/26(月) 00:44:45 ID:???
論点も分かってない馬鹿は黙ってたほうがいい
412NAME IS NULL:2006/06/26(月) 04:32:03 ID:???
phpMyAdminが無いと弄れない香具師は素人。
アクセスやSQL鯖でもどうぞ(w
413NAME IS NULL:2006/06/26(月) 06:41:11 ID:???
アクセスをフロントエンドに使ってる俺は勝ち組
414NAME IS NULL:2006/06/26(月) 08:28:28 ID:???
正直、「DBとかSQLに触ってみる」という目的ならMSSQLがいいと思うよ
MS独特のややこしさがあるけど一通り揃っているし、GUIインターフェースも完備

unix系OSのDBは、DB・ツール・OS等がそれぞれ別の思想で作られていて、
問題の切り分けが出来ないと扱うのは難しい。

サーバとして使うなら、何やっているかわからないMS製品なんか却下するけど。
415NAME IS NULL:2006/06/26(月) 10:19:16 ID:???
そうは言ってもですね w 入門書についてんのは大概MySQLだし。
MSSQLも鯛鍵盤(←なんちゅう変換じゃ)みたいなんあるとは思うけど。
416NAME IS NULL:2006/06/26(月) 10:28:06 ID:???
なんか、別の思想らしい
417NAME IS NULL:2006/06/26(月) 12:10:54 ID:???
SQL鯖も無料で使えるよ。
ttp://www.microsoft.com/japan/sql/editions/express/default.mspx
SQL Server Express は無償でのダウンロードによって提供され、自由に再頒布が可能です。

詳細はこちら
Microsoft SQL Server 総合スレ 4
http://pc8.2ch.net/test/read.cgi/db/1142315583/l50
418NAME IS NULL:2006/06/26(月) 16:58:00 ID:???
体験版
419NAME IS NULL:2006/06/26(月) 19:27:33 ID:???
結論:
windowsでは
Microsoft SQL Serverでアクセスをフロントエンドに使うのが正しい。

というか、MS製品以外使わないのが幸せ。
420NAME IS NULL:2006/06/26(月) 20:54:13 ID:GNq2Onxw
$mysql -u hoge -p -h mysql.db.example.com
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 31469664 to server version: 4.0.26

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE TABLE test
-> (
-> id INT(7) NOT NULL,
-> mona INT(5),
-> giko INT NOT NULL
-> );

とすると「ERROR 1046: No Database Selected」というエラーが返ってきます。
データベースが選択されていない??

DBサーバにログインする際にhostを指定しましたけど。
どなたか原因分かりますでしょうか?
421NAME IS NULL:2006/06/26(月) 20:56:39 ID:???
偉人が来る!!
422NAME IS NULL:2006/06/26(月) 21:00:32 ID:???
泣けるぜ
423NAME IS NULL:2006/06/26(月) 21:12:35 ID:???
ワロタ。
データベースぐらい指定しようぜ。
424NAME IS NULL:2006/06/26(月) 21:18:56 ID:GNq2Onxw
すまん詳しく(;_;)
425NAME IS NULL:2006/06/26(月) 21:21:25 ID:???
ますます泣けるぜ
426NAME IS NULL:2006/06/26(月) 21:25:57 ID:???
>>420

     ::|─- 、ミヽ
     ::|j ii /  Λ
     ::| ̄`ヾ、ノイ{
     ::|    ゙、ノi!
     ::|  ,\  Yソ
     ::|  ;:こラ  j{
     ::| i ー ' ソ
     ::| j  ,′
     ::|<‐-イ   おまいは、その
     ::|‐  /    「ERROR 1046: No Database Selected」
     ::|  ,/ さえも読めないのか?   とほほ
     ::|'r‐'´
427NAME IS NULL:2006/06/26(月) 21:27:35 ID:???
これはwindowsだろうとLinuxだろうとかんけーねーべ。
428NAME IS NULL:2006/06/26(月) 21:28:12 ID:???
429NAME IS NULL:2006/06/26(月) 21:28:52 ID:???
>>420
ヘルプにTutorialがあるだろ。
それやったら?
あまりにも恥ずかしすぎ。
430NAME IS NULL:2006/06/26(月) 21:32:09 ID:???
>>420の¥マークはwindowsの証
\は日本では¥記号にアメリカでは$記号に化けるという噂だ。
431NAME IS NULL:2006/06/26(月) 21:33:48 ID:???
くーーー、今夜は泣けるぜw
432NAME IS NULL:2006/06/26(月) 21:33:52 ID:GNq2Onxw
>>430
Linuxですけど (;_;)
433NAME IS NULL:2006/06/26(月) 21:34:58 ID:???
全米が泣いた
434NAME IS NULL:2006/06/26(月) 21:39:04 ID:???
>>430 それは知らんかった。馬鹿にしてスマソ
ところで、use hogehogeの使い方は覚えたか?
435NAME IS NULL:2006/06/26(月) 21:41:39 ID:???
use the use!!! luke!!!
436NAME IS NULL:2006/06/26(月) 21:48:08 ID:???
>>420さんは、mysqlというDBにテーブルを作ろうとしているらしい。
おもしろすぎ。
437NAME IS NULL:2006/06/26(月) 21:55:56 ID:GNq2Onxw
$mysql -u hoge -p -h mysql.db.example.com [データベース名]

mysql> CREATE TABLE mona
-> (
-> mona INT(7) NOT NULL,
-> shii INT(5),
-> giko INT NOT NULL
-> );

Query OK, 0 rows affected (0.08 sec)

おっと…、解決しましたよ。
おまいら優しすぎだよ (;_;)

>>436
リアルの世界でも「君、ホント面白い人だね」ってよく言われます。
MySQLあきらめようと思ってましたが、解決して良かった。ホントーに良かった。終り。
438NAME IS NULL:2006/06/26(月) 22:03:59 ID:???
>>437
この難問を1時間で解決した君は将来性があるぞ。
439NAME IS NULL:2006/06/26(月) 22:07:52 ID:???
東海の 小島の磯の 白砂に
これも用意してたのだが、使わなくて済んで良かった。
440NAME IS NULL:2006/06/27(火) 05:39:30 ID:???
>>413
アクセスをフロントエンドにつかうメリットって何?
441NAME IS NULL:2006/06/27(火) 09:34:42 ID:???
馬鹿に対する敷居の低さ。
ウェブで扱えない香具師は今はゴミだけどな。
442NAME IS NULL:2006/06/27(火) 10:38:13 ID:???
sql使えるくらいで天狗になれる馬鹿はいい加減消えてくれないかな。
アクセル使えるようになって自慢してるおやじと大差無いことに気付けよ。
443NAME IS NULL:2006/06/27(火) 11:11:46 ID:???
フロントエンドってアクセス以外に何があるの?
444NAME IS NULL:2006/06/27(火) 11:27:09 ID:???
Delphi
445NAME IS NULL:2006/06/27(火) 11:58:03 ID:???
PHPとMySQLで名簿を作っています。
フォームからあるメールアドレスと名前・住所などが送信されたときに、
そのメアド(主キーです)がDBに存在しなければINSERT、
既に存在しているならUPDATEというSQLを投げたいと思います。

これを実現するにはあらかじめフォームから来たメアドをWHERE句に入れてまずSELECTしてみて、
結果がエラーとなるかどうかを調べておき、
その結果をもとにINSERTにするかUPDATEにするかを条件分岐させる方法しかないでしょうか?
446NAME IS NULL:2006/06/27(火) 12:13:15 ID:???
REPLACEとか
447NAME IS NULL:2006/06/27(火) 13:40:54 ID:???
>>446
ちょっとリファレンスを見てみましたが、
もしかして4.1以上じゃないとそれは使えませんかね・・・??

当方の環境は3.23です。
448NAME IS NULL:2006/06/27(火) 15:00:14 ID:???
>>442
そういう細かい差の積み重ねが、結局は大きな差となってるんだよ。
アクセルだけで、ブレーキが使えない香具師はダメだけどな。
449NAME IS NULL:2006/06/27(火) 15:01:24 ID:???
>>447
いや使える。
つか、いい加減MySQL3.xは捨てに掛かれ。
450NAME IS NULL:2006/06/27(火) 15:15:11 ID:???
>>449
捨てたいんですが、バージョンアップを躊躇するポイントが二つあります。

・鯖にPleskが入ってるため、怖くてMySQLをバージョンアップできない
・4.1や5.0は文字コードで苦労するらしいのでやっぱり怖い

逆に、このまま3.xを使い続けるとマズい点とかありますでしょうか・・・??
451NAME IS NULL:2006/06/27(火) 15:22:50 ID:???
掲示板を作っているのですが、
1番最新のレスだけ返すにはどうしたらいいでしょうか?
渡しているのはスレッド番号だけです
多分、insert時間順にorderで並び替え、その何番目を取得見たいな感じだろうとは思うんですが…
お力お貸しください
452NAME IS NULL:2006/06/27(火) 15:28:28 ID:???
>>450
問題なく動いててユーザーも満足なら、あえて寝ている赤子を起こすようなことを
しなくてもいんじゃねーの
>>451
どうすればって、自分で答え書いてるじゃん。何を求めてるか解らん。
453451:2006/06/27(火) 15:31:03 ID:???
各スレッドの最新レスだけを抜き出したいんです
具体的には「何番目〜」ってところが分かりません
454NAME IS NULL:2006/06/27(火) 16:07:42 ID:???
limit
455NAME IS NULL:2006/06/27(火) 16:35:09 ID:???
ここ最近のアホの湧き方は異常だと思う
456NAME IS NULL:2006/06/27(火) 17:50:20 ID:???
っていうか、451に案件を発注した会社または依頼した上司が気の毒でならん。
457NAME IS NULL:2006/06/27(火) 18:39:06 ID:???
Could not start the service MySQL
というエラーが出てサービスが開始できないのですが
どうすれば良いのでしょうか?
458NAME IS NULL:2006/06/27(火) 18:49:20 ID:???
東海の 小島の磯の 白砂に

今日使えて無駄にならなくてよかった。
459NAME IS NULL:2006/06/27(火) 19:07:40 ID:???
>>457
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
460NAME IS NULL:2006/06/27(火) 19:59:58 ID:???
ERROR 1064 (42000): You ha
corresponds to your MySQL
ase
show databases
show databases
connect test
show databases' at line 1

show databases;と打ったらこうなったのですが
これはどういうことなのでしょうか
461NAME IS NULL:2006/06/27(火) 20:22:17 ID:???
>>460
mysql:「バカだなお前。ちゃんと解るコマンド打てよ。それとちゃんとググレよ」
って言ってる。
462NAME IS NULL:2006/06/27(火) 20:27:39 ID:???
模範解答:「それウィルスのせいですよ」
463NAME IS NULL:2006/06/27(火) 20:44:04 ID:???
>>457
Windowsで使うのをやめるのが一番。

次善の策としては、logとか見て起動できない原因を把握


464NAME IS NULL:2006/06/27(火) 20:54:30 ID:???
win使うな厨がそろそろ面白くなくなってきた
465NAME IS NULL:2006/06/27(火) 21:34:16 ID:???
くーーー、今夜も泣けるぜw
466NAME IS NULL:2006/06/27(火) 21:53:38 ID:43MwoCfH
長文になってすみません、
MySQLの、日付型の比較について教えてください。

MySQL:Ver 5.0.21, for pc-linux-gnu (i686) using readline 5.0
OS:Fedora Core 4.0

という環境で、

CREATE TABLE `test_tb` (
`id` int(11) NOT NULL auto_increment,
`i_datetime` datetime NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

というテーブルをつくり、
mysqlプロンプトから次のような検索を行っているのですが、

mysql> SELECT i_datetime FROM test_tb WHERE i_datetime >= '2006-6-1 00:00:00';
+---------------------+
| i_datetime |
+---------------------+
| 2006-06-01 10:14:03 |
| 2006-06-02 15:40:05 |
| 2006-06-04 12:13:54 |
| 2006-06-08 23:04:27 |
| 2006-06-09 01:30:03 |
| 2006-06-10 00:33:36 |
| 2006-06-10 15:28:34 |
| 2006-06-11 16:45:09 |
+---------------------+
8 rows in set (0.00 sec)

mysql> SELECT i_datetime FROM test_tb WHERE DATE(i_datetime) >= '2006-6-1';
Empty set (0.00 sec)


となるのですが、
2番目の検索がなぜEmptyになるのか分かりません
どなたか、Emptyになる理由を教えていただけないでしょうか!

MySQLマニュアル日本語訳には、比較演算子の項に、
「引数のどちらかが TIMESTAMP または DATETIME 型のカラムで、もう一方が定数の場合、定数は比較の実行前にタイムスタンプに変換される。これは ODBC との互換性を確保するために行われる。 」
と書かれているのですが、2番目の検索では条件が文字列で比較されているように思いますが、
そういう仕様なのでしょうか?
467NAME IS NULL:2006/06/27(火) 22:07:35 ID:???
>>315
×規制
○削除

実際は削除人は暇じゃないのでどうでもいいものはスルー
468NAME IS NULL:2006/06/27(火) 22:09:23 ID:???
二番目の場合は文字列比較だからなんじゃねーの?
... >= '2006-06-01'
にするとどうなる?
469NAME IS NULL:2006/06/27(火) 22:23:54 ID:43MwoCfH
>> 468

アドバイスありがとうございます

mysql> SELECT i_datetime FROM user WHERE DATE(i_datetime) >= DATE('2006-6-1');



mysql> SELECT i_datetime FROM user WHERE DATE(i_datetime) >= '2006-06-01';

だと、

+---------------------+
| i_datetime |
+---------------------+
| 2006-06-01 10:14:03 |
(中略)
8 rows in set (0.00 sec)

と期待通りの結果になるのですが、
... >= '2006-6-1'
にするとなんで文字列比較になっちゃうんでしょう・・?
マニュアルを読んでもいまいち理解できなくて、
それがちょっと気持ち悪いです
470NAME IS NULL:2006/06/28(水) 00:25:19 ID:???
'2006-6-1'はchar→datetimeの暗黙の変換の対象にはならないのでは。
471NAME IS NULL:2006/06/28(水) 01:12:31 ID:???
DATE 関数が文字列を返す。ので、「引数のどちらかが TIMESTAMP または DATETIME 型のカラムで」の条件は満たされない。

両方 DATE 関数を使う場合も、適切に型が変換されているわけじゃなく、結果
の文字列が正規化されているのでうまく比較される。

……ってことだと思う。
472NAME IS NULL:2006/06/28(水) 01:15:04 ID:???
RDBの実装側に成ってみれば分かるよ。
速度出すためには、無駄な処理を行わないことが重要。
最低限の利便性のための実装は、パターンを限定させた実装のほうが速度がでる。

馬鹿にも分かる様に言うと、2006-6-1だと日付型の仕様を満たしてないから文字列として実行される。
ソースは有るから、自分で弄って気に入る様に拡張でもしてくれ。
473NAME IS NULL:2006/06/28(水) 01:15:31 ID:???
日時を比較すると文字列になる ってFAQだよな
474NAME IS NULL:2006/06/28(水) 01:16:32 ID:???
よく見りゃ

 WHERE DATE(i_datetime) >= '2006-6-1';

これって本当は

 WHERE i_datetime >= DATE('2006-6-1');

こうしたいんじゃないの?
475NAME IS NULL:2006/06/28(水) 01:31:29 ID:HNN8dDsA
スイマセン、winXPproにmySQL5.0.22をインストールしたんですが、
コマンドラインで
「'mysql' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と言われます
コントロールパネルで環境変数のPathも再設定したんですが
同じことを言われるのは、どういう間違いの可能性がありますか?
ちゃんとやったつもりなんですが、、

環境変数PATHに
C:\Program Files\MySQL\MySQL Server 5.0\bin 
を書き足したのですが間違ってるでしょうか?
誰か、よろしくお願いします。
476NAME IS NULL:2006/06/28(水) 02:26:21 ID:???
>>475
OSの話だと思うがな。

プロンプトで
"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe”
とやっても駄目なら、単にPATHの登録が出来てないだけ。
(空白スペースの入るpathは推奨出来んのだが)
477NAME IS NULL:2006/06/28(水) 02:35:12 ID:KUsFrB9K
466です、皆さんありがとうございます
個々の回答にはなっていませんが、今のところまとめると、


MySQL4.1日本語マニュアルから、(英語読めないんで5.0のではなく4.1のですが)

 「6.2.2.2. DATETIME、DATE、TIMESTAMP 型」より
 日付部分の区切り記号を含む文字列として値を指定する場合、10 より少ない月または日の値を 2 桁で指定する必要はありません。
 '1979-6-9' は '1979-06-09' と同じ意味になります。同様に、時刻部分の区切り記号を含む文字列として値を指定する場合、10 より少ない時、分、または秒の値を 2 桁で指定する必要はありません。'1979-10-30 1:2:3' は '1979-10-30 01:02:03' と同じです。

 「6.3.1.2. 比較演算子」より
 引数のどちらかが TIMESTAMP または DATETIME 型のカラムで、もう一方が定数の場合、定数は比較の実行前にタイムスタンプに変換される。これは ODBC との互換性を確保するために行われる。

ということから、「i_datetime >= '2006-6-1 00:00:00'」も「DATE(i_datetime) >= '2006-6-1'」も日付、日付時刻型として比較されることを期待

 「6.3.4. 日付と時刻関数」より
 DATE(expr)
 日付式または日付時刻式 expr の日付部分を取り出す。

この内容からは、日付型として返すのか、文字列型として返すのか分かりません


実際にクエリを実行した結果からは、

 条件1.i_datetime >= '2006-6-1 00:00:00' → 2006-06-01以降のレコードを返す
 条件2.DATE(i_datetime) >= '2006-6-1' → 2006-06-01以降のレコードを返さない
 条件3.DATE(i_datetime) >= '2006-06-1' → 2006-06-10以降のレコードを返す

となり、条件1は'2006-6-1 00:00:00'を'2006-06-01 00:00:00'とちゃんと解釈して、日付時刻型比較をしているように見えますが、
条件2、3では文字列比較をしているように見えます

そこで、471さんのおっしゃるとおり、
DATE 関数が文字列を返すからかと思ったので、

 条件4.CAST(i_datetime as date) >= '2006-6-1'

のように日付型に変換してやったのですが、
mysql> SELECT i_datetime FROM test_tb WHERE CAST(i_datetime as date) >= '2006-6-1';
Empty set (0.00 sec)
となり期待したものとは違い、2006-06-01以降のレコードを返しません


質問としてまとめますと、
条件1は日付時刻型比較されて、条件2・3・4は文字列比較されているような結果になるのはなぜでしょう?
比較演算子の仕様でしょうか・・・?

こういうものであれば、そういう実装をするのですが、どこかにその根拠があればすっきりするんですが

478NAME IS NULL:2006/06/28(水) 04:00:09 ID:???
口の悪い奴がいつもこのくらいの時間に書き込むから
彼のために自動書き込みアプリを起動させて寝る。朝4時に発動。

さっさと仕事探せ。今すぐ仕事探せ。今日中に面接に行け。

ハローワーク
www.hellowork.go.jp/

『 働 か ざ る も の 食 う べ か ら ず 』。

『 働 か ざ る も の 食 う べ か ら ず 』だからな。

『 働 か ざ る も の 食 う べ か ら ず 』だぞ。
479NAME IS NULL:2006/06/28(水) 04:11:10 ID:???
泣けるぜ
480働いたら負けかなと思っている:2006/06/28(水) 04:11:29 ID:???
>>478
ハローワークに接続出来ません><
481NAME IS NULL:2006/06/28(水) 05:07:54 ID:???
>>478
心配ありがと。実は昨日内定出たんだわ。
一両日中に返事して決まるので、そうなったら
今までみたいな時間帯には来れなくなるかな。

とか言おうか?
482NAME IS NULL:2006/06/28(水) 05:34:39 ID:???
>>378
>>478
明日からもう来ないでいいよ
483NAME IS NULL:2006/06/28(水) 06:33:57 ID:???
>>477
DATE()とかCAST()とかした時点で
それは「TIMESTAMP または DATETIME 型の『カラム』」じゃないから
その結果が更に文字列に暗黙に変換されてる、という仮説はどうだ。
484NAME IS NULL:2006/06/28(水) 08:22:29 ID:HNN8dDsA
>>476
ありがとうございます
"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe" -u root -p
ってしたら上手くいきました!

しかし、毎回こんな長いパスを指定しなきゃいけないんでしょうか
なんで環境変数の指定がうまくいかなかったのかわからないでしょうか。。
485NAME IS NULL:2006/06/28(水) 08:26:15 ID:???
朝から泣かせないでください
486NAME IS NULL:2006/06/28(水) 08:47:06 ID:???
>>484
「ちゃんとやったつもり」が間違ってるからだろ。俺はMySQL4.1でOS XPProだけど、パスの設定はやってるから
コマンドプロンプトでなら何処でも >mysqlで動いている。
487486:2006/06/28(水) 09:31:03 ID:???
>>484
というか、MySQLをインストールする時にPathに加えるかどうか聞いてくると思うんだけど?
4.1の例だけど、インストールする時に
Include Bin Directory in Windows PATHにチェック入れてたら、それでOKだし。
488NAME IS NULL:2006/06/28(水) 15:52:18 ID:dAVbcN0m
> 483

なるほどー、そんな感じがします

MySQLの仕様ははっきりとは分かりませんが、
これからは、
CAST(nitiji AS date) BETWEEN '2006-6-1' AND '2006-6-30'
などとするのではなくて、
nitiji BETWEEN CAST('2006-6-1 00:00:00' AS DATETIME) AND CAST('2006-6-30 23:59:59' AS DATETIME)
と明示的になるように心がけます
(こっちのほうが効率も良いかな)

ありがとうございましたっ
489NAME IS NULL:2006/06/28(水) 16:09:19 ID:???
なんで '2006-6-1' なんていう気持ち悪いものを使うのかやっとわかった。
年月日を別々のデータとして保持していて、
文字列を結合してクエリを発行しようとするんだけど、
ゼロフィルするのがだるいって事だと思うんだけどどう?

そこがわかれば、
select STR_TO_DATE('2006-6-1', '%Y-%c-%e');
これでいいと思うんだけど。
490NAME IS NULL:2006/06/28(水) 17:14:39 ID:???
>>484
つうか mysql動かす前にパソコン教室でもいって勉強してこい。
word使ったHPの作り方とか教えてくれるぞ。
491NAME IS NULL:2006/06/28(水) 18:57:47 ID:???
word使ったHPの作り方とか、、、

くーーーーーーーーーーーー。今夜も泣けるぜw
492NAME IS NULL:2006/06/28(水) 19:09:31 ID:???
AccessでJDBC接続してExcelとWordで参照して帳票やDM作る。これ最強。
493NAME IS NULL:2006/06/28(水) 19:30:32 ID:U5AZuGUj
Mysql 5.0 でsjis、char、長さ255でテーブルを設計したのですが、
いざデータを入れようとすると、
data too long と表示されてしまいます。
どの様にした良いでしょうか?
494NAME IS NULL:2006/06/28(水) 19:34:32 ID:???
中学生の英語教室だな
495NAME IS NULL:2006/06/28(水) 19:39:59 ID:???
くわーーーーーーーーっ、ますます泣けるぜw
496NAME IS NULL:2006/06/28(水) 19:57:43 ID:???
自演の香り
497NAME IS NULL:2006/06/28(水) 20:14:31 ID:???
>>493
データを格納する前に、頭100文字で残りを切り捨てると良いよ。
498NAME IS NULL:2006/06/28(水) 20:22:09 ID:???
>>490
つまんねえ冷やかし入れるなボケ
499NAME IS NULL:2006/06/28(水) 21:16:52 ID:???
indexをselect文で直接指定する方法ってありますか?
500NAME IS NULL:2006/06/29(木) 05:09:38 ID:???
500!!!


>>499 マニュアル嫁
501NAME IS NULL:2006/06/29(木) 06:12:40 ID:???
MySQL Query Browser 使っているんだけど
クエリ文の末尾の1文字が認識されない時ない?

例えば

select id, sum(syoukei)
from hoge where id='fuga'
group by id order by NULL

っての実行すると、

Unknown column 'NUL' in 'order clause'
ってNULLをNULと認識してるんだよね
502NAME IS NULL:2006/06/30(金) 06:17:58 ID:???
501から24H経過しましたので、質問は却下となりました。

次の方、どうぞ。
503NAME IS NULL:2006/06/30(金) 07:06:08 ID:???
load data local infile で1行目の1カラム目、つまり一番最初のフィールドだけが
"になってしまうのは仕様ですか?
504NAME IS NULL:2006/06/30(金) 08:56:23 ID:???
>>501
末尾に「;」を付け足してみれば?
505祐一:2006/06/30(金) 13:58:56 ID:???
父さんへ

帰りにキャベツと大根とにんじんを買ってきて下さい。
506NAME IS NULL:2006/06/30(金) 14:25:56 ID:???
>>504
ども、 今は末尾にスペース付けてます。
でも本当ならそれも面倒かなと思います。
コピペしてそのままCtrl+Enterでクエリ実行したいので・・・
507NAME IS NULL:2006/06/30(金) 16:35:07 ID:???
>>505
ここはお前の伝言板じゃねーんだよコノヤロバカヤローメ...
ここを便所の落書きにすんなよ、コノヤロメ...
508父さん:2006/06/30(金) 16:57:36 ID:???
祐一へ

父さんは疲れました。母さんの事は頼みました。
509祐一:2006/06/30(金) 20:13:53 ID:8TbmdTEg
父さんへ

火葬をするお金が勿体無いので、
韓国式で逝ってください。

ほな、さいなら
510NAME IS NULL:2006/07/01(土) 08:07:16 ID:vGyPP1La
オートインクリメントで、DELETEなどによって消失した開き番を使わせる方法ってないのでしょうか?
更新が多いDBで無尽蔵に増えていくのも使いづらいのですが。。

511NAME IS NULL:2006/07/01(土) 09:53:36 ID:???
番号を直接指定する
512NAME IS NULL:2006/07/01(土) 10:41:31 ID:???
>>510
俺ならdeleteさせずに、
有効か無効かのflagで判定して、
さくじょしないっつうか。
513NAME IS NULL:2006/07/01(土) 11:26:38 ID:???
>>510
無尽蔵に増えるのがいいんじゃないか。
削除したモノも含めて重複しないわけだし。

たぶん想定してる使い方が間違ってるんでしょう。

514NAME IS NULLPO:2006/07/01(土) 12:59:19 ID:???
>>508-509
つ 【チラシの裏】
515NAME IS NULL:2006/07/01(土) 14:02:25 ID:???
>>512
その方法だとデータ肥大しない?
まあ頻繁に削除の必要があるテーブルにオートインクリメントする設計も変かもしれんが

削除せずフラグにしておくことで、何かあったときにリストアできるのはいいけどね。
でも個人情報のデータだとやっぱ削除したほうが良い気もするし。
516NAME IS NULL:2006/07/01(土) 18:13:11 ID:???
無尽蔵に増えていくのが「使いづらい」と感じる理由をじっくりと考えてみよう
517NAME IS NULL:2006/07/01(土) 18:29:37 ID:???
無尽蔵に増えるデータをうまく管理するのがデータベース
518NAME IS NULL:2006/07/01(土) 18:41:56 ID:???
>>516
こらこら考えさせたら頭がパンクしちゃうだろw
519NAME IS NULL:2006/07/01(土) 18:44:11 ID:???
考えてはダメだ。感じるんだw
520NAME IS NULL:2006/07/01(土) 19:54:17 ID:???
ワックスかける ワックス拭き取る
521NAME IS NULL:2006/07/01(土) 20:10:34 ID:YC9UFGIT
オートインクリメントに対して空のデータを入れると、自動的に数字データが
補完されますが、INSERTした後に、どんな数字データが入ったかを確実に
取得する方法はないでしょうか?
INSERT後すぐにSELECTをした場合、もしかしたら別のユーザがその間に
違うデータをINSERTするかもしれないので。
522NAME IS NULL:2006/07/01(土) 20:16:22 ID:???
>>521
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
523486:2006/07/01(土) 20:17:28 ID:???
キーワード、オシエロカス
524NAME IS NULL:2006/07/01(土) 20:18:14 ID:???
525522:2006/07/01(土) 20:46:54 ID:???
>>523
MYSQL AUTOINCREMENTでググってトップに出てくるマニュアルを嫁 カスw
526NAME IS NULL:2006/07/01(土) 22:41:07 ID:???
>>525
なんというか、やさしいな喪前。
527NAME IS NULL:2006/07/01(土) 22:44:54 ID:???
ホントだw
「カス」って最高の褒め言葉だよな。カス様万歳!!
528NAME IS NULL:2006/07/01(土) 23:45:19 ID:???
なんだ、SQLって難しいと思ってたけど簡単なんだね。
簡単だって分かったら勉強する気無くなった、困った、ハハハ。

先にPHPの勉強でもしようかな、でもどうせならCでCGI書いたほうが
速くていいよね。 PHPは動作確認とかがラクだけど遅い、とにかく遅い。
それにPHPってガキっぽくて嫌。ajaxに手が出せない馬鹿が使うものでしょ?

つまり何が言いたいのかと言うとね、もう寝るからおやすみ。
529NAME IS NULL:2006/07/02(日) 00:02:39 ID:???
PHPはとにかく早い!!

何が早いかって?
スクリプトの開発が他の言語に比べてとても早いんだ。

おれだけ?
530NAME IS NULL:2006/07/02(日) 00:53:24 ID:???
漏れもPHPだな。お手軽に作るには一押し。
それ以上のことを要求するならCで作る。

javaは遅すぎて我慢できん。MySQLアクセスに特化すりゃ速いんだが、メモリ処理が・・・・
531NAME IS NULL:2006/07/02(日) 00:54:32 ID:???
>>530
javaが遅いとはいつの時代の方ですか?
532NAME IS NULL:2006/07/02(日) 01:40:45 ID:???
俺、PHPは JavaScriptのサーバーサイド版として使ってるw
533510:2006/07/02(日) 05:05:08 ID:iggkVlwd
うーん。
オートインクリメントはやめよう。
ユニークなcolumnがない。。DATETIMEがms使えればいいんだが。。
534NAME IS NULL:2006/07/02(日) 07:00:45 ID:???
>>533
君のスキルの低さがよく分かった
535NAME IS NULL:2006/07/02(日) 07:50:48 ID:???
本当にCで組めるなら、PHPの遅さも論外だろう(w
Javaで組めないphp廚ってだけじゃ?

そろそろウィンドウズ版とスレ分けたほうがいいと思う。
あまりにもウィンドウズ特化な釣り多杉。
536結論;やっぱり(ry の人:2006/07/02(日) 08:05:51 ID:???
俺としては、笑えるor泣けるネタが提供されるので、
スレはwindows版とわけないほうがいい。
537NAME IS NULL:2006/07/02(日) 08:30:45 ID:???
スレ違いの釣りが多すぎる
538NAME IS NULL:2006/07/02(日) 09:27:26 ID:???
そりゃまあこれだけ入れ食いだとしょうがない罠
539NAME IS NULL:2006/07/02(日) 11:43:20 ID:???
javaのメモリ処理が遅いっていまいちわからないな。
GCのチューニングが面倒くさいって事?
540NAME IS NULL:2006/07/02(日) 11:45:18 ID:???
>>539
ヒント:遅いのは脳の回転
541NAME IS NULL:2006/07/02(日) 12:06:42 ID:???
Mysqlのセキュリティ情報など得られる場所として何をつかっていますか?
542NAME IS NULL:2006/07/02(日) 12:55:18 ID:???
改善されたとはいえJavaはグラフィック絡みというか
ハードウェアに近いところの扱いに不満はある。
ハードと余り馴れ合わないのがJavaの長所でもあるけど。

Javaは周辺環境が揃ってるから、DBMSと連携するなら
他の言語よりも高い候補になるよね。
543NAME IS NULL:2006/07/02(日) 15:44:57 ID:???
グラフィックに特化したらJavaの意味ない。
DirectXに特化したら、Windowsでしか動かないし。

まともなDB関係商用フレームワークが揃ってるのってJavaぐらいだしな。
544NAME IS NULL:2006/07/02(日) 17:16:13 ID:???
今の時代に「商用だからまとも」だとか思っていたとしたら
とんだ大コケするぞ
545NAME IS NULL:2006/07/02(日) 18:14:25 ID:???
商用だと責任転嫁が出来るという天下の宝刀が使える。
546NAME IS NULL:2006/07/02(日) 20:47:10 ID:???
MySQLも商用版があるんだけどなー。
547NAME IS NULL:2006/07/02(日) 21:23:43 ID:???
>>546
どこに違いがあるの?
548NAME IS NULL:2006/07/02(日) 23:08:45 ID:???
データベース設計でお勧めの書籍はありますか?
549NAME IS NULL:2006/07/03(月) 05:18:50 ID:???
商用だと金で尻拭いしてくれる香具師が居る。
自分で尻拭いできないスキルなのに、商用使ってない香具師は困った時にどうするの?

MySQLの商用使うくらいなら、オラクル導入したほうがコスト的には安いよ。
月18万でもオラクルエンジニアぐらい集まるみたいだし。MySQL使えるエンジニアを集めるのは結構大変。
550NAME IS NULL:2006/07/03(月) 11:11:55 ID:8+JKr8en
+----------+-----+
|date   |title|
+----------+-----+
|2005-05-02|hoge |
|2005-05-02|hoge |
|2005-05-04|hoge |
|2005-05-05|hoge |
+----------+-----+
というテーブル(table)に
SELECT date,count(*) as count FROM table GROUP BY date;
を実行すると
+----------+-----+
|date   |count|
+----------+-----+
|2005-05-02|2  |
|2005-05-04|1  |
|2005-05-05|1  |
+----------+-----+
になると思いますが、

+----------+-----+
|date   |count|
+----------+-----+
|2005-05-02|2  |
|2005-05-03|0  |
|2005-05-04|1  |
|2005-05-05|1  |
+----------+-----+
という風に表示させることはできますでしょうか。
バージョンは5.0.17です。
551NAME IS NULL:2006/07/03(月) 11:21:25 ID:???
ねーもんは作れないから、日付連番でテーブル作ってそれに対して集計。
552NAME IS NULL:2006/07/04(火) 01:04:13 ID:???
最近、ないものねだりが多いなw
553NAME IS NULL:2006/07/04(火) 06:08:28 ID:???
DBを扱うにあたっての基礎の基礎をすっとばして
いきなり実用しようとしている素人が増えてきたって事だな。
何もかもそこまで甘ヵねーよっつーの。
まずもっとちゃんとドキュメント嫁
554NAME IS NULL:2006/07/04(火) 06:17:40 ID:???
初めてのプログラミング入門でいきなりPHP+MySQL使ってくる奴らが増えてるから、
こうなってくるのはしょうがないかもしれないな。
555NAME IS NULL:2006/07/04(火) 08:14:11 ID:???
まずはVB+SQL鯖とかアクセスの基礎を積めばいいのにな。

後、正解をまず求めてるのもダメだな。次男以下の自己解決能力の無い香具師ばっか?
ソースあるんだから弄って実装すればいいのに。
556NAME IS NULL:2006/07/04(火) 09:23:25 ID:???
PHP+MySQLなら、PHPで処理すれば済むだけの話だろ
557NAME IS NULL:2006/07/04(火) 16:39:17 ID:???
mysql_query()は、自分で構文を指定しなくてはいけない。
その他のだいたいの処理はPHPにまかせられるが。
558NAME IS NULL:2006/07/04(火) 21:19:28 ID:???
PHP+MySQLの場合、
PHPのスレではもMySQLのスレで質問しろと言われ、
MySQLのスレではもPHPのスレで質問しろと言われるんだろな。

まぁ、もっと笑えるのが、Winでの場合だけどな。
559NAME IS NULL:2006/07/04(火) 21:21:01 ID:???
ではも、、、は {では あるいは でも} の意味です。
560NAME IS NULL:2006/07/04(火) 22:32:35 ID:???
access(フロントエンド)からデータ入力するときにIMEが自動的に日本語全角になるんだけど(フィールドの型はvarchar)
半角英数であってほしいんだけど どうすればいいですか
561NAME IS NULL:2006/07/04(火) 22:37:31 ID:???
>>560
どうみてもAccessの問題だから、それ。
でもVBAでIMEの制御は出来たと思うよ。
562NAME IS NULL:2006/07/04(火) 22:56:35 ID:???
560
できた。Accessの問題でした。すんません。そして ありがとう
563NAME IS NULL:2006/07/05(水) 09:54:53 ID:Rry+HRv3
アンケートを作成していますが、
チェックボックスの回答結果は、
1選択肢=1行にするのが普通でしょうか?
チェックされた選択肢が増えるとinsertする行が増えるので、
どうしたものかと迷っています。
問が何問かあって、50個のチェックボックスがあったとして、
そのすべてがチェックされると50行ものinsertになります。
こんなやり方で大丈夫なのでしょうか…?
564NAME IS NULL:2006/07/05(水) 10:22:37 ID:???
>>563
をいをぃ。。。普通、アンケート1件が1レコードだろ。
おまいはアンケートとるとき1枚のアンケート用紙じゃなく、
1問ずつのカードにするのか?
565NAME IS NULL:2006/07/05(水) 11:28:14 ID:4nAHq3Yc
OS:BSD DBver:4.1.20 httpd:apache2 webapp:mediawiki
->>
Error in fetchObject(): Can't open file: 'page.ibd' (errno: 1)
Backtrace:
GlobalFunctions.php line 602 calls wfbacktrace()

/homeと/var/db/mysql下をコピーしてサーバを変更したら
こんなエラーメッセージが出たんですが、どんな原因なんですか?これは。
566NAME IS NULL:2006/07/05(水) 11:39:18 ID:???
>>565
/homeと/var/db/mysql下をコピーしてサーバを変更が原因と思われます。
567NAME IS NULL:2006/07/05(水) 11:48:10 ID:???
他に何をコピればよさげですか?
568NAME IS NULL:2006/07/05(水) 12:46:14 ID:???
>>567
新環境では mysqlはちゃんと動いているか?
/etc/my.cnf は環境に合っているのか?
など、それだけの情報だけじゃ原因となるファクタが大杉
569NAME IS NULL:2006/07/05(水) 13:12:11 ID:???
適当にコピーすれば動くと思ってるところが痛すぎ。
570NAME IS NULL:2006/07/05(水) 14:42:35 ID:F4sjjQz+
前にC:\Program FilesをDVD-Rに保存してる人を見ました
その人に「マウスの差込が丸いのと四角いやつの違いって何?」って聞かれました。
毎月1日にバックアップを取る几帳面な人ですが、無知は損だと思いました。
571NAME IS NULL:2006/07/05(水) 14:51:18 ID:???
mysqlはちゃんと動いてるんですけどね〜
/etc/my.cnfとかはどっちもないんです
デフォルト値でコンパイルしてbinを入れたんです。どっちも

てっきりpublic_htmlとdbの/var/db/mysql下をコピればいいものだと
ばかり思ってた゜・(PД`q。)・゜・
572NAME IS NULL:2006/07/05(水) 15:03:40 ID:???
>> 571
mysqlのコンソールでコピーしたDBにアクセス出来れば mysql環境はOK
573NAME IS NULL:2006/07/05(水) 18:48:08 ID:???
>564
正規化の仕方によってちがうんじゃないの?スレ違いだけど。
574NAME IS NULL:2006/07/06(木) 00:05:59 ID:???
普通はダンプしてリストアするものだけど。
単純にコピーすれば動くってものでもない。
575NAME IS NULL:2006/07/06(木) 03:43:45 ID:???
テーブルのデータを全消去してもオートインクリメントのカラムは次のINSERTで
1からに戻りませんが、これを戻すにはどうすればいいんでしょうか?
カウンタをいかに 初期化するかわかりません



576NAME IS NULL:2006/07/06(木) 05:23:22 ID:???
偉人くるぞこりゃ。
577NAME IS NULL:2006/07/06(木) 05:26:32 ID:???
テーブル空にして↓とか
ALTER TABLE `DBname`.`TBLname` AUTO_INCREMENT = 0;
578NAME IS NULL:2006/07/06(木) 07:31:40 ID:???
くーるー きっと来るー きっと来るー
579NAME IS NULL:2006/07/06(木) 17:44:45 ID:odfsaVHx
PostgreSQLはVarchara型は全部text型にする方が正解って聞くが
MySQLもそうなのか?
580NAME IS NULL:2006/07/06(木) 18:23:33 ID:???
Common SQL Environment というソフトを使っています。
このソフトは libmysql.dll というライブラリを使用しているのですが、
Shift_JIS 用と EUC 用があって、それらは公開されています。
ところが今回、DB側がUTF-8のため、それに対応した libmysql.dll
が必要なのですが、入手方法ご存知の方いらっしゃいますか?
581NAME IS NULL:2006/07/06(木) 19:33:14 ID:???
>>579
MyISAM ならできる限り char にするといいよ。
582NAME IS NULL:2006/07/06(木) 22:02:27 ID:???
呼んだ?
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
583NAME IS NULL:2006/07/07(金) 11:07:05 ID:e/N/yrD3
>>581
理由は分からんけど、言うとおりに
char型 と text型 を使いわけることにしてみる。

ありがと
584NAME IS NULL:2006/07/07(金) 13:11:07 ID:???
>>583
理由は
http://dev.mysql.com/doc/refman/4.1/ja/static-format.html
ここにあるけど、
固定長テーブルを作成させるため。
レコードの場所を特定するのに、
レコードの番号 * レコード長(固定) によって取得できるから。
動的テーブルの場合はレコード長が固定じゃないから、
検索がめんどい。

textとか使うなら正規化して、別テーブルにするかな。
585NAME IS NULL:2006/07/07(金) 13:26:53 ID:???
メモリ(ディスク容量)をどれだけ使うかとのトレードオフってわけだ。
586NAME IS NULL:2006/07/07(金) 14:37:52 ID:???
>>585
そそ。
インデックスはメモリに載ってるけど
実データはディスク上だから、
ほとんどディスク容量を犠牲にして高速化って感じだと思う。
587NAME IS NULL:2006/07/07(金) 15:49:31 ID:e/N/yrD3
>>584
でも、256文字以上を分けてたらテーブル増えるなー。
ちょっと考える・・・
588NAME IS NULL:2006/07/08(土) 10:03:14 ID:???
次の笑える質問まだぁ?(AA略 ちんちん
589NAME IS NULL:2006/07/08(土) 10:44:41 ID:???
アプリケーション側で固定長で組んで、最初は動的テーブル使って楽して、バージョンアップ案件とかでもう一稼ぎする時に固定長に変更で速度向上ですよ。
590NAME IS NULL:2006/07/08(土) 10:48:37 ID:???
うは、リフォーム詐欺野郎キタ━━━━━━(゚∀゚)━━━━━━ !!
591NAME IS NULL:2006/07/08(土) 12:15:16 ID:???
>>589
ひょっとしてインデックス張らないテーブル作って

「最近パフォーマンス落ちてきてるんだけど……」
「じゃあ改修が必要ですね。料金はこれくらい」
「それでお願い」

とかやってるんじゃないだろうなw
592NAME IS NULL:2006/07/08(土) 14:44:34 ID:???
まずはハードウェアの増強で金稼ぐのが一般的ですよ。
593NAME IS NULL:2006/07/08(土) 14:55:01 ID:???
ハード増強では自分の手柄に出来ない罠
594NAME IS NULL:2006/07/08(土) 19:24:16 ID:???
商品はインスタントコーヒーなんかでも、
商品の味を徐々に変えて出荷しておき、
しばらくして元の味に戻したのを新商品とし、
「更に美味しくなりました」 って出してるって噂だし。
595NAME IS NULL:2006/07/09(日) 11:07:41 ID:???
毎月バージョンアップしますって月額保守受けて、メジャーアップデートで最初に戻すのがオープンソースビジネスモデルですね。
596NAME IS NULL:2006/07/09(日) 19:55:02 ID:W6qIkFOe
たとえば、
AテーブルとBテーブルに
主キー id(varchar(20))
FULLTEXT text(text)
の2カラムがあったとして、
それらをMERGEテーブルで扱おうとしているのですが、
MERGEにはFULLTEXTは使えないと言ってはじかれてしまいます。
双方のテーブルから全文検索を行いたいので、MERGEテーブルから全文検索を行いたいのですが、どうすればよいでしょうか?

MySQL4.0.XXを使用しています。
597596:2006/07/09(日) 20:59:46 ID:W6qIkFOe
すみません、くせでやってしまいました。
MySQL4.0.26です。
598NAME IS NULL:2006/07/09(日) 21:43:28 ID:???
>>596
MERGEテーブルでは全文検索できません。

検索用のテーブルを別に複数用意して、
分割してコピって各々match againstしてunionでどぞ。
もしくは、64bitマシンでMySQLを動かすと吉。

全文検索はsenna使ってる?
599NAME IS NULL:2006/07/09(日) 21:46:30 ID:???
両方のテーブルをマージするアプリケーションを書けばいい。
600596:2006/07/09(日) 22:33:15 ID:W6qIkFOe
>>598
ありがとうございます。
Sennaバインディング使ってます。

UNIONしてみようと思います。

なぜ64bitマシンだといいのでしょうか?
601NAME IS NULL:2006/07/10(月) 01:17:29 ID:???
32bit処理を同時に2つ処理できるからに決まってるじゃん。
602NAME IS NULL:2006/07/10(月) 09:48:21 ID:???
>>600
>>601のとおり!ではなくて、
Max_data_lengthがデフォルト値で大きいのよ。たしか。
というわけで、どでかいファイルが気にせず扱える、、、はず。
MAX_ROWSとAVG_ROW_LENGTHを変えてもいいんだっけ?
603311:2006/07/10(月) 11:10:23 ID:met2DaFx
かなり更新頻度の高いテーブルなのですが、更新時にオーバーヘッドが発生します。

MySQLはオーバーヘッドがあるとデータが壊れやすいと聞きました。
最適化はどういった頻度で行えばいいのでしょうか?
604NAME IS NULL:2006/07/10(月) 11:31:10 ID:???
かなりとかいう表現やめてもらいたいものだ。
でっかいファイルとか、長いレコードとかさ。
文学者じゃないんだから、ちゃんとした数字で言えよ。
605311:2006/07/10(月) 11:42:44 ID:met2DaFx
>>604
レコードの長さや更新頻度やカラムの種類なんかで、オーバーヘッドがどの程度かって予測できます?
オーバーヘッドがどの程度発生しているか数値で見れたらいいんですが。

1つのテーブルを例にとってみると、INSERTが一日1000回程度、UPDATEが5000回ぐらいです。
おもにUPDATEが行われるのカラムはDATETIMEとVARCHARです。
固定長ならオーバーヘッド出来にくいんですかね?
606NAME IS NULL:2006/07/10(月) 11:59:50 ID:???
>>605
オーバーヘッドと言ってるけど、具体的にはアップデートするときに、時間がかかるって
こと?それとも他の意味かな?UPDATE5000回ということは、クライアントが結構あるわけだね。
そっちの排他処理とかの問題が大きいと思うけど考えてみた?
607311:2006/07/10(月) 13:17:54 ID:met2DaFx
>>606
速度低下で支障をきたしているわけではありません。
データの破損を心配しています。
排他処理は問題としていません。

現状一日一回の最適化で不具合はおこっていないのですが、これで大丈夫なのかどうかわかりません。
608NAME IS NULL:2006/07/10(月) 13:25:07 ID:???
>>607
つか、何が問題なの?普通に運用できてるんでしょ。
速度に問題があるとかそういうことかと思ったけど。
データ破損うんぬんはバックアップとかRAIDの話だし。
ところで、オーバーヘッドって何なの?
609311:2006/07/10(月) 13:44:06 ID:met2DaFx
>>608
バックアップはもちろん取っていますが、それは万が一のためのもので、
データが多少でも紛失しては困ります。
RAID環境はありません。
オーバーヘッドと言いましたが、ゴミ領域の増大とINDEXの不整合化を問題としています。
先ほども言いましたが速度低下は問題ありません。
ただMySQLはこのような状況となった場合、データの破損が起こりやすいと聞いたもので、
心配になりました。

RAIDは残念ながら導入できません。できる範囲で強度を上げたいのです。
610NAME IS NULL:2006/07/10(月) 13:59:19 ID:???
キチガイだ。あぼーんした。
611NAME IS NULL:2006/07/10(月) 14:00:02 ID:???
>>609
データは破損するものだし、どうリカバリするかが問題。
DBだけで処理出来る範囲ではないよ。
ゴミ領域の増大とINDEXの不整合化も謎な表現。
削除されたHDD領域があるのが嫌だってことかな。
indexの不整合ってそんなのシステムやPG設計の問題だと思うが。
612NAME IS NULL:2006/07/10(月) 14:29:54 ID:???
>>609
>データが多少でも紛失しては困ります。
>RAID環境はありません。
>RAIDは残念ながら導入できません。

DBを2重化。まあそれでもHDDが物理的に壊れたらキビシイから
logとかバックアップ先のHDDは別のところに汁
613311:2006/07/10(月) 14:52:09 ID:met2DaFx
>>611
データは破損するものだという事はわかっています。

>ゴミ領域の増大とINDEXの不整合化も謎な表現。
このような状況下(最適化をおこなっていない状況)だとMySQLはデータが壊れやすいと聞いた事があるのです。
これは正しくない情報なのでしょうか?
MySQLは頻繁なUPDATEがあるテーブルには向かない(壊れやすい)というのも、ここからきたものだと思っていました。
ただ、有料のSQLも予算の関係上使えないですし、PostgreSQLも速度の面で不満があります。

indexはテーブルの更新等を行うと、不整合を起こしますよね?速度低下はこのためではないでしょうか?

>>612
書き方が悪かったかもしれませんが、100%壊れないDBを期待しているわけではありません。
最適化でどの程度壊れにくくなるのかを知りたいのです。

年に1度データが壊れる可能性が3%あるとしたら、それを1%にできないかというニュアンスです。
残念ながら、ハードはいじくれません><;
614NAME IS NULL:2006/07/10(月) 15:12:19 ID:???
>>613
なんでindexが更新ごときで不整合おこすんだ?
不整合ってのはキーと値が一致しないと言うことだぞ。わかっていってんのか?
615311:2006/07/10(月) 15:16:04 ID:met2DaFx
>>614
新しくINSERTした行や、INDEXが作成してあるカラムを更新するとINDEX効かないんでない?
自動的にINDEX作り直してくれないですよね?

内部的なものよくわからないんですが、そう理解してました。
616NAME IS NULL:2006/07/10(月) 15:17:09 ID:???
>>615
あほらし
617NAME IS NULL:2006/07/10(月) 15:20:09 ID:3jihmA7Q
すいません、MySQLをインストールして初期から存在してる
"mysql", "test"って言うデータベースは削除しても問題ないですか?
618311:2006/07/10(月) 15:20:57 ID:met2DaFx
>>616
なんか、、荒らす気はないんですが、、
気に食わない人はレスしないでくださいな。

MySQL板は失礼なのが多い。どうしてだろうか・・・
質問者も回答者も礼儀を持てないものか。
619NAME IS NULL:2006/07/10(月) 15:21:22 ID:???
とっても大切なDBだからけしじゃだめだよ。ぜったい。
でも、普通のSEはすぐさま消してるよ。
620311:2006/07/10(月) 15:21:45 ID:met2DaFx
>>617
testは可。
621NAME IS NULL:2006/07/10(月) 15:24:30 ID:???
>>618
というかさ、DBの基本すら、わかって無いのでは?
初心者以前でしょそれって。
せめて、MySQLの本ぐらい一冊読んでからの方が良いと思うよ。
622NAME IS NULL:2006/07/10(月) 15:27:09 ID:???
>>613

> ただ、有料のSQLも予算の関係上使えないですし、

ちゃんと GPL にした?
GPL で配らないのなら商用ライセンスを買わないとだめだよ。

623311:2006/07/10(月) 15:27:50 ID:met2DaFx
>>621
具体的に指摘してみたらどうですか?
わからないならレスしなくていいです。
624NAME IS NULL:2006/07/10(月) 15:29:54 ID:???
>>615

違うよ。

そういう基礎がわかってない状態で勘違いをばらまくから
みんな変な反応をしてるんだ。いい加減気付け。


625NAME IS NULL:2006/07/10(月) 15:37:29 ID:???
>>623
>indexきかない
って何だって話。
だから、DBしらんの?ってことじゃん結局。
わかんねーなら、わかんねーと言ってくれればそれなりのレスできるけど、
当然知ってることを、「とおもってましたあはは」といわれると切れるだろ。
626311:2006/07/10(月) 15:39:40 ID:met2DaFx
ああ。更新ではINDEXは更新されますね。

失礼しました。
627NAME IS NULL:2006/07/10(月) 15:40:38 ID:???
もう夏休みなのかな?
628NAME IS NULL:2006/07/10(月) 16:16:58 ID:???
>>311
オレの経験からすると 311程度の更新数なら数年間動かしてもDBは壊れない。
でも、それはそのシステムにマッチしたハードウェア構成と最適化された
メモリ設定、テーブルデザイン、インデックス、クエリ環境であれば・だ。
なので、誰も311の質問には答えたれないよ。
629NAME IS NULL:2006/07/10(月) 18:32:25 ID:???
失礼な俺様が、一日の仕事を終えてやってきましたよ。

>>617
やってみればわかるが、mysqlはまずいだろw
あとは偉人様に聞け。
630NAME IS NULL:2006/07/10(月) 21:54:06 ID:???
本日の2案件も笑えました。
一旦収束したようですので、次の話題に移りましょう。

では、次のかた、どうぞ↓
631NAME IS NULL:2006/07/10(月) 21:58:08 ID:???
質問です

ttp://fedorasrv.com/mysql.shtml
このページを参考にして、FC4にmysql-server.i386 0:4.1.20-1.FC4.1を
インストールしたのですが、rootのパスワードを設定してexitしたあと
ログインしようにも、設定したはずのパスが弾かれてしまいます。


行った操作は、設定したパスワードを「hogehoge」、サーバ名を「foo」と仮定して

set password for root@localhost=password('hogehoge');
set password for root@foo=password('hogehoge');

と言うように設定。
その後、selectでパスワードを見てみると"0398e2da79a2d6e2"みたいな
文字列になっていましたが、表記上暗号化されてるんだろうと気にしませんでした。
その後、eixtしてログインしようとすると

[root@foo ~]# mysql -u root -p
Enter password: ←hogehoge と入力
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@foo ~]# mysql -h foo -u root -p
Enter password: ←hogehoge と入力
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

となります。

よろしくお願いします。
632NAME IS NULL:2006/07/10(月) 22:04:28 ID:???
あまり、笑えないかもしれないけれど、
dev.mysql.comでのQuickpollもそれなりに面白い。

mysqlの開発者はデブが多いのか、それとも体格がいいだけなのか。

ttp://dev.mysql.com/tech-resources/quickpolls/tshirt.html

What size T-shirt do you wear?
XS133 (1.1%)
S475 (3.9%)
M2239 (18.3%)
L3297 (27.0%)
XL4075 (33.4%)
XXL1784 (14.6%)
Other200 (1.6%)
633NAME IS NULL:2006/07/10(月) 22:22:48 ID:???
うわぁぁ〜今俺の頭の中を「devだからデブ」というネタがぐるんぐるんしてる〜
634NAME IS NULL:2006/07/10(月) 22:31:32 ID:???
>>633 そのネタに気づいてくれてありがとん。
635NAME IS NULL:2006/07/10(月) 22:46:56 ID:???
>>631
パスワードの設定でこけているかもなので、

Mysql rootパスワードを忘れた時の一般的対処法 でぐぐれ
636NAME IS NULL:2006/07/10(月) 22:58:14 ID:???
>>631
環境が判らんのだが
set password for root=password('hoge');
set password for root@'%'=password('hoge');
辺りではどうか。
637NAME IS NULL:2006/07/10(月) 23:07:07 ID:???
>>631
なんかパスワードの形式が古い気がするんだけど、気のせい?

http://dev.mysql.com/doc/refman/4.1/ja/password-hashing.html

>その後、selectでパスワードを見てみると"0398e2da79a2d6e2"みたいな

がもっと長かったのなら新しい形式のはずだけど。念のため。
638NAME IS NULL:2006/07/10(月) 23:25:18 ID:???
>>637
気のせいではなく、そのパスワードハッシュはold-passwords

>FC4にmysql-server.i386 0:4.1.20-1.FC4.1 
と書いてあるので、
OSはFC4
mysqlバージョンは4.1.20なんでしょう。たぶん、、、
639NAME IS NULL:2006/07/11(火) 02:26:58 ID:9xHycgAR
バイナリログがたんまり溜まっててそろそろディスク容量がやばいです。
レプリケーションしてるんですがどうやって消せばいいんでしょうか?
640NAME IS NULL:2006/07/11(火) 05:19:03 ID:???
>>638
4.1.xなら新しいのになってたとおもうけど、FC4のパッケージってわざわざold-passwordにしてるの?
そのへんがちょっと気になったんですよ。
641NAME IS NULL:2006/07/11(火) 11:21:10 ID:???
>>640
Fedora Coreは最新のFC5のでもデフォルトはold_password=1
642NAME IS NULL:2006/07/11(火) 11:34:10 ID:???
>>639
ググレば出てくる筈だが。オイラはやさしいので教えよう。
全SLAVE側で SHOW SLAVE STATUS; して、最も古いバイナリログを見つける。
MASTER側で、purge master logs to '古いバイナリログ'; を実行する。
これで、指定したバイナリログより前のバイナリログは全て削除される。
643NAME IS NULL:2006/07/11(火) 13:11:54 ID:???
初心者です。

MySQL使ってサイト作ったら、「ソース文くれ」といわれたらあげなきゃいけないんでしょうか?
644311:2006/07/11(火) 13:30:05 ID:ol0Vlxfn
結局、皆さんは最適化なんて行っていないんでしょうか?


>>628
ありがとうございます。経験則が一番参考になります。
645631:2006/07/11(火) 14:06:57 ID:???
助言ありがとうございます

>>635
やっぱ再設定しかないですか?

>>636
設定を変えようにもログインできませんです

>>637
確かに今時短いハッシュだと思いました。
本来はもっと長いんですね。
646NAME IS NULL:2006/07/11(火) 14:07:17 ID:???
ソース渡したく無ければ買ってくれ。

ミッションクリティカルな用途ならボラクルRACでもどうぞ。
647NAME IS NULL:2006/07/11(火) 14:34:28 ID:???
>>643
ttp://www.softagency.co.jp/products/mysql/process.html
>もしあなたがMySQLを使ったソフトウェアを開発し、他の人に配布しようとしている場合、・・・
元々配布する気が無ければOK
648631:2006/07/11(火) 15:53:17 ID:???
--skip-grant-tables オプションによる再設定で片を付けました。
どうも再現のできない問題でしっくりきませんが
皆さん、お助言どうもありがとうです

>>636
再設定後、試してみましたが両方ともエラーみたいです
649NAME IS NULL:2006/07/11(火) 18:53:37 ID:???
>>640
old-passwordにしているのは従来prgからの接続での互換性のためと思う。
650NAME IS NULL:2006/07/11(火) 22:41:58 ID:???
Mysql323 のサーバで Mysql5系をインストールして使おうかと思うのですが、
どのようなメリット、デメリットがありますでしょうか?

速度が遅くなる、メモリが重複してもったいないなどが想像できるのですが
正しいでしょうか?
651NAME IS NULL:2006/07/11(火) 23:30:50 ID:???
>>650
おまえが生きている事そのものが間違い
652NAME IS NULL:2006/07/11(火) 23:52:43 ID:???
>>650
「Mysql323 のサーバで Mysql5系をインストールして」
というくだりがそもそも意味不明
Mysql323のサーバってのはOSだと思ってるのか?
653NAME IS NULL:2006/07/11(火) 23:57:22 ID:???
>>652
単純に間違えです
MySQL323が入っているサーバに MySQL5をインストールして です。
654NAME IS NULL:2006/07/12(水) 00:18:12 ID:???
>>650
入れ替えるのか、複数入れるのか判らんが
「取り敢えずやってみればいいじゃん」

速くなる場合もあるし、逆に遅くなる場合もある。
(総合的には向上したと思えるけど)
入れ替えによるトラブルも出るだろうが
"まだ"MySQL5.xを使ったことがないなら、そういったことも経験のウチ。
655NAME IS NULL:2006/07/12(水) 06:24:29 ID:???
>650

やめとけーーーー
ぜーーーーったい、こーーーかいするぞーーーー。
656NAME IS NULL:2006/07/12(水) 10:47:14 ID:GGdkRuQC
PHPからレコードを一件削除したくて
mysql_query("delete from money where val = 1234",$db);
を実行したのですが、削除できません。
どこがおかしいのでしょうか?
ちなみにPhpMyAdminからは削除できました。
657NAME IS NULL:2006/07/12(水) 11:14:56 ID:???
>>656
おかしいのはおまえの頭
658NAME IS NULL:2006/07/12(水) 12:35:56 ID:???
>>654
複数入れる場合を想定していました。

>>655
なぜ後悔するのでしょうか?
659NAME IS NULL:2006/07/12(水) 15:35:13 ID:???
>>658
なら巷のパッケージと使うならそのままだと対応していないものが
殆どなので、SPECファイル(もしくはそれ相当のもの)弄るなり
公式バイナリやソースを手で設定する必要はある。
まあドキュメントどおりにやっていけば難しくはないよ。
660NAME IS NULL:2006/07/12(水) 16:04:15 ID:GGdkRuQC
"delete from money where val = 1234"
ってSQLの文法に合っていますか?
661NAME IS NULL:2006/07/12(水) 16:08:39 ID:???
ちなみにテーブル構造は
idx int(11)
date date
str text
val int(11)
です。
662NAME IS NULL:2006/07/12(水) 16:13:20 ID:???
>>660
ハンカチの用意をしながら聞くが、
phpでそのテーブルの内容を表示したことあるの?
663NAME IS NULL:2006/07/12(水) 16:19:58 ID:???
Tableタグ使って表みたいなものを表示した事があります。
他にも、Html上から
「INSERT INTO」で追加したり
「select *from money where date」で絞込み表示までできています。
後は、削除のみなのですがうまくいきません。
664NAME IS NULL:2006/07/12(水) 16:26:04 ID:???
>>663
ハンカチをポケットにしまって、
$db指定抜きにしてやってみるとどうかな。
自動的に探すはずだけど。
あとは、val=のとこでちゃんとselect文で該当データが出てくるか確認。
そこらへんみてみそ。
665NAME IS NULL:2006/07/12(水) 16:30:19 ID:???
予約語くさいフィールド名変えたほうが早いんじゃまいか
666NAME IS NULL:2006/07/12(水) 16:40:09 ID:???
[ ] でフィールド名をくくるとか
667NAME IS NULL:2006/07/12(水) 16:52:00 ID:???
select文では該当データが出てきませんでした。
他に、フィールド名を「m_val」にしたり、括弧でくくってみたりしたけど
変化は無しでした。
ただ、PhpMyAdminからは削除ができました。
668NAME IS NULL:2006/07/12(水) 17:00:53 ID:???
>> 667
最近ここ読むの疲れるなぁ。
単純に GRANT だったらプンプンビームだぞ。
669NAME IS NULL:2006/07/12(水) 17:28:03 ID:???
>>668
レンタルサーバーを利用してるのでその辺は分かりません。
ttp://www.land.to/
ここのサーバーを借りています。
670NAME IS NULL:2006/07/12(水) 17:28:57 ID:???
夏休みの間は全ての質問に対して答えは「死ね」でいいよ
671NAME IS NULL:2006/07/13(木) 05:50:14 ID:???
ぐぐれ この一言でOK
672NAME IS NULL:2006/07/13(木) 11:12:55 ID:???
ここに質問する前に最低限 mysqlのコンソールから同じアカウントで接続し、
同じクエリを発行してみるなどの検証をなぜしないのか不思議だよね。
673NAME IS NULL:2006/07/13(木) 19:42:10 ID:???
コマンドライン操作が出来ない香具師に限って、mysqlでつまづくと思う。
オラクルならコンソールついて来るし。
そう言う香具師には、アクセスとSQL鯖の組み合わせのほうが全部GUIでできて簡単なのに。

おまいにはそのレン鯖は向いてない。
クリック一つで使えるようなもっと簡単に使えるレン鯖見つけたほうがいいよ。見つかればいいね(w

もうさ、PhpMyAdminって初心者ホイホイの害だよな。
下手にブラウザで簡単に使えると騙してるだけで実は、いろいろ知識が無いと使いこなせませんと言う罠。
踏み台鯖を量産するwebminみたい(w
674NAME IS NULL:2006/07/14(金) 00:40:56 ID:???
つかさ、select文で出てこないの削除出来るわけねーじゃん。
myAdminで消してそれを消そうとしてました、あはは、ってオチじゃねーだろな。
675NAME IS NULL:2006/07/14(金) 10:35:38 ID:???
なんでもselectすれば出て来ると思い込んでしまうのも初心者の罠。
mysql本を一通り読むだけでもそんなこと無いって理解出来るのに。
漏れの自治体の図書館でもmysql本ぐらい蔵書であるよ。
676NAME IS NULL:2006/07/14(金) 11:42:10 ID:???
夏だなぁ
677NAME IS NULL:2006/07/14(金) 17:54:46 ID:OOB3BPgY
Env:FreeBSD/MySQL4.1.3/Apache2
シェルで
hostA# mysqldump --opt DBname > DBname.sql
してから
hostB# mysql DBname < DBname.sql
して、ブログのデータベースを移動したんですが、
ちゃんとコピーされてるページと、記事がなくなってるページがあるんですが
記事が消失しちゃったんでしょうか?
何か原因あったら教えてください。
678NAME IS NULL:2006/07/14(金) 18:35:40 ID:???
夏だなぁ


夏だからだよ


夏だなぁ
679NAME IS NULL:2006/07/14(金) 22:23:26 ID:???
>>677
暑いけどアドバイスしてみる。
DBname.sql から対象となる記事のクエリを grepとかで見つけ出し mysqlの
コンソールから直で食わせてみて出たエラーをここに晒したら何かわかる鴨
680NAME IS NULL:2006/07/14(金) 23:56:28 ID:???
両方のサーバからダンプしてdiffとりゃいいじゃん
バカかよ
681NAME IS NULL:2006/07/15(土) 00:34:19 ID:???
682NAME IS NULL:2006/07/15(土) 07:39:31 ID:???
さくらインターネットのMySQLがInnoDBをサポートしていませんでした。

テーブルロックを使う場合、みなさん削除などのロールバックのエミュレーションはどう実現しているのですか?

どう考えてもデータの整合性が合わなくなる可能性が残るのですが...
683NAME IS NULL:2006/07/15(土) 10:09:30 ID:???
>>682
さくらのMySQLがどういう構成かは知らないが
BDBって使えないの?
BDBならトランザクションサポートしてるはずだが
684682:2006/07/15(土) 11:05:00 ID:???
MyISAMのみです。

それより、みなさんがMyISAMでどうやってデータの整合性を維持しているのか知りたいのですが。

まさかチェックツールを作って手作業でメンテナンス、なわけないだろうし...
685NAME IS NULL:2006/07/15(土) 13:58:22 ID:???
細かいことは気にしないえ
686NAME IS NULL:2006/07/15(土) 15:18:09 ID:???
結論:さくらのMySQLを使うのが悪い



では、次のかた、どうぞ↓
687NAME IS NULL:2006/07/15(土) 15:45:03 ID:tHLQIJEz
>>mysqlのコンソールから直で食わせてみて

を、分りやすく解説してください
688NAME IS NULL:2006/07/15(土) 16:16:57 ID:???
mysql> でinsertやってみるってことじゃないの?
689NAME IS NULL:2006/07/15(土) 17:25:32 ID:???
>>687
>>688

    f`::'ー 、,-、-、_ _,....-- 、_  _,....-=―ヽ―-、-、_        、ミ川川川彡
   ,.r'‐'゙´ヽ,r'  ヽ \ー、_:::::::::/,´:::::::::::,:::::::,::::::::ヽ::\`ー、     ミ       彡
 ,〃ィ  ,rヽ'-ヽ i 、 、 ヾ,、 `'y',ィ´/::::::::/|::::::ハ_::::::::ト、::::\ \  三  ギ  そ  三
r'/〃//    | i! |, \、_`ー!rf.,イ-,ィ/u ノ::::/ |::::`::::|iヽ::::::ヽ  ヽ. 三   ャ れ  三
iヾ!l i /,.=ヽ  i,ケ ハ,i', Y't=ラ゙,〉'|::::r'|! 彡´ ,!--、 |i!|::|::i::::::',   ', 三  グ  は  三
  {ヾllッ-,   〃ノ'-'、||ii i|i| |-/! /^ヽ    ´   ヾ|从ノ::i::::|   ||三  で     三
  >|゙! 0ヽ ノ' ´ 0 レノWノi |,.、!/ 0       0  ',' レ|,イ::::i,,_ | !三  言  ひ  三
  ',i ヽ- ,      _, "  |i| | |             ´ '´ハ',Y  .!三  っ  ょ 三
  /l   `        !| | i `´ r     'ー‐' u   (-, ' |   !三  て  っ  三
  /久        U  |! i|'´'、u              z_,ノ/ .i |三  る  と  三
 /イ |ヽ '==..‐_、      |!,'|Y´,ヽ  ___        ハ_ ,/i | |三  の  し 三
 |ト|、',::::\     _,.-‐イ//-'´::::!\'ー‐--ニュ     / ト_、 _| _!,=,|三  か て 三
  〉:ヾ_'、::::`ー‐r<   //イ|::::::_、:::`7i\ __,..-‐'´  .| |`゙"::"::|-"三  !?    三
 'ー‐'´¨`'ー、/,rケ  /,'1ノ人'-‐'`y'/::::, i| ,!,      |`iiイ:::::::::|  彡     三
    ,〃7,‐/ {   ´_,-'´ ,,‐!、=,/.〃::::i i|kハ    / ,ヾ、::::::|.|!  彡川川川ミ
   ,ッ'、_〃'f /゙-<´  r〃 〃 /イ::::,!ッ'/  ',  / /   |ト、:|:リ
  rir' 〃,y'、久_,.rヽ/〃  川/iケir'〃/ ,-'水´  /    〃  \
  f::}'ー'〃_i| /::::f|::::',  .〃 r/if |||ir' f| レ' r'o | .〃-、 〃     "i
  ,);'ーッ゙-. レ:::::/_|::::::',_,〃=_、!!|| !i/ ||:,ri   !o ∨/
690NAME IS NULL:2006/07/15(土) 17:50:17 ID:???
WindowsXPで使用しています。
ODBCドライバは MySQL ODBC 3.51でMySQLは5.0です。

今までこの組み合わせで何十台もインストールしてきたのですが
今回新品のeMachines(Gatewayだった所)のPCにインストールしたら動きません。

具体的には
データ等MySQLフォルダは他のPCで動作していたものをコピーしました。
(サービス停止してコピー)
他のPCにインストールする手順と同じでドライバ等も同じです。

この状態で
select * from aaa;
を実行すると
mysqlコマンドでは正常にデータが表示されます。
フリーソフトのMySQLManagerというソフトだと最後にエラーが出ます(ファイルが見つかりませんみたいなエラー)
自作ソフトだと最初からエラーが発生しましたとでて起動できません。

ODBCドライバは他のものはないようですしMySQLのバージョンを変えてもダメでした。

新品のXPなので何か余計なものが入っているということはないのですが
逆に何か足りなかったりするのでしょうか?

よろしくお願いします。
691NAME IS NULL:2006/07/15(土) 18:46:21 ID:???
結論:やっぱりWindowsは使わないほうがいい。
692NAME IS NULL:2006/07/15(土) 19:29:02 ID:???
>690に関してはいつ誰が巻き込まれるかわからんと思うが。
693NAME IS NULL:2006/07/15(土) 19:40:28 ID:???
>>692
だから、その結論に至るんじゃね?
694NAME IS NULL:2006/07/15(土) 19:59:07 ID:???
普通にインストーラでインストールすれば動く予感
695NAME IS NULL:2006/07/15(土) 20:09:50 ID:???
>>ファイルが見つかりませんみたいなエラー
>>自作ソフトだと最初からエラーが発生しましたとでて起動できません。

「みたいな」とか「自作ソフトだと」とか。
そういうアホな質問だからいちいち>>691みたいなのが湧いてくんだろうが。
696NAME IS NULL:2006/07/15(土) 23:06:01 ID:???
>>694
いつもはインストーラなしのものを使っています。
インストーラありのパッケージだと他(例えばsystemフォルダ等)に何かコピーしたりレジストリに書いたりするのでしょうか?

>>695
そのPCがお客さんの所にあるので詳しい情報が分かりませんでした。
ごめんなさい。

ファイルが見つかりませんの方は多分
「ファイル名またはファイル番号が不正です」
っていうエラーでした。
調べてみた範囲では物理的にファイルが見つからない場合などに出そうなので
検索結果表示には関係ないようにも思うのですがそのフリーのソフトがどうなっているのか
分からないので何ともいえません。

自作ソフトというのは少し古いソフトでDelphiからBDE(ボーランドのデータベースエンジン)を使用しています。
最初の画面が表示される前にWindowsからエラーが出てしまい何も出来ない状態です。
起動時にはSQLは送っていませんので接続しようとしてエラーが出ているのかもしれません。


フリーソフトでも駄目なのでBDEというよりはODBCドライバがおかしいのでしょうか?
WindowsのODBCデータソースアドミニストレータへ登録と設定は同じものがしてあります。
システムDSNに登録


いろいろ試したのですがどうにもなっていません。
次はXPを再インストールしてみようと思っています。
697NAME IS NULL:2006/07/15(土) 23:41:18 ID:???
質問です。 発行したSQLが上手くインデックスを使うことが
出来た、出来なかった。 もっと進んで「このKey_nameが使われた」
の様な事を知る方法はあるでしょうか?

現在は検索時間から推測して、こちらが使われたかな?程度の
レベルで作成しており、なんかもっといい方法あるんじゃ…
と思った次第です。
698NAME IS NULL:2006/07/15(土) 23:45:20 ID:???
explain
699NAME IS NULL:2006/07/16(日) 02:16:52 ID:GjPQyppM
 
700NAME IS NULL:2006/07/16(日) 02:19:31 ID:???
質問があります。
MySQLを使用しなくても、同等のことを
PerlやPHPのみで実現することは可能なんでしょうか。
701NAME IS NULL:2006/07/16(日) 02:26:27 ID:???
>>700
可能ですよ。PerlやPHPでMySQL相当のDBMを書いちゃえばいいだけですよ。
702NAME IS NULL:2006/07/16(日) 02:44:19 ID:???
>>700
どこまで同じなら同等と見なされるのだ?
703NAME IS NULL:2006/07/16(日) 02:46:45 ID:???
現実問題としてPerlやPHPで実装される事は無いだろうが、
PythonやRubyの信者をおだててたきつければ何か書くかもナー
704NAME IS NULL:2006/07/16(日) 05:59:00 ID:???
>>700 マニュアルでAPIに関しての説明を嫁!!!
705NAME IS NULL:2006/07/16(日) 10:32:56 ID:???
mysqlコマンドで動作する時点でmysqlには問題は無いね。


そもそもmysqlじゃないとだめなの?
perlやphpも無謀な悪寒。
組めるスキルあればつべこべ言わずに組んでるだろうし。
706NAME IS NULL:2006/07/16(日) 12:37:18 ID:wg5H65V/
>>698
ありがとうございます。 思う結果を呼ぶことが出来ました。
707696:2006/07/16(日) 21:44:48 ID:???
>>705は私へでしょうか?

ありがとうございます。

両方のソフト共ODBCドライバ経由でアクセスしているので
そこら辺で何かこういう例があるかなと思って聞いてみました。

パッケージとして数十箇所納品の実績があるので
ここだけ他のDBに変えるような事は難しいのです。

その他DELLとかSONYとかNECとかいろいろ新品に入れましたけど
何も問題なかったのですけどね。

ちなみにインストーラから入れてみましたが同じ結果でした。

いろいろありがとうございました。
708NAME IS NULL:2006/07/16(日) 22:17:47 ID:/bWDoSMl
すでに存在するテーブルにtext型の列を追加したいのですが、
このテーブルのキャラクタセットはUCS2になっています。
新しい列はSJISにしたいのですが、どうやったらいいんでしょうか。
709NAME IS NULL:2006/07/17(月) 00:11:41 ID:???
SJIS厨は死ね
710NAME IS NULL:2006/07/17(月) 05:08:58 ID:???
utf8限定のほうが問題が無いよ。
他は苦労してください。


実績があるのに対処できないってスキル低すぎ。
今まで納入した所はたまたま奇跡的に動いてるだけの悪寒。
711NAME IS NULL:2006/07/17(月) 06:40:41 ID:???
ぐええええええ。納品って、業者?
ここで質問するようスキル低い奴に納品された所がカワイソス
712NAME IS NULL:2006/07/17(月) 11:26:08 ID:???
業者というのは普通スキルが無いもの。
スキルのある業者に辿り着けるのはスキルのある顧客だけ。
713NAME IS NULL:2006/07/17(月) 21:07:39 ID:Ep9MCpSq
SQLなら、ロックしないで同時に書き込むとファイルが壊れるとか気にしなくていいのですか?
714NAME IS NULL:2006/07/17(月) 21:28:26 ID:???
>>713
複数のクライアントが"同時"にSQLクエリを発行しても
DBMS側で逐次処理されるので"壊れる"ということはない。
でも読み出してから書き込みのまでの間に更新がないことの保証はされない。
整合がとれないのを壊れると言うなら、"壊れる"よ。
715NAME IS NULL:2006/07/18(火) 00:20:59 ID:???
スキルのある奴は納品なんぞ行かないわな。
716NAME IS NULL:2006/07/18(火) 00:59:19 ID:???
ボラクルとかなら更新の悩みは解決できるよ。お金かかるけど。
本来はフレームワーク側で調整してSQL再発行すべき。
717NAME IS NULL:2006/07/18(火) 19:27:58 ID:???
話題が枯れたようなので
dev.mysql.comでのQuickpollから

http://dev.mysql.com/tech-resources/quickpolls/books.html

How many MySQL books do you own?
None5282 (48.7%)
13115 (28.7%)
21198 (11.1%)
3449 (4.1%)
4132 (1.2%)
5399 (3.7%)
More than 5263 (2.4%)

ネットでマニュアルを見るから不要なのかとも思うけど、
このスレへの質問からして、微妙な感じですね。

718NAME IS NULL:2006/07/18(火) 19:38:13 ID:???
つか、その表示がよくわからん。
全く買ってない、のあとは1冊2冊ってこと?
719718:2006/07/18(火) 19:57:02 ID:???
ご丁寧にURL晒してくれてるじゃん。
720NAME IS NULL:2006/07/18(火) 20:03:53 ID:???
>>718-719

Noneの48.7%だけで充分と思いましたので、失礼しました。
URL先で、他も確認してください。
721NAME IS NULL:2006/07/19(水) 00:57:24 ID:aZxEE/GQ
>>717-718
URL追ってないけど、半角がつまっただけみたいね。
722NAME IS NULL:2006/07/19(水) 03:09:09 ID:???
つまりmysqlの本を出しても売れる見込みは無しってことだね。
みんな金無いからmysqlを仕方なく使ってる感じ?
723NAME IS NULL:2006/07/19(水) 06:28:12 ID:???
ただで使えるMySQLなのに、参考書に金使うのが勿体無いのでは?
724NAME IS NULL:2006/07/19(水) 13:11:47 ID:???
onlineマニュアルが充実してるってことだよ。
なので大抵の問題はググれば解決する筈。
725NAME IS NULL:2006/07/19(水) 17:51:49 ID:???
そっかぁ、それで偉人がこのスレには必要なんだ。
726NAME IS NULL:2006/07/19(水) 18:48:50 ID:wkTa6Tqp
重さ(BigInt型)を検索条件として持つテーブルがあるんですが、
countや、limitなどの命令を使うと急激に遅くなってしまいます。
すでにB木のインデックスは使っています。
データの件数は約300万件あり、たとえば以下のSQLでは50秒近くかかってしまいます。

select count(weight) from weight_table
where weight between 50000000 and 60000000;

何か高速化するいい方法はないでしょうか。
727NAME IS NULL:2006/07/19(水) 18:55:20 ID:???
>>726 ハードをもっと早いのにすればいいんじゃね?
728NAME IS NULL:2006/07/19(水) 18:58:43 ID:???
どういうインデックスはってて、どういうパターンのクエリーがあるか書く
729726:2006/07/19(水) 19:25:06 ID:wkTa6Tqp
インデックスは、この重さのカラムのインデックスだけです。
クエリは、上述のような、ある重さの範囲にある行の数を調べるものと、
テーブルには他に名前や長さといったフィールドがあるんですが、
100件ごと区切ってそれらを出力するというものです。
select name, length, weight from weight_table
where weight between 50000000 and 60000000
limit 100000, 100;
のような感じです。
730NAME IS NULL:2006/07/19(水) 19:45:20 ID:???
>>729
つ 実践ハイパフォーマンスMySQL
http://www.oreilly.co.jp/books/4873112095/toc.html
731726:2006/07/19(水) 19:49:10 ID:wkTa6Tqp
その本はもう持ってます。
732NAME IS NULL:2006/07/19(水) 20:02:39 ID:???
>>729
メモリー不足してんじゃないかな

select big_result ....だったか、正確にはマニュアル確認してほしいんだが、
big_result(?)指定でselectするとディスクをワークに使ったはず
あと、これのリミット値もチューニングできたと思う

メモリーとディスクを増やすことを検討してみたら?

あと、between andをnot or で書き換えてみたらどうでしょ
733NAME IS NULL:2006/07/19(水) 21:01:46 ID:???
単純にインデクスサイズをアドレスと数値と考えて
3,000,000 * 12 = 36,000,000で36MBくらい必要なのかな

MySQLのキーバッファはデフォルトで8MBくらいだから
それで遅いということも考えられる

マシンにメモリーいくら積んでるか知らんけど
my.cnfに以下の設定をして再起動してみたら?

[mysqld]
set-variable = key_buffer=256M
734NAME IS NULL:2006/07/20(木) 00:26:29 ID:???
データベースはディスクアクセスさせたら負けだよ。
基本的にオンメモリでクエリを処理できる様に最適化するのが最速への道。
だからボラクルとかでメモリは積めるだけ積めって書いてあるのはそれ。
735NAME IS NULL:2006/07/20(木) 02:54:02 ID:RaFHp6Le BE:860725297-
mysql5 + PHP Version 5.1.4なのですが、

mysqlのトランザクションって、スレッドIDごとに同一トランザクションとして
管理されているのでしょうか。

同一マシンから別ブラウザで連続的にデータを入れると、テーブルロック(排他)がうまく働かないため、
ためしに画面に、DBつないだ直後に取得したmysqlのスレッドIDを出力してみました。

結果、同じ1秒内に同じマシンから複数ブラウザでアクセスした場合、
どの画面にも同じIDが出ました。

同じスレッドIDで更新に行っているため別ブラウザでもロック待ちがかかってないという
結論でOKでしょうか。それともスレッドIDは関係ない???


長々とわかりづらく書いてすみません。。。。
736NAME IS NULL:2006/07/20(木) 04:53:01 ID:???
>>735
mysql_pconnect() を使っていませんか?
Webアプリなどでは p のつかない mysql_connect() の方が実用的です。
また、ちゃんと mysql_close() をすべきでしょう。
737NAME IS NULL:2006/07/20(木) 05:16:07 ID:???
>>726
EXPLAIN SELECT で次のどれで動いてるか調べてみて
1.索引で範囲を絞ってから、表のデータを読みにいっている。
2.索引は使わず、直接表のデータをスキャンしている。
3.索引だけで処理を完了している。(これはcountのSQLの場合だけになるが)

予想ではあるが select count(weight) を select count(*) にかえると1が3に変わる気がする。
738NAME IS NULL:2006/07/20(木) 06:30:45 ID:???
InnoDB は count がすごく遅いよ
外部キーとか トランザクションとか必要ないなら
MyISAMが鬼のように早い
739NAME IS NULL:2006/07/20(木) 10:22:38 ID:???
漏れは枝葉の末端が詳しく書かれた書籍が欲しいけどなぁ

・mysqlのプリペアドステートメントにおけるアクロバット技
・mysql-clusterのポイントと注意点、ノウハウ
・mysqlにオリジナルの関数を実装する手順・ハウツー
・mysqlにオリジナルのストレージエンジンを実装する手順・ハウツー

こんな感じのがあれば間違いなく買う
幹の部分は偉人様で十分なので、そんな本なら1冊いるかいらないかだなぁ
740NAME IS NULL:2006/07/20(木) 10:54:12 ID:???
そういう小技系はバージョンアップで変わるから書籍にはしにくい。
あとオプソの飯の種でもあるしねえ。
741NAME IS NULL:2006/07/20(木) 18:53:07 ID:???
困った・困った。
その1: 3.x系ってスローログってサポートしてないんだっけ?
その2: 4.x系ってLOAD DATA でソース側カラムのスキップはまだ出来ないんだっけ?

フィルタ作るか・・・
742NAME IS NULL:2006/07/21(金) 01:40:05 ID:mqNdfJur BE:163948234-
>>736
ヒントをありがとうございました。
ただ、apache側のログを見るとクリックアクセスした回数よりも
明らかに少ないログが出ていたため、ブラウザの仕様で
連続的にデータを投げたつもりが実際には投げられていないような感じがします。

コレはコレで問題ないと判断・・・していいのかなぁ。

何はともあれ、ありがとうございました。
743NAME IS NULL:2006/07/21(金) 10:34:54 ID:???
調子こいて、ライセンス料値上げしやがった・・・
なめてんのか
744NAME IS NULL:2006/07/21(金) 11:06:49 ID:???
3年前はpgSQLに押されてたけどBlogの普及でシェアをとったので
これからは絞り取らせて貰いますよ〜 って感じなんだろうね
まあビジネスだし仕方ないか、
745NAME IS NULL:2006/07/21(金) 14:49:56 ID:???
まぁ多少いい時期に調子こいとかないとな。こくとこないかんな。
746NAME IS NULL:2006/07/22(土) 15:47:28 ID:???
しょうがない
乗り換えるか
747NAME IS NULL:2006/07/23(日) 19:50:51 ID:Ynqjr8ep
すみません。
MySQL Server 5.0インストールしてデータベースとテーブル作って
テスト用のJavaプログラムで読み込もうとしてるんですけど、データベースに
接続できません。Javaのソースは

import java.sql.*;
class Sample1{
public static void main(String args[]){
try{
Class.forName(com.mysql.jdbc.Driver);
System.out.println("1"); //ログ用
Connection cn = DriverManager.getConnection("jdbc:mysql:///mydb);
System.out.println("2"); //ログ用
           ・
           ・
           ・

てな感じで、コンパイルはできるんですけど、実行すると"1"までしか表示されません。
ちなみにJDBCは「mysql-connector-java-3.1.13-bin.jar」です。
環境変数は「C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\mysql-connector-java-3.1.13-bin.jar;.」です。
MySQLのユーザ、パスワードは入力してません。
わかる方いればアドバイスお願いします。
748747:2006/07/23(日) 20:07:03 ID:Ynqjr8ep
Exceptionの内容見たら、
java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
ってでました。これってパスワードが入力されていないからエラー出たってことですよね…。
でもインストールする時にパスワードとかは入力しなかったのに…なんで?。
749NAME IS NULL:2006/07/23(日) 22:13:04 ID:???
>>748
localhostからのアクセスをゆるさないのです
localhostからのアクセスをゆるすようにするか、
localhostからのアクセスをやめましょう
750NAME IS NULL:2006/07/24(月) 10:46:27 ID:???
>>748
useridなしで接続できるよう設定されて無い に100カノッサ。
GRANTってしてる?
751747:2006/07/25(火) 01:38:42 ID:TZUKyVed
>>749
>>750
解決しました。
MySQLインストールし直してユーザIDとパスワードを共に
「root」にしてホスト名をlocalhostに変えただけで解決
できました。(ホスト名は関係ないかも)
ありがとうございます!

それとGRANTはユーザ作って権限与える、くらいしか知りません。
userテーブル見たらlocalhostのユーザが「root」でパス
ワードが空だったんでそれが原因だったんですかね?
752NAME IS NULL:2006/07/25(火) 05:06:01 ID:???
rootのパスをrootって。。。泣けるぜ。。
753NAME IS NULL:2006/07/25(火) 06:33:58 ID:???
パスワードを(それもrootのを)堂々とここに書きますか
754NAME IS NULL:2006/07/25(火) 10:47:25 ID:???
おかげで100カノッサすりますた。
755NAME IS NULL:2006/07/25(火) 11:48:09 ID:???
javaでもperlでも何で切り分けしないのかねえ。
mysql -u root localhostで接続出来ればmysqlは無実だしスレ違い。
756NAME IS NULL:2006/07/25(火) 13:12:40 ID:???
>>755
その通りだよね。
って言うか、コンソールから実行計画とかしないでよく組めるなぁと。
757NAME IS NULL:2006/07/25(火) 13:14:54 ID:???
同じエラーメッセージで
localhostと書いたため、tcpのつもりが強制socketになってて苦しんだヲレガイル
別アプリだけどな
758NAME IS NULL:2006/07/25(火) 18:16:54 ID:???
primary keyの意味が理解できません。
どんな時、使用しますか?
教えてくださいませ。
759NAME IS NULL:2006/07/25(火) 18:22:20 ID:???
どんな時って。。普通にkeyとして使ってるけど。。。
760NAME IS NULL:2006/07/25(火) 18:26:36 ID:???
キーといいますと??
マニュアルにもその詳細が載ってないんです。。
どんな意味・利点があるのかってことが
761NAME IS NULL:2006/07/25(火) 18:29:42 ID:???
762NAME IS NULL:2006/07/25(火) 18:33:03 ID:???
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′  <仲良くなってくれ
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」    

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
763NAME IS NULL:2006/07/25(火) 18:35:05 ID:???
偉人は今年生まれの割に老けてる。。。w
764760:2006/07/25(火) 18:54:51 ID:???
うるっさい、
うるっさい、
ほんとにうるっさい、しばくぞ!
765NAME IS NULL:2006/07/25(火) 20:20:42 ID:???
偉人は生まれながらにして偉人。
766NAME IS NULL:2006/07/25(火) 21:00:54 ID:???
>>760
RDB のRって何だか知ってるか?> ばか
RDBでググると 「RDBラーメンデータベース」がTOPなんだなw
767NAME IS NULL:2006/07/25(火) 23:27:00 ID:???
MySQL 4.1.20 WinXP
あるユーザーにファイル権限を与えたいと思い、ルートから
mysql>grant file on hoge.fuga to user@localhost identified by 'nurupo';

hoge →データベース名
fuga →テーブル名

と打ったんですが以下のエラーメッセージが出ています。

ERROR 1144(42000):Illegal GRANT/REVOKE command; please consult the manual
to see which privileges can be used

どのようにすれば権限を与えられるのか教えて下さいm(__)m
768NAME IS NULL:2006/07/26(水) 00:39:34 ID:???
>>767
file権はテーブルにはつけられないので、
grant file on "." to user@localhost identified by 'ga!';
とすべし。
769NAME IS NULL:2006/07/26(水) 03:38:06 ID:???
マイクロソフト製品に戻ったほうがいいよ。
アクセスとSQL鯖なら簡単にアクセス権の設定が可能。
770NAME IS NULL:2006/07/26(水) 06:53:30 ID:???
>>768
有難うございました!
771NAME IS NULL:2006/07/26(水) 11:27:23 ID:SOeXTFs7
質問です

環境はphp mysql共に最新です。

10000レコードのデーターがあります。

フィールドAの内容を、
ソート順関係なしで、
上から順に、'1','2','3'〜'1','2','3'〜'1','2','3'
と繰り返して編集していきたいのです。

利用目的は、10000レコードのデーターをランダムに3分割したいのです。

お詳しい方、アドバイスお願い致します。
772NAME IS NULL:2006/07/26(水) 13:14:21 ID:fhTSqqh4
MySQL 5.0.22で、以下の問い合わせを行ったのですが、
むちゃくちゃ時間がかかります。

対策をご存知の方教えてほしい。

レコード数が1000件の環境とし、
hogeには、"A", "B", "C"の3種類のデータしかない。

select * from A where A.test = any (select max(test) from A group by hoge);
773NAME IS NULL:2006/07/26(水) 13:52:59 ID:???
>>772
先頭に、explain 付けて ちゃんとindexが効いているか確認しる。
774NAME IS NULL:2006/07/26(水) 13:57:30 ID:???
>>771
「上から順に」・・「10000レコードのデーターをランダムに」
って言ってること矛盾してない?
何したいか良く解らんが、order by rand() って調べた?
775NAME IS NULL:2006/07/26(水) 14:17:38 ID:mcR9Av13
mysql_query("select sum(val) from tbl_data", $db );
を実行して得た値を取るにはどうしたらいいのですか?
戻り値みたら「Resource id 」って出てきました。
776NAME IS NULL:2006/07/26(水) 14:22:03 ID:SOeXTFs7
意味が伝わらなかったようですので再送
質問です

環境はphp mysql共に最新です。

10000レコードのデーターがあります。

フィールドAの内容を、
上から順に、'1','2','3'〜'1','2','3'〜'1','2','3'
と繰り返して編集していきたいのです。

利用目的は、10000レコードのデーターを3分割したいのです。

お詳しい方、アドバイスお願い致します。
777NAME IS NULL:2006/07/26(水) 16:47:11 ID:???
>>775
mysql_query("select sum(val) as total from tbl_data", $db );
とか名前付けて取る。
778NAME IS NULL:2006/07/26(水) 17:19:43 ID:???
>>776
select t1.hoge, t2.hoge,t3.hoge from hogetable t1, hogetable t2, hogetable t3
where t1.id=1 and t1.id=2 and t1.id=3;

主キーが連続していれば・だが、こんな感じで数字の部分をプログラムで回したらどうだろうか。
779778:2006/07/26(水) 17:20:51 ID:???
ミスった、 where t1.id=1 and t2.id=2 and t3.id=3;
だな。
780NAME IS NULL:2006/07/26(水) 18:23:05 ID:???
なんかphpスレのほうが適切。
mysqlに限定した話じゃないし。
781NAME IS NULL:2006/07/26(水) 18:29:54 ID:???
>>775
$res3が返値として
$data = mysql_fetch_array ($res3);
echo $data["sum(val)"];
echo $data[0];
とかでいんでね
782NAME IS NULL:2006/07/26(水) 18:33:05 ID:???
>>776
ユーザー変数使ってif(@t1%3=0....なんてやるとか。
普通にcreatetableでselectするのもあるけどindexついてこないし。
783NAME IS NULL:2006/07/26(水) 22:40:23 ID:RmhxYySk
>>772
select X.* from
(select * from A) X,
(select max(text) from A group by hoge) Y
where
X.test = Y.test

で、ごまかせ。
784NAME IS NULL:2006/07/27(木) 10:46:27 ID:???
>>776
やっぱり意味がよくわからない。
わからないなりに考えてみた。
alter table tbl add tmp int unique auto_increment;
alter table tbl change tmp tmp int;
drop index tmp on tbl;
update tbl set tmp = tmp % 3 + 1;
なんてしてみると、tmpというカラムに1から3の値が入るけど
そういうことがしたいわけでもない?
785NAME IS NULL:2006/07/27(木) 11:56:54 ID:???
ググるベタは、質問もヘタ。正しく課題に向き合っていない証拠。
786NAME IS NULL:2006/07/27(木) 18:06:37 ID:xsOVow74
Turbolinux 10 Server(SP1)にMySQL 3.23.54aをインストールしようとしたのですが
コンパイルをすると

: undefined reference to `errno'
collect2: ld returned 1 exit status
make[2]: *** [mysql] エラー 1
make[1]: *** [all-recursive] エラー 1
make: *** [all] エラー 2

っとなってうまく行きません。
何か回避策はありませんか?
787NAME IS NULL:2006/07/27(木) 18:13:59 ID:???
makeの出力(一部)はこちらにうpしてみました。
ttp://www.kurokichi.net/inside/up/src/up0021.txt

よろしくお願いします。
788NAME IS NULL:2006/07/27(木) 22:03:39 ID:???
3!?
なんで3?
789786:2006/07/27(木) 22:40:43 ID:???
>>788

今まで動かしていたサーバーがそのバージョンで動いていたのですが、結構古いマシンなので新しくしようかなと思っているんです。

それで3.23という異様に古いバージョンになっています。
790NAME IS NULL:2006/07/28(金) 01:04:49 ID:???
データベースのバックアップとリストアぐらい出来ないの?
791NAME IS NULL:2006/07/28(金) 08:16:30 ID:???
>>790

バージョンがずれてもそんなに問題ないですかね?
792786:2006/07/28(金) 08:17:07 ID:???
↑786です
793NAME IS NULL:2006/07/28(金) 09:21:55 ID:???
自分で検証してください。それがオープンソースを使う宿命。
オラクルなら丸投げで検証までしてくれるよ。
794NAME IS NULL:2006/07/28(金) 09:59:11 ID:???
>>786
gccのエラーメッセージ "com_source(String*, char*)" でググれ。
普通にやってコンパイルが通らないだけなら世界に沢山の悩める子羊がいる
と思え。結構ヒットしたぞ。
795NAME IS NULL:2006/07/28(金) 11:08:35 ID:NNcwfR+K
特定の列を変更したいのですが、
たとえば以下のTableがあったとして
+----------+-----+
|name   |value|
+----------+-----+
|apple |2  |
|banana |1  |
|banana |1  |
|apple |1  |
|orange |1  |
+----------+-----+

appleとorangeを変更して先頭に*を付けたい(*apple *orange)のですが、これを一度のSQLで実行する事はできますか?
変更する数が多いため困っています。
現在はループでUPDATEしてます。
796NAME IS NULL:2006/07/28(金) 11:50:12 ID:???
>>795
update hoge set name="*"+name where name="apple" or name="orange";
ではだめ?
797NAME IS NULL:2006/07/28(金) 12:41:37 ID:NNcwfR+K
>>796
nameが「0」になってしまいます。
798NAME IS NULL:2006/07/28(金) 12:54:07 ID:???
set name="*"+name
じゃなくて
set name=concat("*",name)
799NAME IS NULL:2006/07/28(金) 12:58:26 ID:NNcwfR+K
>>798
ありがとうございます。できました<(_ _)>
800786:2006/07/28(金) 13:59:40 ID:???
>>794

なんとかmake通りました。
ありがとうございました。
801NAME IS NULL:2006/07/28(金) 15:04:20 ID:ZLc53hZl
最近になってメモリが非常に余っているにもかかわらず
Out of memory; Check if mysqld or some other process uses all available memory. If not you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
というエラーが出るようになりました。
SWAPを効率の面から停止しているのですが、それが原因なのでしょうか?、、

MySQL4.0.26を使用しています。
802NAME IS NULL:2006/07/28(金) 16:20:53 ID:???
情報を出さずに言われてもな
803NAME IS NULL:2006/07/28(金) 17:06:54 ID:???
you can add more swap spaceって言われてるのにスワップ止めてますって(w
メモり積めるだけ積んでくれ。
804NAME IS NULL:2006/07/28(金) 21:02:21 ID:CqeJbMjk
windowsのMysqlってレジストリに何か書き込んだりしますか?

現在Mysql5が入っているのですが、Mysql3も入れようかなと思いまして。
同時に起動はしません。
805NAME IS NULL:2006/07/28(金) 21:08:10 ID:???
>>804
サービスとかに登録するので、「レジストリに何か書き込んだりしますか」
の問いには、YESと答えざるを得ない。
ポートを別けるとか同時起動しないとかの工夫をすれば複数のバージョンを
インストールして動かすことは可能。
806NAME IS NULL:2006/07/28(金) 22:44:47 ID:???
バーチャルPCとかで別けてみれば?
動作検証程度でしょ?
807804:2006/07/28(金) 23:44:56 ID:???
正確には、XAMPPを入れていて、これがMySQL5なのですが、本番サーバが
MySQL3を使っているので、3を使わないと色々不便なので3を入れようとしています。

xampp/mysqlを消してそこにインストールすれば一番早いかなと思ったのですが、
レジストリをいじったりするのであれば、微妙ですね。

VMwareやVirtual PCに環境作るのと、WinにMySQLをつっこむのどっちが早いか
なやんだのですが、WinのMySQLの方が早いかなぁと
VMwareなどの場合Web鯖などのセットアップもしなくてはいけないので…
808NAME IS NULL:2006/07/29(土) 00:22:13 ID:???
>>807
インストーラ使わない版を入れればいいんじゃね?
つか、サービスの登録くらいじゃなかったっけ>レジストリ

ま、Winの知識がないならどーにもならんかもしれんが。
809NAME IS NULL:2006/07/29(土) 15:53:16 ID:???
mysqladmin: unknown variable 'pager=less'

うっへり
810NAME IS NULL:2006/07/29(土) 20:50:33 ID:???
本番鯖が3の時点で、XAMPPの選択が間違っている。
本番鯖を5にするか、XAMPPを諦めるべき。

ちなみにvmwareでも他にPC用意するだけと同じだからDB鯖がlocalhostじゃなくなるだけだよ。
本格的に鯖立て遣るつもりなら、ウェブ鯖/アプリケーション鯖/DB鯖と別ける構成も出来ないと困るよ。
811NAME IS NULL:2006/07/29(土) 21:10:20 ID:6JKzWSwE
MAC OS-X 10.2.8を使っている者です。
MySQLをインストールしたいのですが、
ダウンロードページみつけられません。

知っている方ページおしえてもらえませんか?
812NAME IS NULL:2006/07/30(日) 00:48:22 ID:X+uLC+T0
テーブルへのアクセス毎にSHOW TABLE STATUSであるテーブルのCheck_timeを記録して、
自分のアクセスしかないかアクセス毎にチェックしようとしたのですが(レンタル)サーバにあるCheck_timeがぬるぽです!どうしたらいいでしょうか?
自身のログイン回数や自身の最終ログイン時刻などの代替手段はないでしょうか?
SHOW STATUSでログイン(コネクション)回数が分かったのですが、共有サーバなので使い物になりませんでした。。
813NAME IS NULL:2006/07/30(日) 01:56:48 ID:???
>>811
http://ftp.iij.ad.jp/pub/db/mysql/downloads/

喪前の検索能力が極端に低いとも思えんので
Appleか何かが配布してるメーカ純正のパッケージでも探してるのかい?
814NAME IS NULL:2006/07/30(日) 09:24:50 ID:???
ここに出てくる偉人、違う!

ttp://kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi46261.jpg.html
815NAME IS NULL:2006/07/30(日) 09:45:27 ID:DWDlwo1t
Mysqlってカラムは何列ぐらいできるんですか
Accessって255列しかできないんですよね
816NAME IS NULL:2006/07/30(日) 12:11:38 ID:???
>>815
800オーバーまでは試したことがある
817NAME IS NULL:2006/07/30(日) 13:39:27 ID:???
255列あれば十分だろ。
そんなにたくさん列があるテーブルなんて、明らかに設計ミス。
818NAME IS NULL:2006/07/30(日) 14:14:42 ID:???
>>817
設計はさせてもらえないこともあるからな
819NAME IS NULL:2006/07/30(日) 14:25:40 ID:DWDlwo1t
>>816-818
ありがd
何列あるかわからないデーターを
処理しないといけないもので

アクセスでなくて、これでやります。
必要な列だけインポートする方法も試してみます。
820NAME IS NULL:2006/07/30(日) 14:55:25 ID:???
ホントに列数未定義なの?
なら列にIDふって普通に正規化したほうがいいよ
増減もAlter不要で自由度あがるし
821NAME IS NULL:2006/07/30(日) 15:58:45 ID:???
正規化することで処理負荷増大→追加予算必要になる こともあるからな

学術としての正攻法で作ってカネかけるもよし
単に処理システムの一部として現実的な実装をするもよし
822NAME IS NULL:2006/07/30(日) 16:22:02 ID:???
可変長列テーブルは別に処理負荷あがらんし手間もないから大丈夫。データにあわせて、何列か分からない=無駄な参照多いつーほうを解消できるメリットのがティモテ
823NAME IS NULL:2006/07/30(日) 16:32:38 ID:???
>>809
my.cnf使ってるなら[mysql]のとこに pager=less を移してみ
以前似たようなことがあった。たしかドキュメント書いた人のミス
824NAME IS NULL:2006/07/30(日) 16:46:37 ID:???
jsp上からコマンドプロンプトで作ったデーターベースに接続するには
どうしたらよいでしょうか?

Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("引数");
Connection db=ds.getConnection();
Statement sttSql=db.createStatement();
ResultSet rs=sttSql.executeQuery("SELECT * FROM テーブル名");

この構文の引数のところを変えるだけではだめですか?
教えていただければ幸いです。
825NAME IS NULL:2006/07/30(日) 16:47:33 ID:???
列数未定義って。。。やるのはかまわんが破綻するのは目に見えてるな。
826NAME IS NULL:2006/07/30(日) 16:57:03 ID:???
返信ありがとうございます。
列数未定義ですか・・・
もう少し詳しく教えてもらえませんか?
827NAME IS NULL:2006/07/30(日) 17:03:16 ID:???
>>824
試せばいいじゃん
なによりスレ違い
828NAME IS NULL:2006/07/30(日) 17:30:03 ID:???
>>826
まあRDB的にはアレだけど動けばいいじゃまいか
829NAME IS NULL:2006/07/30(日) 17:44:12 ID:???
>>827
その言い方だと、私のやり方で正しいようですね
ありがとうございました
830NAME IS NULL:2006/07/30(日) 18:05:43 ID:???
私のやり方って何だよw破滅人生まっしぐらってことかw
831NAME IS NULL:2006/07/30(日) 18:19:13 ID:???
OS:XPPro
MySQL 4.1.20 sjis
\マークの処理で教えてください

create table testdata(
id int(9) not null auto_increment,
naiyou text not null,
primary key (id)
) engine=InnoDB , default charset=sjis;

というテーブルを作り、そこに以下のデータをinsertしました。

insert intu testdata(naiyou)
values('c:\testdata\system\include');

でnaiyouの中身を見ると
c:estdatasystem32include
と\マークが欠落しています。これの対処方法を教えてください
(だからWindowsは…なんて言わないで w)

832NAME IS NULL:2006/07/30(日) 18:24:29 ID:???
>>831

>(だからWindowsは…なんて言わないで w)
おまえ自分が間違ったことしてるのに気づかず、
それをWindowsに固有するWindowsの問題だと思ってるの?
見てて痛すぎる。
SQLにしろなんかのプログラミングにしろ果てはHTMLにしろ
どこいってもエスケープ関連の概念はあるんだから
それに思い至らないのは完全な勉強不足でしょ。

どうやって>>831の段階まで進んだのかが疑問だ。
833NAME IS NULL:2006/07/30(日) 18:31:51 ID:???
だからここで質問してるんでしょ。ぐだぐだ叩くのも見てて痛い。
>>831
\を\\にしてインサート汁。
834NAME IS NULL:2006/07/30(日) 18:36:53 ID:???
\\じゃダメかと思われ。できるんか?
835NAME IS NULL:2006/07/30(日) 18:38:58 ID:???
なんだ、普通に\\でできるじゃんか。実験して損した。
836NAME IS NULL:2006/07/30(日) 18:50:15 ID:???
偉人はまだ?
837NAME IS NULL:2006/07/30(日) 19:06:15 ID:???
>>833
こりゃまた、どうもすんませんでしたm(__)m
83884:2006/07/30(日) 19:35:26 ID:29G85lji
すいませんどなたか教えてください。mysqlにネットワーク経由で接続する場合
はどこで設定すればよいのでしょうか。現在PHP5.1 ,Apache2,localhostで接続
していますが、mysqlサーバーを別のPCにしたいと思っています。
839NAME IS NULL:2006/07/30(日) 20:53:10 ID:???
>>838
あのさ
「現在PHP5.1 ,Apache2,localhostで接続」
と自分で言っている時点でなんで別のマシンに
接続する方法を思い浮かべようと、想像してみようとしないの?
質問を丸投げすれば(少なくともこのスレでは)何らかの解答は
得られるけどさ、もう少し問題を解決するための「想像力」を働かせようよ。


840NAME IS NULL:2006/07/30(日) 21:05:48 ID:6Il9GTxJ
最近は PHP5.1 ,Apache2,localhost がどう動いているか
知らなくても簡単に使えるからね。
いい時代になったもんだ。
841NAME IS NULL:2006/07/30(日) 21:32:09 ID:???
mysql_connect()の第一パラメータってホスト名じゃねーか
あほくさ
ちょっとは自分で調べたら?
84284:2006/07/30(日) 21:40:37 ID:29G85lji
>>839
"localhost"の部分をIPアドレスにしてみたのですが、接続できませんでした。
やはりどこか設定ファイルを書き換えてlocalhost以外に繋げるのかなと思って
調べてたら,my.cnfの設定の書き換え(unix)とあって探しましたが、windows環境
では、見つけられませんでした。もしよかったら次の手を教えていただける
と助かります。
843NAME IS NULL:2006/07/30(日) 21:50:55 ID:???
>>842
localhostって何か解る?
84484:2006/07/30(日) 21:55:49 ID:29G85lji
>>843ありがとうございました。すべて解決しました。
>>839,840,840の皆様このへなちょこにお付き合いいただきありがとう
ございました。
845839:2006/07/30(日) 22:00:20 ID:???
>>842
質問をする場合はそういう情報はあらかじめ提示しておくものだよ。

mysqlクライアントで接続先のマシンのIPを指定して接続はできるの?
具体的には、ユーザー名「hoge」、接続先マシンのIP「123.12.23.34」
だとした場合

$mysql -u hoge -p -h 123.12.23.34

とコンソール上に入力し、ログインできますか?という質問
846NAME IS NULL:2006/07/30(日) 23:18:53 ID:???
>>845

グローバルアドレスを例に出すんじゃないよ。
847811:2006/07/31(月) 00:06:29 ID:HILh2Gyl
>>813

レスどうもです。

いや、そこのページまでは行けていまして。
10.3対応は見つけられど、10.2.8対応が見つけられないでいまして(泣)。

http://downloads.mysql.com/archives.php?p=mysql-4.0&o=apple

↑このへん?
848NAME IS NULL:2006/07/31(月) 07:08:15 ID:???
MySQL Clusterはメモリ上にすべてのデータを保持しているそうですが
、これってメモリ上にしかデータを保存してないということですか?
だとしたら全サーバが同時に落ちた場合、データは?
849NAME IS NULL:2006/07/31(月) 11:37:36 ID:???
>>848
プレステ2でセーブしないでリセット押したらどうなるか考えてみそ。
850NAME IS NULL:2006/07/31(月) 14:31:30 ID:mmQlREuo
SELECT * FROM data WHERE date BETWEEN '2006/07/26' AND '2006/07/28';
で日付の範囲を絞った後
select date , sum(値) from data group by date;
で日付ごとの値を集計するにはどうしたらいいのですか?
851850:2006/07/31(月) 14:43:55 ID:???
補足:
日付で計算範囲を絞った後、絞ったテーブルで更に日付毎の集計をするにはどうしたらいいのですか?
852NAME IS NULL:2006/07/31(月) 15:26:10 ID:???
>>850
select date,count(*) from data group by date;
853NAME IS NULL:2006/07/31(月) 16:27:51 ID:???
OSXは鯖版なら最初からmysql入ってたはず。クライアント版はシラネ。クライアント環境で動かす代物じゃないし。

windowsといい、sjisといい、素人に限って嵌りそうな環境で見事に嵌ってるのは何だろう?
入門書で前提にしてるような推奨環境で始めればスムーズに始められるのに。
マニュアルも読まないならソフト代の代わりに本とかで情報ぐらい買おうぜ。
854NAME IS NULL:2006/07/31(月) 19:05:10 ID:mw76PMAn

あんだけ自動ガードされたらたまったもんじゃあねーな!
855知を糞で返す:2006/07/31(月) 19:06:04 ID:mw76PMAn

テスト
856NAME IS NULL:2006/07/31(月) 20:43:14 ID:N4ewC+Rg
InnoDBはなんと読むんでしょうか・・・
857NAME IS NULL:2006/07/31(月) 22:45:43 ID:???
陰嚢DB
858NAME IS NULL:2006/08/01(火) 09:35:58 ID:???
挿入不可DB
859NAME IS NULL:2006/08/01(火) 19:07:09 ID:???
>>>>823なおったおおお
860NAME IS NULL:2006/08/02(水) 09:23:00 ID:???
貞操帯DB
861NAME IS NULL:2006/08/02(水) 23:27:41 ID:Cx7r1RKJ
すいません。コメントについての質問です。

--

は使えるけど、

/* */

は使えない?複数行の場合、どうすればよいですか?
862NAME IS NULL:2006/08/03(木) 07:37:10 ID:???
MySQLだと非同期クエリって使えないんですかね。。
863NAME IS NULL:2006/08/03(木) 10:17:09 ID:???
ものすごい変な質問でしたら申し訳ないのですが、
テーブル作成からDB登録までの一連の流れが書いている、
sqlファイルってどう使うんでしょうか?
PHP+MySQLが使えるサーバーです。
PHPでクエリーを書くよりも、外部ファイルにまとめてたほうが綺麗なので、
そっちのほうがいいのですが、どう使うのかわからなくて…
864NAME IS NULL:2006/08/03(木) 10:48:54 ID:???
>>861
?何をしたいかわからんが、クエリに、/* XXXXX */ select 〜
とかしておいて、show processlist; やログで状況を把握することは良くするけどな。
865NAME IS NULL:2006/08/03(木) 10:54:29 ID:???
>>863
mysqlのコンソールに流す。
866NAME IS NULL:2006/08/03(木) 11:04:50 ID:fUSps9Wh
ふつう、INSERTすると、データはテーブルの一番上に追加されますよね?
これをテーブルの一番下に追加することは出来ますか?
867NAME IS NULL:2006/08/03(木) 11:10:42 ID:???
>>864
--
を選択した行すべてに付けてくれるエディタを使えばよい


http://www.anchorsystems.co.jp/anchor/ashp/peggy/pegindex.html
とかだと コメントアウトした行をまとめて選択して F10 を押すと -- を入れてくれる
868NAME IS NULL:2006/08/03(木) 11:11:07 ID:???
>>866
君の普通はそうなのかもしれんが。。。
869NAME IS NULL:2006/08/03(木) 11:26:41 ID:fUSps9Wh
>>868
http://www.example.com/~hoge/null.php?id=hage&null=true#%2F 」という文字列を
INSERTすると、一番上に追加されてしまいます。
870NAME IS NULL:2006/08/03(木) 11:30:21 ID:fUSps9Wh
あれ、一番上になったり一番下になったりしてるな… ごめん。
871NAME IS NULL:2006/08/03(木) 13:21:03 ID:???
>>870
MySQLに限らず、物理的にどこにinsertされるかなんてわからないので
取得順は不定というのを前提に考えないといけない。
並び順を決めたかったら order by で。
872NAME IS NULL:2006/08/03(木) 14:04:07 ID:???
スキルアップ目的でレンタルスレッド掲示板のようなものを
PHPを使用して作っています。

bbsスレッド
bbsレス
というテーブルがあると仮定して、
検索(取り出し)する際、
bbsスレッドテーブルから
スレッドid(英字)を取り出して検索するのと、page_seq(一意性のある数字)を取り出して検索するのはどちらが可動性が良い(早い)でしょうか?

どうかご教示ください。
873872:2006/08/03(木) 14:08:03 ID:???
追記
bbsスレッドからどちらかを取り出して
そのクエリでbbsレス検索をする
ということです。
お願い致します。
874NAME IS NULL:2006/08/03(木) 16:25:32 ID:???
>>872
インデックスの状況やらテーブルの内容やらでファクタ大杉。
それを悩み検証するのがスキルアップっていうもの。
875NAME IS NULL:2006/08/03(木) 16:47:03 ID:???
>>872
数値がいいにきまっておる。 文字列なんてダメダメ。
876NAME IS NULL:2006/08/03(木) 18:42:24 ID:fUSps9Wh
>>871
なるほど! どうもありがとう。
これでまた知識が一つ増えた感じがして嬉しいよ。
877NAME IS NULL:2006/08/03(木) 20:26:44 ID:???
878NAME IS NULL:2006/08/03(木) 21:11:52 ID:xtff+ygY
FreeBSD 6.0 で使用しています。
最近、画面上にSegmentation Faultが出たため、確認したところ
MySQL4.0.27がsignall 11で何度も再起動していました。
トレース情報等が何も出ないので、解析のしようがないです。

大変使用頻度の高いDBなのでクエリのログ統計が取れません。。
--without-debugでコンパイルされてるのですが、--with-debugにするとエラーは詳細に出るのでしょうか?

思い当たることは、同じサーバー上で同じバージョンのMySQLが動いていることでしょうか。。
インストール時にprefixで別ディレクトリに作成し、ポート、ソケットともに別の物を指定してきちんと稼働しているのですが。。
879NAME IS NULL:2006/08/04(金) 02:45:25 ID:???
分からんけどPIDファイルが分かれてないとか
880NAME IS NULL:2006/08/04(金) 03:17:09 ID:5hu1Gvnn
PIDファイルは分かれています。
configure時にlocalstatedirで分けたデータディレクトリ上にmy.cnfを置いています。
設定等もきちんと各各が読み込まれていて何も問題がないのですが、なぜか再起動します。

*.errにも再起動の旨しか書き込まれないんです。。
881NAME IS NULL:2006/08/04(金) 03:34:48 ID:???
with-debugはそれなりに使えるのやってみる価値はあります
SIGSEGVで再起動されてるならその原因を探すしかないけど
エラーがエラーだけに原因が判明しても解決するかどうか
882NAME IS NULL:2006/08/04(金) 03:39:10 ID:???
一応マニュアルにクラッシュ対応の手引きがあるが、あれってヘルプつーよりデバグしなさいって感じだよな
883NAME IS NULL:2006/08/04(金) 05:53:32 ID:5hu1Gvnn
pid 49158 (mysqld), uid 3306: exited on signal 11
core dumpするわけじゃないので、ほんとお手上げ状態です。
デバッグ有効にしてコンパイルしてgdb起動で負荷かけて様子見てみようと思います。
884878:2006/08/04(金) 06:24:52 ID:5hu1Gvnn
runさせたら
Program received signal SIGUSR1, User defined signal 1.
0x0826e1f7 in ?? ()
とでてきたのでbtしてみたら
#1857 0x00000019 in ?? ()がだーっとでて
最後にError accessing memory address 0xbf800000: Bad address.とでました。

これはメモリが悪いんでしょうか、それともMySQLのバグ?;;
885NAME IS NULL:2006/08/04(金) 07:32:37 ID:???
FreeBSDなら、trussってなかったっけ?
straceだっけ?
886NAME IS NULL:2006/08/04(金) 09:27:24 ID:???
普通はリナクス。

どこのバイナリ?
自分でコンパイルしてるのならシラネ。
どこかのなら、おまいの環境が悪い。そのディストリのスレで訊け。
887878:2006/08/04(金) 09:39:52 ID:???
truss: Cannot alloc -1534803213 bytes for fd_set output: Cannot allocate memory
となってしまい1秒間しか記録できませんでした。。

今の所頻度が少なくなりましたが依然落ちます。。
888878:2006/08/04(金) 09:41:05 ID:???
>>886
自分でコンパイルした物です。
といっても、portsですが、、
889NAME IS NULL:2006/08/04(金) 10:22:31 ID:???
まぁメモリテスト1回したほうがいいよ。
890NAME IS NULL:2006/08/04(金) 10:38:04 ID:vHFIPEOK
MySQL5.0をFedoraCore5に
ソースインストールしたのですが、
その場合、my.cnfってどこのディレクトリに格納されて
いるんでしょう??
shell > locate my.cnf
で検索してもでてこないので焦ってます。。
891890:2006/08/04(金) 10:47:08 ID:???
ちょっと寝ぼけてました。
>>890はスルーしちゃってください。
892NAME IS NULL:2006/08/04(金) 14:53:49 ID:7F4xQick
初歩的な質問ですいませんが、いまFTPごしにmysqlのデータを
ダウンロードしています。そこでひとつ不安な要素があり
確認のために質問させてください。

MYD,MYIなどのデータは、バイナリデータなのでしょうか?
それともアスキーデータなのでしょうか?
ダウンロードする設定で、転送方式をどうすればいいか
お教えください。

よろしくお願いいたします。
893NAME IS NULL:2006/08/04(金) 15:05:58 ID:???
>>892
全部バイナリデータ。
FTPは出来るはずだがFTPの最中に更新が入るとバックアップしたつもりが
矛盾したファイルを大事に保存することになるので注意してね。
894NAME IS NULL:2006/08/04(金) 17:58:07 ID:???
trussでシステムコール追えないのか。。
やっぱ環境がおかしい気がしなくもないが、
別のバイナリなら動くんだよね。

なんだろう。共有メモリ?パイプ?
895NAME IS NULL:2006/08/04(金) 23:30:39 ID:???
mysqlの有効な監視項目はあるのでしょうか?
postgreからmysqlに切り替えたのですが、MRTGでmysqldのプロセスを監視してもプロセス管理がスマートなのかあまり増減が分かりません。
ほかに監視すべき要素があるのでしょうか?
896NAME IS NULL:2006/08/05(土) 00:12:54 ID:???
>>895
OSでのプロセス監視とはちょっと違うが、
見ておくべき監視項目はMySQLのSTATUSで調べられる。
mytopユーティリティを使うと便利。
897895:2006/08/05(土) 13:25:29 ID:???
>>896さん、おへんじありがとうございます。
調べた結果mtop等も含めて検討してみます。
898NAME IS NULL:2006/08/05(土) 16:27:31 ID:???
そもそもmysqlの監視で何を求めてるかだよな。
生死が知りたいのか、レスポンス状況が知りたいのか、リソースの使用状況が欲しいのか。

自分でコンパイルしてるなら自己解決するしかないね。他では問題ないし。
普通にRHELでも買って来て付属のmysqlバイナリパッケージをインスコすれば問題なく使えると思うよ。
899NAME IS NULL:2006/08/05(土) 17:31:59 ID:???
mysql5.0のストアドプロシージャで動的SQLを作成して実行したいんですが、
文法がわからなくて困ってます。
たとえば引数としてテーブル名を指定するとそのテーブルの処理をしてくれる、
というような事がしたいんですが、どうすれば良いでしょうか。
900NAME IS NULL:2006/08/06(日) 05:24:10 ID:???
マヌアルぐらい読めばいいのに。
調べるの面倒なら、ABから情報買えば?
901NAME IS NULL:2006/08/06(日) 09:38:55 ID:???
>>900
それをいったらこの板の意味がなくなる罠。
答える気がないのなら無駄なレス消費するだけなんだから黙っとけ。
と、えらそうなこといってみたが>>899の答えは俺にはわからない。
902NAME IS NULL:2006/08/06(日) 10:36:41 ID:???
>>899
ちらっとマニュアル眺めた感じではそういう使い方はできないのでは?
ストアドのパラメータに指定できるのってデータ型だけみたいだし。
だめもとでmysqlコマンドから以下のコードを試してみたら?

mysql> CREATE PROCEDURE testproc(IN p1 VARCHAR(32), OUT p2 INT)
-> BEGIN
-> SELECT COUNT(*) INTO p2 FROM p1;
-> END;
-> //

mysql> CALL testproc('mytable', @a);

エラーになったらあきらめれ。
903NAME IS NULL:2006/08/06(日) 17:00:10 ID:h2rv+uvl
MySQL 5.0.24 を FedoraCore5 に
下記の流れでソースインストールしました。

1 shell> groupadd mysql
2 shell> useradd -g mysql mysql
3 shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
4 shell> cd mysql-VERSION
5 shell> ./configure --prefix=/usr/local/mysql
6 shell> make
7 shell> make install
8 shell> scripts/mysql_install_db
9 shell> chown -R root /usr/local/mysql
10 shell> chown -R mysql /usr/local/mysql/var
11 shell> chgrp -R mysql /usr/local/mysql
12 shell> cp support-files/my-medium.cnf /etc/my.cnf
13 shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &

あとから configure を変更したくなった場合に、
上記の例だと5,6.7だけ行えばOKでしょうか??

ちなみに、変更するconfigureは
--enable-local-infile
を付加するだけです。



904NAME IS NULL:2006/08/06(日) 17:46:34 ID:???
フェドラコアスレで訊けば?
make cleanしたほうがすっきり。
905NAME IS NULL:2006/08/06(日) 21:40:28 ID:???
>>901
文法分からんとかいうのに答える必要なんぞないだろ
物には限度ってもんがある
906NAME IS NULL:2006/08/06(日) 21:46:07 ID:???
MySQL5 ってどうよ
907NAME IS NULL:2006/08/06(日) 21:48:30 ID:???
もう2ch飽きた…
908899:2006/08/06(日) 23:15:10 ID:???
>>902
そうそう、マニュアルに無くて困ってたんですよね。
知ったかして結局答えない人もいるみたいですけど。

とりあえず試行錯誤して、動的SQLを実行するところまでは出来ました。

CREATE PROCEDURE testproc (in p1 text)
BEGIN
set @sql = concat('select * from ',p1);
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
END

こんな簡単な文法も結構苦労しました・・・が、今度はこの実行結果をカーソルに入れて
逐次処理を行いたいのですが、declare cur cursor from execute stmt;
とかやってもエラーでちゃいます。。
詳しい方よろしくお願いします。
909NAME IS NULL:2006/08/06(日) 23:31:19 ID:???
他人に頼るにしてもせめてエラーの内容ぐらい貼れボケ
910899:2006/08/06(日) 23:39:51 ID:???
>>909
申し訳ない。
execute stmt;の行を、
declare cur cursor for execute stmt;
とやるとこの行でsyntax errorになります。
(上の書き込みでfromとなってるのはミスです。訂正します)
911NAME IS NULL:2006/08/07(月) 00:16:12 ID:???
syntax errorってただの構文エラーだろ
何でdeclare cursorにexecuteが入ってんだ?

DECLARE cursor_name CURSOR FOR select_statement
以外に使い方があるなら知らんが
912NAME IS NULL:2006/08/07(月) 01:59:13 ID:???
MySQLコマンドラインで日本語入力を可能にするには
どうすればいいんでしょう??

Linuxのコンソールでは日本語入力ができてるんですが、
MySQL コマンドでログイン後はなぜか
はじかれてしまいます。

913899:2006/08/07(月) 02:20:12 ID:???
>>911
だからそういう文法が無いことはわかってますよ。
どうすれば「execute」で実行した動的SQLの結果が
カーソルで処理出来るかどうかが知りたいんです。

というかそもそもそれが出来ないなら、executeを使わずに
動的SQLを実現する方法から見直す必要がありますけど。

cursorの使い方は自分もそれしか知らないです。
だから、それ以外に「文法が無い」のか、単にマニュアルに「書いて無い」だけなのか
ご存知の方がいたらお聞きしたかっただけです。
914NAME IS NULL:2006/08/07(月) 03:20:59 ID:???
908からどうやって
>だからそういう文法が無いことはわかってますよ。
>どうすれば「execute」で実行した動的SQLの結果が
>カーソルで処理出来るかどうかが知りたいんです。
…を読み取れるのか

情報小出しにし過ぎ自分で勝手に試行錯誤しとれ
915NAME IS NULL:2006/08/07(月) 07:52:34 ID:???
SQLだけで実現しようとせずにアプリケーション処理で実現するのがいいんじゃね
916NAME IS NULL:2006/08/07(月) 07:56:34 ID:???
なんか知らんがMySQL5系おもしろそうだな
917NAME IS NULL:2006/08/07(月) 08:22:36 ID:???
>>888
コンパイルフラグミスると不定期にクラッシュするへっぽこバイナリ出来上がるよ
918NAME IS NULL:2006/08/07(月) 11:37:16 ID:???
自分で調べることも出来ないアフォが多いですね。
919NAME IS NULL:2006/08/07(月) 11:40:09 ID:???
そーですね
920NAME IS NULL:2006/08/07(月) 12:53:11 ID:???
>>912
--without-readline 付けてコンパイルした?
921NAME IS NULL:2006/08/07(月) 15:00:54 ID:ZoPVfSyz
勉強不足なのは承知で、マジご教授お願いします。

4系では

select
tb1.hoge
from
tb1
left join
tb2,
tb3
on
tb1.id = tb2.id and
tb2.id = tb3.id
where
条件

で上手くいってたのに、MySQL 3.23でエラー。。 下記にしたら
同じ結果が返ってこない。

select
tb1.hoge
from
tb1
left join tb2 on tb1.id = tb2.id
left join tb3 on tb2.id = tb3.id

where
条件

同じ結果返さないのはどこが変ですか?
922NAME IS NULL:2006/08/07(月) 18:25:26 ID:???
表示されたエラーメッセージやテーブル定義やデータや検索結果も晒してくれないと考えるのめんどい
923NAME IS NULL:2006/08/07(月) 19:04:26 ID:???
>>921
上段の書き方ははじめて見るけどどういう意味でとっらいいのだろう?
tb1 と tb2 が左外部結合で、その結合結果と tb3 が内部結合
tb2 と tb3 が内部結合で、その結合結果が tb1 に対して右外部結合
tb1 に対して tb2 が左外部結合、同じくtb1 に対して tb3 が左外部結合
924NAME IS NULL:2006/08/07(月) 19:16:35 ID:ZoPVfSyz
>>922
ごめんなさい
エラーはでません、結果は全て内部結合したのと同じ出力になってしまします。

>>923
tb2 と tb3 が内部結合で、その結合結果が tb1 に対して右外部結合 です

よろしくお願いします。
925NAME IS NULL:2006/08/07(月) 19:25:37 ID:???
>>924
>tb2 と tb3 が内部結合で、その結合結果が tb1 に対して右外部結合 です
試しては無いけど、これでどう?
from  tb1 left join (tb2 join tb3 on tb2.id = tb3.id) on tb1.id = tb2.id
926NAME IS NULL:2006/08/07(月) 20:50:44 ID:ZoPVfSyz
>>925 ありがとうございます。
(tb2 join tb3 on tb2.id = tb3.id) → (tb2 『left』join tb3 on tb2.id = tb3.id)
left を追加しました。しかしMySQL 3.23でエラーが出てしまいます。
MySQL4.0.22ではエラーは出ませんでしたが、期待の結果とは違っていました。
長くなりますが、すみません。下記に例を書かせていただきます。

staff テーブル
|staff_id | name |
-----------------
| 1 | 山田 |
-----------------
| 2 | 鈴木 |
-----------------
| 3 | 佐藤 |

sales テーブル
|sales_id | staff_id | date_id | price |
-------------------------
| 1 | 1 | 2 |10,000 |
-------------------------
| 2 | 2 | 2 |9000 |

sales_date テーブル
|date_id | sales_date |
-----------------------
| 1 | 2006-9-10 |
-----------------------
| 2 | 2006-9-11 |
-----------------------
| 3 | 2006-9-13 |

欲しいのか下記のような結果です。
staffは全レコード出力されて、salesテーブルでstaff_idとsales_dateをヒモづけする。

|name | price | sales_date |
-----------------------------
| 山田 | 10000 | 2006-9-11 |
| 鈴木 | 9000 | 2006-9-11 |
| 佐藤 | null | null |

どうかよろしくお願いします。
927NAME IS NULL:2006/08/07(月) 21:39:43 ID:???
外部結合一般の問題とMySQL 3.23固有の問題が混ざってて説明しづらいな。
そのsales テーブルに同じstaff_idのレコードは複数ありえるの? 
928NAME IS NULL:2006/08/07(月) 22:32:49 ID:ZoPVfSyz
>>927
はい。salesテーブルに同じstaff_id のレコードはありえます。
ただ、staff_idとdate_idではユニークになります。

よろそいくお願いします。
929NAME IS NULL:2006/08/08(火) 09:31:38 ID:???
項目名ってidなの?dateテーブルってのもすごいと思うが。
930NAME IS NULL:2006/08/08(火) 11:35:13 ID:aOMvbJww
>>629 分かりにくくて、すみません。
例ですのでidだけで結ぶ単純な内容になっています。
dateテーブルも思いつかなかっただけで、実働では中身のあるデータになっています。

感じた事がそもそもMySQL3で、3つのテーブルを外部結合って可能なのでしょうか?
何度もすみません。1度例を整理します。
select
 tb1.hoge
from
 tb1
left join tb2 on tb1.tb1id = tb2.tb1id
left join tb3 on tb2.tb3id = tb3.tb3id
where
 tb3.hoge = '条件'

上記のような場合、tb1.hogeをtb3.hoge = '条件'にかかわらず、tb1.hogeが全て出力される
記述をMySQL 3.23で記述するにはどのようにすればよいのでしょうか?

よろしくお願いします。
931NAME IS NULL:2006/08/08(火) 11:52:19 ID:???
>>930
例とかでなくもう少し具体的にやりたいことをいってくれた方が良いと思う。
たとえば、担当者別に売り上げ明細を出力したいとか、集計表をとか、そんな感じで。
ビジネスモデルのエキスパートはこのスレにいっぱい居るしね。
932912 :2006/08/08(火) 12:16:06 ID:???
>>920
してない!
それかー!!
さんくす!!!
933NAME IS NULL:2006/08/08(火) 12:32:13 ID:gkWZ/N8n
MySQL-3.23.52-1
RPMからインストール後に(古いバージョンが使いたいのでyum等は使用してません)、

# cp /usr/share/mysql/my.cnf /etc/my.cnf

とやると、

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

というエラーが出てmysqlに端末から接続できません。
/etc/my.cnfを消すと、/var/lib/mysql/mysql.sockが生成され接続できるようになります。
/tmp/mysql.sockは生成されません。
調べると、このエラーで悩まれその後解決した方は結構多いようなので色々試してみたのですが、
解決できませんでした。
※/tmp/mysql.sockにシンボリックリンクを張る手段はファイルがないので取っていません。
置くと接続できなくなるmy.cnfの内容は以下の通りです。(一部)

[client]
socket = /var/lib/mysql/mysql.sock

[mysqld]
socket = /var/lib/mysql/mysql.sock

今のままですと、my.cnfにより設定を色々変えたりすることができないので困っております。
('A`) アドバイスもらえるとうれしいです...
934912 :2006/08/08(火) 12:34:45 ID:???
>>920
見事できました!!

ちなみに、

shell > make clean
shell > ./configure ..... --without-readline
shell > make
shell > make install

という流れでOKですよね?






935920:2006/08/08(火) 13:24:54 ID:???
>>934
それでOK。前にオレも悩んだのさ。
936NAME IS NULL:2006/08/08(火) 13:28:06 ID:???
>>933
socket= の行頭に、# 入れてコメントにしてみ。
937NAME IS NULL:2006/08/08(火) 13:35:40 ID:???
>>930
outer join
結合3つごときで騒がない。
938NAME IS NULL:2006/08/08(火) 14:13:12 ID:aOMvbJww
>>931確かにそうですが、実例ではあまりにも長くなりすぎます。
要は>>930のシンプルな事が分かれば、
あとは自己解決できるような気がするので、>>930でのご教授お願いいたします。

>>937 ありがとうございます。
outer join → outer left joinだと思うのですが、
outer join は外部結合を明示するだけで、
left joinと変わらないと認識してるのは間違いでしょうか?

ちなみに、>>930にouter left join としても結果は同じでした。

よろしくお願いします。
939NAME IS NULL:2006/08/08(火) 15:13:23 ID:???
where条件にかかわらず出力ってなんだよ。なんでwhereいらねーだろw
940NAME IS NULL:2006/08/08(火) 16:43:53 ID:gnS6pEmg
ぐぐっても素人にはわからなくて。質問させてください。
MySQLってなんですか?
http://www.nri.co.jp/news/2006/060808_1.htmlにはなんかすごいよって書いてあるから。)
現実的には自分の人生には関係ないんでしょうけど知識として知りたいのです。
ど素人に説明するようにお願いします。
941NAME IS NULL:2006/08/08(火) 17:09:58 ID:???
942NAME IS NULL:2006/08/08(火) 17:16:20 ID:gnS6pEmg
)))941
ありがとうございます、言葉が足りなくて申し訳ありません。
WIKIも見たんですが説明に要されている言葉がすでに理解できなくて。
漠然としたイメージもつかめていない状態です。
よろしければ再度お答えがいただければ幸いです。
943NAME IS NULL:2006/08/08(火) 17:48:08 ID:???
>>942
データベースの一種。グーグルだってDBだ。それでわからんなら、本でも買って読め。
944NAME IS NULL:2006/08/08(火) 19:21:34 ID:???
その分からない単語を一つ一つググればわかるんじゃないの
945NAME IS NULL:2006/08/08(火) 23:36:34 ID:???
>>942
データを大量に蓄えさせ、希望の条件でそれを
取り出す為の中枢ソフトだバカ。
946NAME IS NULL:2006/08/09(水) 09:19:00 ID:GugtKQco
>>939
誤解を招いてすみません。
条件とは片方の条件を満たしていなくてもということです。
自分もその辺りが怪しいと思っているのですが、

t3.hoge = '条件'では、t1を絞り込んでる訳ではないので、
t1は全て出力されて欲しいのです。

けつのwhere内にt3.hoge = '条件'を書くのが変なのかと思うのですが、
すくなくとも、4系では問題なかったので・・>>921

よろしくお願いします。
947NAME IS NULL:2006/08/09(水) 10:56:34 ID:???
readline抜いてコンパイルするとどういうメリットがあるんだ?
ヒストリ使えなくて不便なだけじゃないかと思うんだが
948NAME IS NULL:2006/08/09(水) 11:55:57 ID:???
日本語が通らない腐ったreadlineがいんすこされているとか、
readlineいんすこするのが死ぬ程面倒だったとか、
readlineはGPLなので理由もわからず恐れたとかw
949NAME IS NULL:2006/08/09(水) 19:38:47 ID:???
readlineが不要とか、変な動作起こす場合には省いたほうがいい。
漏れは要らないし、検証用途で忠実に入出力したい時にreadline通したくない場合があるので常に無効にしている。
950NAME IS NULL:2006/08/09(水) 22:39:14 ID:MhvThrSV
MySQLのテーブルをAccessでテーブルを表示させようとするのですが
ODBCでデータソースを作ってテスト接続もOKなのにテーブルを表示しようと
するとエラーになります。
MySQLはVersion5でAccessは2002なのですが何か設定でもあるのでしょうか?
教えてほしいです。お願いします。
951NAME IS NULL:2006/08/09(水) 22:50:07 ID:???
エラーになるというなら、エラーメッセージぐらい書け
952NAME IS NULL:2006/08/09(水) 22:51:19 ID:???
業務用途ではGPLは避けとくのが無難。
GPL廚にソースを配布しろとかいちゃもんつけられることに成るし。

アクセスと連携するならSQL鯖が最強。
どうやらutfの設定とか出来ないでしょ?
SQL鯖ならGUIで全部設定出来るよ。
953NAME IS NULL:2006/08/09(水) 23:16:37 ID:???
業務用途?なにか配布するものでもあるのかねw
954NAME IS NULL:2006/08/10(木) 01:52:18 ID:???
独自に色々な改良を加えているならまだしも、
readline入れてコンパイルしただけなら、
ソースよこせと言われてもconfigureのオプション渡せばいいだけなんじゃ・・・・

GPLでは、必ずしも再利用可能なフルセットである必要無く、独自に作った部分だけで良かったよーな
955NAME IS NULL:2006/08/10(木) 07:56:31 ID:???
独自に作った部分を公開するなら、丸ごと公開したって良いじゃないか。
そもそも、業務でも内部で使ってるだけなら、配布しないから関係ないが。
956NAME IS NULL:2006/08/10(木) 11:44:47 ID:???
>>954
フルセットじゃなきゃダメよん
957NAME IS NULL:2006/08/10(木) 12:33:55 ID:???
skip-networking をuncommentしたら localhost で mysql -u hogehoge -p
でつなごうとすると /tmp/mysql.sockで通信できないと怒られるのですが

socketと外部からのポートの接続は同時にできないのでしょうか?

googleで軽く調べたのですが出てきません。
よろしくお願いします。
958NAME IS NULL:2006/08/10(木) 13:21:54 ID:???
$mysql -u hoge -p -h localhost
959NAME IS NULL:2006/08/10(木) 19:20:55 ID:???
>>954が正しいな
つーか、GyaoでRevolutionOSってドキュメンタリー
やってるから見てこいよw、GPL理解できないやつは
ストールマンが肉声でその辺説明してるからw

>>955
>そもそも、業務でも内部で使ってるだけなら、配布しないから関係ないが。

同意
960NAME IS NULL:2006/08/10(木) 22:19:51 ID:???
楽天市場でシステム障害…出店店舗の4割でショッピング機能が停止
ttp://www.rakuten.ne.jp/gold/_sp/20060809_10/

まるでMySQLが悪いみたいな言われ方をするのはちょっといやだね。
矛先が違うでしょ。
ttp://news19.2ch.net/test/read.cgi/newsplus/1155196808/142
961NAME IS NULL:2006/08/11(金) 00:21:37 ID:???
>>959
少し前にGPLモノを含んだプロダクトの開発者が、リソースが余り無いので
「元のやつから改変してないから、そのGPLモノを公開してる
本家に行って入手してよ」と言ってたら
FSFから「それでも貴方(開発者)が供給しないと駄目」とか言われてた。

GPLが適用されるバイナリ渡すなら、それをビルドできる
全部のソースが提供できないと駄目。
# まあ確かに理解は出来るけど、弱小デベロッパには結構酷な話だよな。
962NAME IS NULL:2006/08/11(金) 00:41:05 ID:???
Mysql4.0.25 InnoDB
でDBをマスタ スレーブ 各1台ずつの構成で稼動している際に
mysqlcheck -a DB名
もしくは
ANALYZE TABLE ****
をマスタで実行した際に 反映されたindexの情報などはバイナリログに残りスレーブにも適用されるのでしょうか?

それともスレーブはスレーブで実行すべきなのでしょうか

お、教えてください!!!!!
963NAME IS NULL:2006/08/11(金) 06:47:51 ID:???
>>960
晒されてる詫び状の添付資料見たけど、
動作中のディスクのラベル(パーティションテーブル)上書きしたんでしょ?
ありえんな。

MySQLは全く関係ないね。
964NAME IS NULL:2006/08/11(金) 10:52:43 ID:???
965NAME IS NULL:2006/08/11(金) 21:14:32 ID:???
Windows2000 Professional
MySQL 4.1.7
Apache1.3.33
PHP5.0.3
で作ったデータベースを、

WindowsServer 2003
MySQL 4.1.20
Apache 1.3.35
PHP 5.1.4

環境に、mysqldump で移そうとしていますが、
1秒くらいでさくさく動いていたクエリーが
極端に遅く(1分以上かかる)ようになってしまいます

いろいろぐぐってはいるのですが、原因が不明です
どなたか同様の経験された方っていらっしゃいますか?
966NAME IS NULL:2006/08/11(金) 23:13:07 ID:???
SQLの独学用に、Windows XPマシンにMySQL 5.0をインストールしたのですが、
MySQL Command Line Clientで日本語の文字化けが発生しています。
見た目だけでなく、データベースの削除もできなくてちょっと困っています。
MyNAには類似の事例は見当たらなかったのですが、原因と対処法が
わかる方はお教えください。


文字コードは以下の通りsjisベースで、クライアントとサーバは同じ文字コードです。

| character_set_client | sjis
| character_set_connection | sjis
| character_set_database | sjis
| character_set_filesystem | binary
| character_set_results | sjis
| character_set_server | sjis
| character_set_system | utf8
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\

(自分でもいまさらsjisはどうかと思ったのですが、インプレス発行の「基礎SQL」を
自習テキストに使っているので、それに会わせました。この本ではMySQL 4.0.16の使用を想定しています)


mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
| クラ |
| タ |
| タブレチE |
| ブラン |
+--------------------+
7 rows in set (0.01 sec)

テキストに従いデータベース「クラブ」を作成したところ、「ブ」が表示されません。そこで
他に「ブ」を含むデータベースを作成しましたが、「タブ」は同様にブが消え、「ブラン」は
問題なし、「タブレット」はブではなくットの部分が化けています。
967NAME IS NULL:2006/08/11(金) 23:14:23 ID:???
>>966の続きです。

mysql> use クラブ;
Database changed
mysql> create table タブレット(
-> タブレット varchar(24),
-> タブレット個数 char(2));
Query OK, 0 rows affected (0.08 sec)

mysql> show tables;
+-------------------+
| Tables_in_クラブ |
+-------------------+
| クラブ\タブレチE |
+-------------------+
1 row in set (0.00 sec)

mysql> describe タブレット;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| タブレット | varchar(24) | YES | | NULL | |
| タブレット個数 | char(2) | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

テーブル名、データベース名は化けていてもアクセスできるようです。
フィールド名は化けていません。


mysql> drop database ブラン;
Query OK, 0 rows affected (0.00 sec)

mysql> drop database クラブ;
ERROR 6 (HY000): Error on delete of '.\繧ッ繝ゥ繝暴/繧ッ繝ゥ繝暴db.opt' (Errcode: 2)

mysql> drop database タブレット;
Query OK, 0 rows affected (0.01 sec)

mysql> drop database タブ;
ERROR 6 (HY000): Error on delete of '.\繧ソ繝暴/繧ソ繝暴db.opt' (Errcode: 2)
mysql> drop database タ;
ERROR 1008 (HY000): Can't drop database '繧ソ'; database doesn't exist

「ブ」が末尾にあるデータベースはエラーのためdrop出来ません。「タブレット」は
文字化けがあってもdropできます。

とりあえずゴミとなった「クラブ」「タブ」データベースを削除できればいいのですが。
968965:2006/08/11(金) 23:52:37 ID:???
>>965
自己レスです

テーブルのインデックスを作り直したら、治りました
お騒がせしました orz
969NAME IS NULL:2006/08/12(土) 18:07:43 ID:???
馬鹿が湧いてる。
970NAME IS NULL:2006/08/14(月) 09:05:59 ID:???
普通はデータベース名に日本語は使わないお。
971NAME IS NULL:2006/08/14(月) 09:18:57 ID:???
UNICODEだったら、日本語もアルファベットも同じように扱えるんじゃない?
今は普通日本語を使わないかもしれないけど、
将来は普通に使うようになるかも
972NAME IS NULL:2006/08/14(月) 20:18:51 ID:???
機構よりも、どの程度一般素人に使われるかが問題じゃないのかな?

技術系の人なら、未知の問題を防ぐ為に多バイトコードの使用を防ぐ癖がついてるし
973NAME IS NULL:2006/08/14(月) 22:29:51 ID:???
Vista日本語はなに使うの?あいかわらず、Shift_jis?
974NAME IS NULL:2006/08/15(火) 00:51:00 ID:???
馬鹿避けに、日本語とかutfで作ろうとしたらエラー返せばいいのにな。
まともに動かないのに、エラー返さないってタチ悪い。初心者にも悪影響を及ぼすだけだ。

ところでjavaのペットショップ例のmysqlでのDB作るsqlどこかに落ちてないの?
xmlから抜いてinsertするプログラム書くのマンドクセ。
975NAME IS NULL:2006/08/15(火) 16:25:24 ID:???
すいません、超ド素人の質問で恐縮なのですが、
住所録みたいな内容のDBがあるとして、それにオートインクリメントで
IDを割り振っているとします。

このとき、「ランダムなIDを10件選ぶ」というのはどうやればいいのでしょうか?
ORDER BYなどで昇順・降順で選ぶのはできますが、ランダムに選ぶ方法が分かりませんでした・・・
976NAME IS NULL:2006/08/15(火) 16:54:03 ID:???
>>975
スクリプトで呼び出すのなら、
スクリプト側で乱数を生成して条件式を作るが良いのでは?
977NAME IS NULL:2006/08/15(火) 16:57:37 ID:???
>>975

SELECT *
FROM table
ORDER BY RAND( )
LIMIT 10
978NAME IS NULL:2006/08/16(水) 21:58:53 ID:???
MySQL5.1で全文検索機能を利用しようかと考え
phpMyAdmin経由で、該当フィールドの「全文」フルテキストキーで操作しようと試みてみたのですが
ボタンアイコンが白色になって、押せない状況です

いろいろ調べてみたのですが解はみつかりませんでした
プライマリーキー、インデックスボタンは問題なく押せます

原因をご存知の方、お願いいたします
979NAME IS NULL:2006/08/16(水) 22:16:03 ID:???
全文検索を行うテーブルはMyISAM型でなくてはならない
980NAME IS NULL:2006/08/17(木) 00:41:37 ID:???
phpMyAdmin経由でしか弄れない時点でダメなのでは?
SQL鯖ならGUIで弄るツールがツテルから苦労無く使えると思うよ。

なんだろ?
援交サイトで登録者をランダムに表示とか?
981NAME IS NULL:2006/08/17(木) 08:45:14 ID:???
>>979
ぬおー MyISAMでこしらえたらできました
ありがとうございました

innoDBで使えないというのは悩みますね・・・
クマった
982NAME IS NULL:2006/08/17(木) 09:00:12 ID:???
で、ぐぐるとMySQL+Sennaがよさそうで
Sennaは、ひろゆき会社が開発元かw

ありがとうございました
983NAME IS NULL:2006/08/17(木) 10:10:06 ID:???
現在、掲示板+日記スクリプトのようなものを作っています。
そこで使っているあるテーブルのカラムには
`diary_ID`, `diary_owner_ID`, `commenter_ID`, `new_comment_ID`, `timestamp`
の5つがあります。
`new_comment_ID`が主キーで、`commenter_ID`にはインデックスをつけてあります。

このとき、以下のようなクエリを投げて期待通りの結果を得ることに成功しています。
SELECT `diary_ID`
FROM new_comment
WHERE `diary_owner_ID` = '1'
AND `commenter_ID` <> '1'
ORDER BY `timestamp` DESC
LIMIT 7

しかし、WHERE節において「<>」を使うと、インデックスが使用されないと本に書いてありました。
その本によると「カラム名 <> 値」ではなく
「カラム名 < 値 AND カラム名 > 値」と書けばインデックスが使われるとのことです。

しかし上記のようなクエリ文の場合、他の条件(`diary_owner_ID` = '1' AND …)も
あるので、そこに`commenter_ID` < '1' AND `commenter_ID` > '1'などと
くっつけると、「AND」の解釈がおかしくなるらしく(?)、
期待した通りの結果が返されません。

この場合、どのようにWHERE節の条件を書いたら良いのでしょうか?
984NAME IS NULL:2006/08/17(木) 10:24:37 ID:???
>>983
インデックスがどうのはとりあえず置いといて、
| `commenter_ID` < '1' AND `commenter_ID` > '1'
この条件に当てはまる commenter_ID ってどんな値?
985NAME IS NULL:2006/08/17(木) 11:02:50 ID:???
>>984
commenter_IDには正の整数のみが格納されています。
つまりこの場合、「1以外のcommenter_ID」、ということです。

上記の例ではたまたま条件として「1」が入っていたので
`commenter_ID` < '1'は意味が無い条件となりますが、
実際の運用では「1」の部分の数字はクエリ毎に動的に変わり、「1」とは限りません。
986NAME IS NULL:2006/08/17(木) 11:10:19 ID:???
一応正しいかどうか自信ありませんが報告しておきます

phpMyAdminの「追加ボタン」で
auto_incrementを設定してあるフィールド(ここでは'id')を含んだテーブルに
データをINSERTする場合、エラーになり、入れられません

SQL文を見ると
INSERT INTO `test` ( `id` , `name`)
VALUES ('', 'hoge');

となり「''」が問題のようです
値に「null」を入れたとしても、'null'になるためエラーになります

よって、関数「LAST INSERT ID」を設定して
INSERT INTO `test` ( `id` , `name` )
VALUES (LAST_INSERT_ID( ) , 'moemoe');

あげるか、「SQLボタン」でSQLステートメントを書くしかありません
1時間くだらんことで悪戦苦闘し、まさに

「ぬるぽ」

でした

987NAME IS NULL:2006/08/17(木) 11:38:25 ID:???
>>983
そんな事はない。ちゃんと使われる筈。
mysqlのコンソール使って、クエリの先頭に、explain を付けてインデックスの使用状況
を調べれば。
988NAME IS NULL:2006/08/17(木) 11:42:13 ID:???
>>986
一般的には、
INSERT INTO test (id, name) VALUES (null, 'hoge');
って書くけどね。phpMyAdmin 使わないからシラネ。
989NAME IS NULL:2006/08/17(木) 11:54:22 ID:???
>>987
explainで調べてみたところ、やはり「`commenter_ID` <> '1' 」を検索するにあたって、
インデックスは使われていないようです。
「rows」の値が全レコード件数と同値でした。
990NAME IS NULL:2006/08/17(木) 12:04:20 ID:???
>>989
not みたいな検索だとindexは使えないんじゃなかったっけ?
991NAME IS NULL:2006/08/17(木) 12:05:13 ID:???
indexが使えないのは not like でした
(しかもOracleの話だった)
992983:2006/08/17(木) 12:57:13 ID:???
>>990
はい、そうなんです。
>>983でも書きましたが、「先輩に聞くSQLの素朴なギモン」という本によりますと、
「<>」や「!=」ではindexが使用されないそうです。

そこでindexを使用するようにWHEREの条件をしつつ期待通りの結果を得るクエリの
書き方について、>>983で書いたような質問となりました。
993NAME IS NULL:2006/08/17(木) 13:11:49 ID:7Y3OcNy1
>>983
ANDじゃなくてORじゃない?
994NAME IS NULL:2006/08/17(木) 13:38:26 ID:???
>>983
クエリの最適化による。複合インデックス使ってる?
995NAME IS NULL:2006/08/17(木) 14:01:41 ID:???
>>993
あ、そうでした! 書き間違えました!!
`commenter_ID` < '1' AND `commenter_ID` > '1'
ではなくて、
`commenter_ID` < '1' OR `commenter_ID` > '1'
です。

しかし
WHERE `diary_owner_ID` = '1'
AND `commenter_ID` < '1' OR `commenter_ID` > '1'
と指定しても、期待した通りの結果が得られません。

イメージとしては`commenter_ID` < '1' OR `commenter_ID` > '1'をカッコで
囲んでる感じで条件指定したいのです。つまり、「OR」のかかる範囲を限定したい・・・と言いますか。
996NAME IS NULL:2006/08/17(木) 14:06:27 ID:???
>>995
>イメージとしては`commenter_ID` < '1' OR `commenter_ID` > '1'をカッコで
>囲んでる感じで条件指定したいのです。
じゃあ、カッコで囲めばいいじゃない。
997NAME IS NULL:2006/08/17(木) 14:45:38 ID:???
>>983
ここに質問する前に論理演算子の勉強が先。
998NAME IS NULL:2006/08/17(木) 14:55:56 ID:???
>>996
以下のようなクエリを試してみましたが、やはりindexが使用されていないようです。

EXPLAIN SELECT `diary_ID`
FROM new_comment
WHERE `diary_owner_ID` = '1'
AND (
`commenter_ID` < '1'
OR `commenter_ID` > '1'
)
ORDER BY `timestamp` DESC
LIMIT 7
999NAME IS NULL:2006/08/17(木) 15:00:21 ID:???
1000NAME IS NULL:2006/08/17(木) 15:08:26 ID:???
SELECT `次期首相`
FROM 3人
WHERE `愛国心` = 'TRUE'
AND `国益` > `難癖アジア人への“配慮”`
AND `平和` = (`経済`+`外交`)
GROUP BY `派閥`
ORDER BY `ルックス`
LIMIT 1
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。