MySQL 総合 Part3

このエントリーをはてなブックマークに追加
1NAME IS NULL
快速DBMS、MySQLの総合スレです。
プログラム言語毎のMySQLの使い方等、
固有の細かい話は適宜それらの関連スレに投げましょう。

■ 公式サイト(英語)
http://www.mysql.com/

■ 日本MySQLユーザ会(MyNA)
http://www.mysql.gr.jp/

■ 日本語マニュアル&検索
http://www.mysql.com/doc/ja/
http://www.softagency.co.jp/mysql/Manual/
http://www.mysql.gr.jp/jpdoc/

■ メーリングリスト案内&検索
[MyNA(日本語)]
http://www.mysql.gr.jp/ml.html
http://www.mysql.gr.jp/mysqlml/
[本家(英語)]
http://lists.mysql.com/
http://lists.mysql.com/search.php

過去スレ/関連スレ/書籍/ツール/その他の情報 等は >>2-3 にある筈
2NAME IS NULL:04/10/04 06:19:23 ID:???
■ 前スレ
[MySQL総合 Part2]
http://pc5.2ch.net/test/read.cgi/db/1079502373/
[MySQL総合]
http://pc2.2ch.net/test/read.cgi/db/1056942908/

■ 関連スレ
[mysql ヘルプ!]
http://pc2.2ch.net/test/read.cgi/php/1011683282/
[MySQL vs PostgreSQL]
http://pc2.2ch.net/test/read.cgi/php/989341364/

■ MySQL日本代理店
[株式会社ソフトエイジェンシー]
http://www.softagency.co.jp/
[ゼンド・オープンソースシステムズ株式会社]
http://www.zend.co.jp/

■ ライセンス関連
http://www.mysql.com/doc/ja/MySQL_licenses.html
http://www.opensource.jp/gpl/gpl.ja.html (GPL非公式日本語訳)

■ MySQL関連本
http://www.mysql.gr.jp/books.html
http://www.mysql.com/portal/books/
3NAME IS NULL:04/10/04 06:20:16 ID:???
■ 関連ツール、アプリケーション
[phpMyAdmin]
http://www.phpmyadmin.net/
[CSE - Common SQL Environment]
ttp://www.hi-ho.ne.jp/tsumiki/
[かねやんMySQLAdmin]
ttp://www.mmdb.net/m_kaneko/
[MySQL Control Center]
http://www.mysql.com/products/mysqlcc/
ttp://fringe.homeip.net/mysqlcc/ (言語ファイル)
[Navicat(旧MySQLスタジオ)]
http://www.navicat.jp/
[Emic Application Cluster for MySQL]
http://www.emicnetworks.com/products/mysql.html

■ その他の情報
[快速MySQLでデータベースアプリ!]
http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.html
[実践MySQL]
http://www.softagency.co.jp/mysql/TIPS/
[SQLPowerPage](SQL構文一般)
http://www.sqlpowerpage.co.jp/
[ColdFusion用の資料](各種DBMSの予約語情報)
http://www.macromedia.com/jp/support/coldfusion/ts/documents/tn18050.htm
4NAME IS NULL:04/10/04 07:23:38 ID:???
>>1 乙です
5NAME IS NULL:04/10/04 10:10:49 ID:???
乙。まあコレといってネタは無いんだが…
6NAME IS NULL:04/10/04 21:20:29 ID:???
物質スレで MySQL 4.0 の INNER JOIN USING について質問していた者です。
http://pc5.2ch.net/test/read.cgi/db/1056977791/385-392n

どうやらこの仕様は MySQL 独自らしいのですが、どこを見れば詳しい仕様が
分かるでしょうか?
http://dev.mysql.com/doc/mysql/ja/JOIN.html
ここを見ても、漠然としていてよく分かりません。

どなたか、どうかお教えください。
7NAME IS NULL:04/10/05 18:56:49 ID:z90Cepph
自宅のPC
    winXP
    mysql4.0.18

コマンドプロンプトから接続して、
show databases;
をやると
mydb
mysql
とでます。mydbを削除したいので。
drop database mydb;
を打ちました。
Query OK, 0 rows affected (0.00 sec)

こうなってしまい一向にけせませんがどうすればよいでしょうか?
以前は普通に消せたのに;参りましたorz助けてくださいm(_ _)m
87:04/10/05 19:08:21 ID:z90Cepph
試しに一個適当なデータベースを作って消したら普通に消えました。
mydbだけ無理なようです。どうしてでしょうか?
9NAME IS NULL:04/10/05 20:01:01 ID:IgcG9IUi
>>8 mydb って自分でつくったデータベース?
107:04/10/05 20:32:44 ID:???
>>9
はい自分で作ったやつです。以前は問題なくけせましたが、いきなり消せなくなりました;
そもそも消せないデータベースなんて存在しまsんよね。
mysqlですら確か消せたはずですし

どうすれば消せるでしょうか?
11NAME IS NULL:04/10/05 20:33:17 ID:rRh5O26X
大学のPCで
・WindowsXP(Pro)
・mysql3.23.54
でやっています。

>mysqladmin -u root -p password
を実行しても

mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'

と出てしまいます。他のコマンドをやろうとしても、
上記のメッセージが出てきます。自宅では設定できたんだけど、
どうして学校だと無理なんだろうか・・・。

12NAME IS NULL:04/10/05 22:04:21 ID:???
>>11
で、

> Check that mysqld is running on localhost and that the port is 3306.
> You can check this by doing 'telnet localhost 3306'

は試してみたんだろうな?
13NAME IS NULL:04/10/06 00:12:29 ID:???
>>10
権限の問題だったらDROPでエラーが出る筈だし、
もっと根の部分かも。

ファイルシステム上で何かロックが掛かってない?
147:04/10/06 01:56:21 ID:???
>>13
ファイルシテム上?
根本をしらないのですが、例えばユーザの管理はmysql.user内でやってますよね。
しかしDbの管理はどこでしてるのでしょうか?

drop database mydb;
Query OK, 0 rows affected (0.00 sec)

これが気になるんですよね。成功してるのに消えてないっていうところが。
で、ここまで書いてちょっと思いだしました。確かDBはどっかにファイルが作られてることを。

で \mysql\data\ で見つけました。mydbファイルを。
中身を見たらなんと以前に作ったSQLファイル(SQL文が書かれたもの)が
ありました。多分これがあったせいでファイルを消せずにいたんだと思います。

このSQLファイルを手動削除後に、接続してdropしたらしっかりけせました。
完全解決です!!!

正直どっかいかれたかなと思いましたが、
>ファイルシステム上で何かロックが掛かってない?
これ最高でした^^はしゃぎすぎてごめんなさい。それでは失礼しますm(_ _)m
15NAME IS NULL:04/10/06 16:02:59 ID:CAYkiHre
mysql 4.0.18
コマンドプロンプトから
C:\mysql\bin> mysql -u root -p mydb < query.sql

とするとquery.sqlの中身にかいてあるSQL文を実行させることができますよね。
これってログインしてからではできないのでしょうか?

mysql> mydb < query.sql;
としてもエラーになるのですが、やり方が間違ってるだけで本当はできるのでしょうか?
いつも一旦ログアウトするのが面倒なので;

ちなみにquery.sqlの中身は初期設定です。
16NAME IS NULL:04/10/06 17:54:31 ID:???
>>15
mysql> source query.sql
または
mysql> \. query.sql
17NAME IS NULL:04/10/06 19:05:56 ID:Pmz2VZOq
INT UNSIGNED AUTOINCREMENT の項目を
Primary Key にしようと思ったのですが、
自動的に採番されるが故に、この項目での関連付けができません・・・。
なにか巧みな方法がありましたら、お教えください。

CREATE TABLE table_a (
no INT UNSIGNED AUTOINCREMENT,
a VARCHAR(16) NOT NULL,
PRIMARY KEY idx_primary_key (no)
)

CREATE TABLE table_b (
no INT UNSIGNED NOT NULL,
b VARCHAR(16) NOT NULL,
PRIMARY KEY idx_primary_key (no)
)

insert into table_a (a) value ('aaa');
insert into table_b (no, b) value (???, 'bbb');

table_a と table_b を no で関連付けたいけれども、
table_bをinsertするときにnoが決定できないということです。

素直にAUTOINCREMENTをやめて、
自分でselect MAX(no)するのが普通でしょうか?
18NAME IS NULL:04/10/06 19:15:30 ID:???
>>17
insert into table_b (no, b) values (LAST_INSERT_ID(), 'bbb');
あるいは、アプリケーション側でmysql_insert_id()を使ってIDを取得しておいてからinsertする。
1917:04/10/06 19:49:39 ID:???
>>18
ありがとうございます!!
言われて調べたら、MySQLマニュアルに載ってますね orz。
お手数おかけしました。

ちと、マルチスレッドが気になりますが、
もうちょっと深く調べてみます。
2015:04/10/06 20:34:46 ID:???
>>16
おお!ありがとうございます!
21NAME IS NULL:04/10/07 11:31:36 ID:5L2/XJS/
一括更新とかできないんですか。
excelとかでファイルつくって、読み込ませたいんです。
22NAME IS NULL:04/10/07 13:18:14 ID:???
いきなり何を言ってるんだ?
23NAME IS NULL:04/10/07 15:58:43 ID:???
>>21
LOAD DATA INFILE 構文というのがあるようです。
http://syokunin.no-ip.org/mysql/6.htm
http://dev.mysql.com/doc/mysql/ja/LOAD_DATA.html
24NAME IS NULL:04/10/07 16:04:23 ID:???
質問です。
MySQL 4.0 で、JOIN 句を使っているのですが、
フィールド名が違うテーブルを結合するには、やはり ON句しかないのでしょうか?

5つぐらいのキーのあるテーブル同士を結合したいのですが、フィールド名が
ひとつだけ違っていて、USING句が使えないのです。
おかげでズラズラとON ... AND ... AND... AND... AND... と書いております。

何か良い方法をご存知の方、お教えください。
25NAME IS NULL:04/10/07 17:37:22 ID:???
>>24
SELECT * FROM t1 JOIN t2 USING(f1, f2, f3, f4) WHERE t1.f5_1 = t2.f5_2;
ちゃんと最適化されるかどうかは知らないので、EXPLAINで調べてね。
26NAME IS NULL:04/10/07 17:56:09 ID:???
2724:04/10/07 18:13:59 ID:???
すみません、言い忘れていました。
外部結合(LEFT JOIN)なのです。だからWHERE 句で = では結合できません。
Oracle には WHERE 句で外部結合する演算子がありました。
MySQL4.0にもそれがあるでしょうか?もしあれば、それで何とかできそうです。
28NAME IS NULL:04/10/09 20:11:40 ID:???
for($i = 0 ; $i<5; $i++)
{
  $result = mysql_query("lock table Table1 WRITE");
  print(mysql_error());
  sleep(1);
  mysql_query("unlock tables");
}

このPHPを二つ同時にアクセスしているのですが、ロックされているテーブルにさらに他のプロセスがロックしようとすると
エラーが返ってくると思っているのですが違うのでしょうか・・。
29NAME IS NULL:04/10/09 20:12:49 ID:???
書き忘れていました、スマソ。↑では何も表示されません。
30NAME IS NULL:04/10/09 22:59:35 ID:???
>>28 すでにprocess A に lock write されてるテーブルがあるとする。
そういったテーブルを別の process B がロックしにいったとする。
そうした場合は、process Aが unlock tables するまで、process B は
待ち状態に置かれる。つまり、process B のqueryは送られたきり
table unlock が起こるまで返ってこない。返ってきたときは
process A は unlock していて process B がめでたく lock write
したあとだから、当然 OK status となる。
31NAME IS NULL:04/10/09 23:20:36 ID:???
>>30
順番が回ってくるまでそこでprocess Bが待たされているんですね。
分かりやすく説明していただいてありがとうございます^−^
flockみたいにロックできなかったらエラーを返すと思っていました・・・。
3230:04/10/09 23:35:23 ID:???
ロックできなかったよ、アクセスできなかったよといってqueryがすぐ
返ってきちゃう実装だと、プログラムするのがかなーり面倒くさく
なっちまうわけで。>>31
33NAME IS NULL:04/10/11 01:43:58 ID:???
memberlist(リスト)
+-------+
| member|
+-------+
| 梅0号  |  
+-------+
| 梅1号 |
+-------+
| 梅2号 |
+-------+
| 梅3号 |
+-------+

attendance(出席簿)
+-------+
| member|
+-------+
| 梅0号  |  
+-------+
| 梅1号 |
+-------+

という二つのテーブルがありまして欠席者一覧(memberの中でattendanceに無い人)が欲しいのですが
サブクエリが使えない環境でどのようにクエリを書いたらいいのでしょうか?
34NAME IS NULL:04/10/11 01:45:31 ID:???
>memberの中でattendanceに無い人
memberlistの中でattendanceに無い人
でした。(´・ω・`)
35NAME IS NULL:04/10/11 03:49:14 ID:???
>>34 left joinして、nullかどうか見ればいいんじゃない?
手元にないんでやってないけど。
36NAME IS NULL:04/10/11 04:45:15 ID:???
memberを使ったmemberlistとattendanceの外部結合で、
attendanceがnullのmemberlistを表示したら?
37NAME IS NULL:04/10/11 11:59:46 ID:???
ううっ、勉強になります・・。
何時間もこのことだけで試行錯誤したり、テンポラリテーブル使ったりやってみたんですが
やっと解決です。
ありがとうございます。
38NAME IS NULL:04/10/11 19:16:42 ID:???
MySQLの特定のデータベースにあるテーブルの最終更新日を簡単に
取得できる方法はありますか?

(目的としては、特定のテーブルがある期間内で更新されたかどう
かを求めたいのです。)

只今試行錯誤しているのですが、テーブルのカラムにUpdate日付
を持つようにするしかないのでしょうか?
39NAME IS NULL:04/10/11 20:55:21 ID:???
>>38 logファイルを見る。
40NAME IS NULL:04/10/11 23:12:42 ID:???
タイムスタンプフィールドを作る
41NAME IS NULL:04/10/12 19:22:37 ID:???
あるデータベースで検索結果のヒット数が15件あったとします。
1ページ当たりの表示件数を10件としている場合、
1ページ目で10件表示され、「next」や「次へ」を押すと残りの5件が表示されます。

ここで質問なのですが、その際のソート順を『ORDER BY RAND()』にしている場合、
1ページ目に表示される10件も2ページ目に表示される残り5件も全てランダムに表示されるのでしょうか?
つまり両ページともランダムなので、1ページ目に表示された項目が再度2ページ目に現れてしまうのでしょうか??
そうすると重なって表示される項目が有る為、逆にそのせいで表示されない項目も出てきてしまいます。

今、私が作ってるデータベースがあるのですが、上記の様な状態になりました。
これは『ORDER BY RAND()』を使う場合はやむを得ないのでしょうか・・・。
もし解決策があったらご教示下さい。
42NAME IS NULL:04/10/12 19:34:08 ID:???
>>41
seedを同じにする。
43NAME IS NULL:04/10/12 19:48:13 ID:???
mysqlで正しくInnoDBが正しく入っているか
使用できる状態か確認するコマンドはありますか?
4441:04/10/12 19:56:52 ID:???
>>42
即レスありがとうございます。
seedについてマニュアルで調べたところ、『RAND(seed)』と発見しました。
今までPHPに記述していた『RAND()』の代わりに『RAND(seed)』と記述してみます。
ありがとうございました。
45NAME IS NULL:04/10/13 10:38:57 ID:???
43です。
解決したのでレスを取り下げます。
無駄レススマソ。
46NAME IS NULL:04/10/13 12:24:01 ID:/ZR/ODZM
質問させてください
mysql-4.0.20d-win を使って自鯖でmysqlを勉強し始めたのですが

create table test (
id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(40),
amount VARCHAR(20),
place VARCHAR(20),
unique (Name,place),
block VARCHAR(1),
time TIMESTAMP(14) NOT NULL
);

このようなテーブルを作って予めデータを数件入れている状態です。
通常はName,placeを一意のユニークとして重複するものは上書きREPLACE
しています。

このような状態で、同じplaceフィールドのblockフィールドだけに値を入れたいのですが
どうしたらよいのでしょうか?

select replace(block,'1') from test order by block
いろいろ読み漁ってこのような感じにしたのですが構文エラーがでてしまいました。

当方、perlからmysqlを使っているので一旦、select name from test where place in (場所の名前);

として一意のユニークキーを抜き取ってからそれを元にREPLACE INTOで書き換えようかと思ったのですが
スマートじゃないですね・・
お力添えしていただけるとうれしいです。
47NAME IS NULL:04/10/13 13:16:46 ID:???
>>46
UPDATE test SET block='1' WHERE place='場所の名前';

> いろいろ読み漁ってこのような感じに

なにを読んだんだろう…
4846:04/10/13 15:08:53 ID:???
>>47
ありがとうございました。
ばっちりいけました。

ぇっと・・mysqlマニュアルを読み漁ってました・・ゴチャゴチャになってしまったのかな。
49NAME IS NULL:04/10/13 18:48:51 ID:???
まず基本的なことから勉強した方がいいと思われ
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3sql.htm
50NAME IS NULL:04/10/13 22:25:21 ID:???
my.cnf設定についてご教授を…

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

[mysqld]
datadir = /var/lib/mysql
port= 3306
socket= /var/lib/mysql/mysql.sock
skip-locking
skip-innodb
set-variable= key_buffer=256M
set-variable= max_allowed_packet=2M
set-variable= table_cache=256
set-variable= sort_buffer=2M
set-variable= net_buffer_length=32K
set-variable= myisam_sort_buffer_size=32M
set-variable= max_connections=300
set-variable= record_buffer=2M
log-bin
server-id= 1

こんな感じで設定しているのですが、もっとこうした方が早くなるよって設定ありますか?
51NAME IS NULL:04/10/14 01:08:55 ID:LVPksM5U
マシンのメモリとか、CPU数とかわからんとわからん。
何に使ってるか(WEBのバックエンド?)とかも
わからないと答えられない。
52NAME IS NULL:04/10/14 01:57:18 ID:???
>50
メモリの設定は、マニュアルに目を通したほうがいいよ。
log-binは、レプリケーションつかわないなら
外した方が速くなりそう。
5350:04/10/14 11:40:37 ID:???
>>51
すみまんせん、確かにそうですね(^^;

CPU Pen3 1.2G 1個
MEM 768M

使用用途はXOOPSの為のDBです。

色々なモジュールを突っ込んで、それぞれで大量の情報を書き込んでいったら
かなり遅くなってしまい、ページを表示させるのに何十秒もかかってしまいます。

HDD1枚はつらいかなぁ・・・ RAIDを組むべきですかね?
54NAME IS NULL:04/10/14 16:42:14 ID:???
以下のようなテーブルとインデックス構成で、データを大量登録
しようとして、途中でエラーが発生し登録ができなくなりました。

create table A (
SitenNo integer unsigned not null,
InOutTime datetime not null,
PersonNo integer unsigned not null,
    :
    :
);
create unique index IndexA on A (InOutTime,SitenNo,PersonNo);
create index IndexB on A (SitenNo);

Duplicate entry '2004-09-15 08:45:00-1-12' for key 1

このエラー↑は同じデータを2重登録しようとしたというので
わかるのですが、下のエラーの原因がわかりません。

Duplicate entry '1' for key 2

key 2 とは IndexB を指していると思うのですが、unique 指定を
していないのにDuplicate entry エラーが出る理由がわかりません。

このエラーが出る前には同じ支店Noでデータが大量に登録されている
のですが、このエラーが出た後は以後、同じエラーが発生し、データ
登録ができなくなります。
55NAME IS NULL:04/10/14 17:32:57 ID:???
>>54
SitenNoが主キーになってる気がする
5655:04/10/14 17:37:58 ID:???
「このエラーが出る前には同じ支店Noでデータが大量に登録されている」だから違うか。
支店No=SitenNoでしょ?
57NAME IS NULL:04/10/14 22:48:17 ID:LVPksM5U
>>53 そんな遅いマシンで使ったことないのであれだけど、
何十秒っていうのはそもそも設計が間違ってるんじゃないの?
58NAME IS NULL:04/10/14 23:28:04 ID:???
>>57
どうせブラウザの[Go]を押してから、レンダリングされて
画面描画までの時間というユーザのスタンスでの計測でしかないから
「サイト全体としての」設計が間違ってるとは言えるが、
データベースやアプリの設計が間違ってるとは断定できない。
極端な話、必要があって数十秒寝る処理があるのかもしれん。

良く判らなければ、今日日ハードウェアに金掛けるのが
端的で良いと思うけど、RAID?とか細かいこと言うなら
ちゃんとDiskI/Oがボトルネックになってるか調べてから
じゃないと無意味な投資。判らないならあらゆるもの全部に注ぎ込め。
59NAME IS NULL:04/10/15 00:12:59 ID:???
>>53
たぶん、いらないものが多すぎるだけだとおもうな。
よけいなものはずせ。
たぶんDBの問題じゃない。
60NAME IS NULL:04/10/15 16:20:31 ID:???
>>55
自分が作ったシステムではないので不確かですが、
create Table文とcreate index文は(名称は変えてますが)
書いたとおりの分しかありません。
Primary Keyの指定はしてないようなんですが....

>>56
支店No(SitenNo)がunique指定なら、同じ支店の別の人の
データを登録しようとした時点でエラーが発生するはずです。
そうではなく、ある支店の月次データを大量登録している時に
途中から突然エラーが発生したんです。

ちなみに障害なんですが、既存データをアプリでCSV出力した後、
テーブルとインデックスを削除&再作成し、既存データと新規の
CSVファイルを再度取り込ませた所、エラーも出ず取り込めました。

インデックスが壊れていたのかなぁ。
61NAME IS NULL:04/10/15 16:49:28 ID:???
show fields from A
62NAME IS NULL:04/10/17 13:56:09 ID:???
Windows2000+MySQL4.0.21での質問。

エラーメッセージをShift-JISにしようと思い、
『C:\mysql\share\japanese』のerrmsg.txtとerrmsg.sysをそれぞれ
euc_errmsg.txtとeuc_errmsg.sysとファイル名を変えてバックアップ。

euc_errmsg.txtを文字コードをShift-JISに変換したsjis_errmsg.txtを作成。

C:\mysql\binにはパスを通してあるので、コマンドプロンプトで
c:\mysql\share\japaneseに移動し、『comp-err sjis_errmsg.txt errmsg.sys』と入力してerrmsg.sysを作りました。

しかしならが、my.iniでlanguageを指定してもサービス起動時にエラーがでます。

そこで、今度は最初にリネームしておいたEUCでのエラーメッセージでerrmsg.sysを作ってみましたが、
同じようにサービス起動時にエラーとなります。
MySQLをインストールしたときのデフォルトのerrmsg.sysだとエラーになりません。

ちなみに、サービス起動時のエラーメッセージは
『エラー1067:プロセスを途中で強制終了しました。』と出ます。

上記の事から、インストールした時のerrmsg.txtを使って生成したerrmsg.sysでもエラーが出たので、
comp-err.exe自体に何か問題があるかと思うのですが、
解決方法をご存知の方が居ましたらご教授頂ければと思います。
63NAME IS NULL:04/10/18 00:08:41 ID:uKFn7As4
MySQL 4.0.21で、blob型に入れたUTF-8のデータのdumpに
関する質問です。
MySQL純正のMySQL Administratorでバックアップを取ると文字を
コード化してくれるのですが、


create table test.test (txt blob)TYPE=MyISAM;
txtにUTF-8で"日本語"とインサート

MySQL Administratorでバックアップしたときのinsert文
→insert into test (txt) values (0xE679A5E69CACE8AA9E);
mysqldumpでダンプしたときのinsert文(オプションは --opt)
→insert into test values ("日本語");

mysqldumpでダンプを取るときも上記のように符号化したいのですが、
どのようにすればよいでしょうか?
マニュアルを読んだ限りではそれらしいオプションが無いのですが。
64NAME IS NULL:04/10/18 01:03:35 ID:???
WindowsServer2003でnonインストーラーバージョンのMySQL 4.0.21を設置して、
XPとかと同様の操作でセットアップしたんですが、どうもサーバーは正常に動いてるんですが
他のアプリからDBに接続することが出来ません。何か特殊な設定が必要なのでしょうか?
65NAME IS NULL:04/10/18 10:18:49 ID:???
>>64
>どうもサーバーは正常に動いてるんですが
>他のアプリからDBに接続することが出来ません。

これだけでは何が起こっているのか分らないよ
6664:04/10/18 18:09:40 ID:???
>>65
unzipしたファイルをc:\mysqlにいれ、winmysqladmin.exeを起動し、
自動的にmysqld-ntでサービスを開始し、青信号になった状態です。
root@'%'でパスも設定しました。
勿論ログインし、テーブル作成やアカウント作成は可能な状態です。

しかし、MySQLを利用するアプリからローカルIP(192.168.1.2)を
指定したところ、接続不可能と言われます。
IISでphpmysqladminを使って接続を試みましたがやはりDBに接続できないといわれます。
67NAME IS NULL:04/10/18 18:37:47 ID:???
>>66
>ローカルIP(192.168.1.2)を指定

localhostかループバックアドレスで無い場合は、
MySQLからみるとネットワーク越しの接続になる筈。
ユーザ設定とネットワーク接続の設定を確認。
6864:04/10/19 15:33:41 ID:???
>>67
ローカルグループ・ユーザーのアクセス権等も設定見直ししましたが、
全てAdministratorで実行してます。
あと、ためしにループバック(localhost,127.0.01)でも接続出来ませんでした。
winmysqladminは青信号で、認識してるIPアドレスはコンピュータ名と192.168.1.2でした。
XPが良くてWS2003がダメだとしたらかなり萎えます・・・。
解決してないので、もう少し粘った後バージョンアップしてやってみたいと思います。。
69NAME IS NULL:04/10/19 16:57:59 ID:???
MySQLで一般ユーザーを追加後、
一般ユーザーでSHOW DATABASEできないようにしたいのですがどうしたらいいでしょうか?
70NAME IS NULL:04/10/19 21:08:53 ID:???
SHOW DATABASES つう priviledgeがある。
Manualを検索してみれ >>69
71NAME IS NULL:04/10/20 06:29:53 ID:???
SHOW DATABASESっつうprivilegeあるみたいですね。。。
でもどうやっていいのかManualみてもいまいちわかりません
どなたかご教授お願いしますm(_ _)m
72NAME IS NULL:04/10/20 08:23:29 ID:???
>>71
とにかく嫁。話はそれからだ。
73NAME IS NULL:04/10/20 14:16:47 ID:FjFr83vk
レンタルサーバーでFreeBSD 4.10,Apache/1.3.31,MySQL 4.0.20という環境でphpMyAdmin 2.6.0
を使ってテーブルを作成しデータを登録しました。それをブラウザで表示したり
phpMyAdminの画面からは普通に表示されるのですが、
select * from xxxx like '%天%';
などとすると'天'を含まないフィールドが抽出され、ブラウザではその箇所が文字化けして表示されます。
同じページの'天'を含む箇所は正常に表示されます。
phpMyAdminの画面では文字化けはしませんが本来抽出されないデータも
表示されています。

ウインドウズのローカル環境では問題なかったです。文字コードの問題
だと思うのですが、ご教授お願いします。
74NAME IS NULL:04/10/20 19:38:28 ID:???
EUC-JPにする
75NAME IS NULL:04/10/20 19:57:46 ID:???
Windowsであってもキャラクタセットの指定がないのは危険だからな
mysql.iniはかならず修正が必要

このへんセットアッププログラムでいじれたり
管理ツールで選択できるようになってればいいんだが
所詮といってはなんだがフリーのプロダクトはこういうのが弱い
7673:04/10/20 21:19:19 ID:???
ローカルの時もEUC-JPで統一していたのですが、レンタルサーバーは
共用なのでmysql.iniはいじれなくて、テーブル作成などもphpMyAdmin
から行なうようになってます。

ja-eucを選択してテーブルを作成すればdefault-character-setもujis
になるかと思ったのですが...
表示自体は能とかも問題なくlike %演算子を使ったときだけ不都合が
おきます。phpMyAdminにも設定などが必要なのか、サーバーがわざわざ
sjisに設定してあるのか...わかりません。
サーバにはmysqlはサポート外なのでわかる人だけ使ってくださいといわれ
ました。
77NAME IS NULL:04/10/20 23:09:43 ID:???
>>76
酔っ払ってるので話半分で読んでね。

まず、テーブルとスクリプトの文字コードを一致させる。
できない場合は問い合わせるキーワードをテーブルの
文字コードに合わせる。
また、日本語で比較するときはbinary演算子を付けると
幸せになれるかも。
78NAME IS NULL:04/10/20 23:10:08 ID:???
>>76 カラムをbinary設定してみる。
79全文検索ヲタク:04/10/20 23:57:03 ID:WgoI9BEk
mysqlヲタク&神々にお尋ねします。
当方,現在テキストデータ(平均サイズ1kB),約700万件を
mysql5.0にぶち込んでmysqlの全文検索機能を使って検索システムを
構築中です。↓mysql全文検索の資料
http://dev.mysql.com/doc/mysql/ja/Fulltext_Fine-tuning.html

ですが,やはり速度が出せず1,2分かかってしまうこともあります。
誰か全文検索機能のチューニングのこつをご存じないでしょうか?
(テーブル最適化 myisamchk -r _table は実行済み)

ちなみに環境は
OS: Linux(kernel2.6)
CPU: Pen4 2.8GHz
memory: 1GB
Version: MySQL 5.0.1-alpha

MyISAM table のフィールド
int
varchar(400)
TEXT
date

該当INDEX
varchar+TEXT からのFULL-TEXT INDEX
80NAME IS NULL:04/10/21 01:24:29 ID:yiQrtLs2
すいません、教えてください。
オートインクリメントをリセットする方法ってないでしょうか?
オートインクリメントを解除する方法はあっても、リセットする方法って探しても出てこなくて・・・
どなたか、ご存知の方お願いいたします。
81NAME IS NULL:04/10/21 01:30:56 ID:???
>>80
そんなことするな
82NAME IS NULL:04/10/21 02:20:17 ID:???
>>80 truncateするとリセットされます
8371:04/10/21 06:49:31 ID:???
mysqld コマンド行オプションって何でしょうか?
ttp://web.kuicr.kyoto-u.ac.jp/manual/mysql/manual.ja_Command-line_options.html
ここでSHOW DATABASESって特権をなくセルみたいなこと書いてあるのですがいまいちわかりません。。

--skip-show-database
process 権限を持っていないユーザに 'SHOW DATABASE' コマンドを許しません。

この部分ですが、よろしくお願いします。
84NAME IS NULL:04/10/21 07:52:26 ID:???
>>83
あなたのやりたいことはmysql.userテーブルで設定するがよろし。
85NAME IS NULL:04/10/21 10:38:19 ID:???
>>79
以前のバージョンだとMySQLのfulltextって欧米圏の言語しか効かなかったけど
今は日本語もOKになったの?
TODOには「UCS-2のサポート」が挙げられてるけど
ttp://dev.mysql.com/doc/mysql/ja/Fulltext_TODO.html
86NAME IS NULL:04/10/21 10:54:23 ID:???
SQLコマンド中で、別のファイルのSQLを処理できますか?
87NAME IS NULL:04/10/21 10:59:41 ID:???
>>86
mysqlのコマンドラインでか?
そりゃ無理だろ。
88NAME IS NULL:04/10/21 11:05:41 ID:???
postgresだと\iでできるけど。
89NAME IS NULL:04/10/21 11:52:29 ID:???
>>86 source または \. 少しはマニュアル読め
>>87 退場
9073:04/10/21 12:02:12 ID:???
ありがとうございます。
テーブルはja-eucで作成して、スクリプトはEUC-JPで統一して、念のため
検索キーワードもmb_convert_encodingでEUCに変換してみたのですがダメ
でした。
フィールドをBLOGで作成したり、xxx like binary '%xx%'などともしてみたの
ですが結果は変わりませんでした。
はぁ〜。
91NAME IS NULL:04/10/21 12:09:48 ID:???
>>89
あほか。
>>86はSQLコマンドの中でと言ってるんだぞ。
92NAME IS NULL:04/10/21 12:55:24 ID:Vu2F5W+/
>>フィールドをBLOGで作成したり、xxx like binary '%xx%'などともしてみたの

カラムがBLOB型で、かつ
SELECT * FROM table WHERE column LIKE BINARY '%天%';
ってやってみた?
これでうまくいかないとなると、本当に変だね。
93NAME IS NULL:04/10/21 13:44:30 ID:???
>>91
SQL構文はともかく、SQL"コマンド"なんてないから
SQLコマンドプロンプトのことだろうと汲み取ってやっても良いだろう?
87氏も訊きなおしてるし。

俺はアンタのようなキチっとした香具師も好きだが。
94NAME IS NULL:04/10/21 14:42:05 ID:sNXQEQyG
>>85
当方,英語文献の検索システムを構築中です。
日本語対応はまだかと思われ。
単語分解してindex貼れば可能かと思われますが。。。
9573:04/10/21 17:08:09 ID:C5NJIhw2
カラムをBLOBにしても変化なかったのですがbinary演算子をつけたら
誤ヒットが大幅に減って使えるレベルにはなりました。
TEXTのままでも変わらないみたいです。
しかし前後の文字によって'天’などがやはり不必要にヒットしてます。
mb_detect_encodingでキーワードをチェックすると問題を起こす漢字たち
だけはUTF-8になってました。
これを強制的にEUCに変換すると今度'天'を含んでいてもまったくヒットしなく
なってしまいました。化けて表示されるよりヒットしない方がいいかな
と。
それに中国人ではないので漢字一文字での検索はしないと強く言い張って、
今日こそ家にかえりたいなぁ。
96NAME IS NULL:04/10/21 17:12:03 ID:???
大事なデータベースで誤ヒットが減ったとかそんないい加減な考えでいいのか?
そんなレベルならものによっては自作したほうがいいんじゃね?
9773:04/10/21 17:58:59 ID:???
そうです、すいません自分がまちがってました。
しかしこのレンタルスペースを利用することは動かせないわけで、
スクリプトからできることでなにかアドバイスがあれば是非ご教授
願いたいのですが。
自作というのはmysqlなどを利用するのではなくCSVのログファイル
みたいなものを自作するということでしょうか?
98NAME IS NULL:04/10/21 19:18:07 ID:???
mysqlを使わずにってことね
どこからcsvとかログファイルというのが出てきたかわからんが
XMLベースでXPathとか勉強するといいかもね
9973:04/10/21 19:42:11 ID:???
がーんXPath...とは名前すら知らない。
やっとPHPをやっとの思いで、やっと
100NAME IS NULL:04/10/21 21:00:05 ID:???
namazu使うとか
101NAME IS NULL:04/10/21 23:12:04 ID:???
>>99
俺はPHP4.3.9+MySQL 4.0.21を使っていて、UTF-8で文字検索してる。
当然PHP側はUTF-8でMySQLはBLOB型ね。
PHPを使っているということは、php.iniのmbstringの設定で
出力時の文字コードを勝手に変換しているのではないか?
php.iniをチェックされたし。
102NAME IS NULL:04/10/21 23:36:53 ID:???
レンタルサーバってphp.ini見れるの?
103NAME IS NULL:04/10/22 00:09:07 ID:???
>>73
とりあえず、ブラウザに出力されるときのエンコーディングと
スクリプトのソースのエンコーディングと、MySQLに格納されている
データのエンコーディングが全部合ってるか確認しる。

> ブラウザではその箇所が文字化けして表示されます。

多分出力されている文字列の実際のエンコーディングはsjisで、
HTTPヘッダやmetaで指定しているエンコーディングと食い違って
いる、とかそのへんじゃないか。

でもどうせ

> select * from xxxx like '%天%';

とかやるんだったらインデックスもへったくれもないし
いっそのこと select * from xxx; とやっといて
スクリプト側で全部なめて検索しても変わらないんじゃないの?


# つうかそこでXPathが出てくるか普通?
104NAME IS NULL:04/10/22 00:16:30 ID:???
>>102
php.iniをいじれなくてもini_set() で設定すればいいだろ。
105NAME IS NULL:04/10/22 00:40:48 ID:???
>>103
シンプルなデータを扱いときに便利だよ>XML
10673:04/10/22 01:53:41 ID:???
スクリプトの文字コードとmetaのキャラセットはEUCで統一して
表示もmb_detect_encoding表示ではEUCになってました。
php.iniは自分のディレクトリでいじれてこのようにしてます。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
文字化けはヒットしたキーワードをタグでハイライト表示させると起きるので
やっぱりスクリプトの問題だと思うのですが、like '%天%'で 津軽地方 に
ヒットしてしまいます。
MySQLに格納されているデータのエンコーディングはどうやって調べるか
わかりません。phpmyadminでja-eucを選択してテーブルを作成しました。
107NAME IS NULL:04/10/22 03:21:26 ID:6g/IdAI6
ソフトエージェンシーにライセンスについての質問メールを
出したのですが、無視されてしまいました。
本名書いて丁寧な文章にしたのですが、無視が基本なのか
困りました。返事が貰えないと社内システムで使えるかどう
か判断つかない・・・。
108NAME IS NULL:04/10/22 03:57:41 ID:???
>>106
俺は問い合わせの返事もらえてるけど?
どんな内容か知らないが、貴方の日頃の行いが…なわけねぇか。
どっち宛(一般/MySQL)に出したん?
109NAME IS NULL:04/10/22 04:40:04 ID:6g/IdAI6
>>108
返事もらえてるんですか・・・・やっぱり日頃の行ないが・・・orz

問合せ先は licensing です。
「ライセンス供与に関するご質問は[email protected]にお問い
合わせください。当社からアドバイスをさせていただきます。」
と書いてあったので。
改めて別なアドレスに出してみます。
110NAME IS NULL:04/10/22 05:33:12 ID:???
>>109
それってMySQL AB宛のアドレス(それもインターナショナル)だから、
英語で書かんといかんでしょ。向こうも日本語で貰っても当惑しちまうよ。
日本語で問い合わせたいなら、国内代理店宛。
俺はMySQL AB直とソフトエイジェンシー以外からは買ったことがないが、
今はソフトエイジェンシー以外の国内代理店が複数ある。
(それぞれ、分野毎で住み分けてるみたいだけど)
111NAME IS NULL:04/10/22 05:45:38 ID:???
>>110
ありがとうございます。お恥ずかしいかぎりです。
国内代理店宛に聞いてみます。
ありがとうございました。
112NAME IS NULL:04/10/22 08:46:42 ID:???
MySQL5.0.1とかねやんMySQLAdmin1.43を使用しているのですが、
root(アドミ)から一般ユーザーa_userを登録して、そいつにa_bataというデータベースに参照や、挿入権限など一通り与え、
passもa_passと登録したのですが、かねやんを再起動させるとa_user:a_passでログインできなく、
又、rootからログインしてmysql内のuserテーブル内を見ると、passwordがrootにも設定されていたり、
a_userにも設定pass文字数と違った数が設定されていたり、何がなんだかよくわからない状況になっています。

設定した一般ユーザー名:passでログインするには、どうしたらいいんでしょうか?
113NAME IS NULL:04/10/22 15:24:41 ID:Adho7nKC
          ;' ':;,,     ,;'':;,
         ;'   ':;,.,.,.,.,.,,,;'  ';,
        ,:'           : :、
       ,:' \  ,,. 、./  ノ( ::::::::',
       :'  ●     ● ⌒   :::::i.
       i  ''' (_人_) '''' *   :::::i    ぬるぽー!!!
        :    {+ + +}      :::::i
       `:,、   ̄ ̄      ::::::::: /
        ,:'        : ::::::::::::`:、
        ,:'         : : ::::::::::`:、
114NAME IS NULL:04/10/22 20:58:52 ID:???
>>112
かねやんMySQLAdminのそのバージョンとMySQL5.0.1での動作実績&対応は?
MySQL4.xあたりでは同様の操作で問題なかったか?
MySQLのコマンドラインでやった場合はどうよ?
115112:04/10/23 04:06:29 ID:???
>>114
すっきりした頭でよくよく見てみたら、5.0.1の動作実績なさそうでした。
mysql-4.0.21-winでやったところ、指定したpassでログインできるようになりましたが、
ちょっと5.0.0で試したところ、112と同じ状況になりました。
5.0.0と5.0.1で共通するのはrootログイン時の警告で

このキャラクタセットでは文字化けを起こす可能性があります。;
サーバのキャラクタセット->
クライアントのキャラクタセット-> sjis

というのが表示されること。
4.0.21では

サーバのキャラクタセット-> latin1

となっていました。
あと、5.0.0、5.0.1でa_userのpassを空白にしてから、かねやんでログイン(ID:a_user pass:"NULL")したところ、
上記の警告文は表示されるもののログインには成功しました…けど、このまま使用するのはちょっとまずいですよね?
やっぱりこのキャラクタセットがキーだと思って検索してみたのですが、MLのログらしきものしか引っかからなく、
(時間も時間なんで)斜め読みしてみたのですがちょっと、これを解決するにもいたりませんでした。

4.0.21でこのまま使用し続けて問題がないのならいいのですが、卒研の残り時間もあまりないので、躓くとちょっと時間的に厳しい…
キャラクタセットの警告文に対する処理方法はどうしたらよいのでしょうか?

環境:win2k Apatch2 PHP4.3.9 MySQL4.0.21(5.0.1)
ローカル環境でやっています。
116NAME IS NULL:04/10/23 10:20:16 ID:???
mysq.liniにキャラクタセットの指定がないからじゃない?
117112:04/10/23 11:25:32 ID:???
>>116
ごめんなさい、その通りでした。
もっとよく考えてからくるべきでした…すみません。

今のところ問題がなさそうなので、このまま製作続けます。
…なんか後1つ2つ壁がありそうなんですけど、その時にまた来てもいいでしょうか?
118NAME IS NULL:04/10/23 22:46:39 ID:ih/ucCB8
すいません、MySQLでの質問です。

動作環境は自作の
CPU 2.4G
OS XP
でMySQLのプロンプトを
開こうとすると本体から
「ブッ!」と言う短い
音が出てすぐに閉じて
しまいます。この音は初めて
聞く音です。これはどう
やって回避したらよいの
でしょうか?まともに動く
ようにしたいのですが…。

教えてください。
使っている本は
「いますぐ導入!PHP+MySQLで作る最速Webシステム」
http://www.tsware.jp/publish/phpmysql/index.htm
バージョンは
PHP 4.3.2
Apache 2.0.45
MySQL 4.0.14
119NAME IS NULL:04/10/24 00:19:06 ID:???
>mysql -u uname -p
でパスワード入れたら落ちるの?
120NAME IS NULL:04/10/24 07:06:30 ID:WaBYIAQk
ssssc
121NAME IS NULL:04/10/24 11:21:58 ID:???
118は、mysqlとは関係がないwindowsレベルの話でしょう
122NAME IS NULL:04/10/24 13:44:16 ID:???
http://dev.mysql.com/doc/mysql/ja/Problems_with_NULL.html
count(コメント)と指定した場合、カラムコメントがNULLのレコードは数えないって書いてあるんだけど

>GROUP BY を使用すると、すべての NULL 値が同じと見なされます。

これの意味がよくわからない。
GROUP BY を使っているとcount(コメント)とした場合でもNULL値のレコードは数えてしまうと言うこと?
123NAME IS NULL :04/10/24 16:01:24 ID:???
質問です。

WindwosマシンにMySQLのクライアント向けのツールを入れたいのですが、
ServerとClientが一緒になってしまいます。

Linuxの場合はClientのみインストール可能のようですが、Windowsの
場合は不可能なのでしょうか?
124ff:04/10/24 17:50:03 ID:PhhLLhOO
Mysql初心者です、調べても解りませんでしたのでどうか。。

os:winXp pro sp2
mySQL:4.0.21
上記をインストールし、mysql.exe上でshow databases;としてもtestしか見えません

インストールフォルダにはmysqlとtestデータベースが確かにあり、MysqlManager.exeでは見えます。
WinMySQLAdmin.exeのdatabaseタブでは右クリックでもCreateDatabaseがでてこないので、権限が低いことは予想で解りました
ところが、MySqlマニュアルにあるように、mysql.exe上で
mysql> mysql -u root mysql;
と打ってもsyntax errorを返します

何度かinstallし直しましたが、どうしても上記現象を繰り返します

修正方法を教えていただけないでしょうか
125NAME IS NULL:04/10/24 22:18:15 ID:???
>>124 mysql の使い方が全然なってないんだよ。とりあえず、
餅ついてよくマニュアルを嫁。 mysql> プロンプトが見えてる
つうことは、mysqlクライアントにはもう入れているつうことだ罠。
したら、mysql> の「あとに」show databases; と入れて見れ。
セミコロンは必要だかんね。

mysql> show databases; <cr>

んで最後の<cr>はリターン。「mysql」というデータベースが見えたら、

mysql> use mysql <cr>
mysql> show tables; <cr>

と進む。色々出てくるだろ。
126ff:04/10/24 22:58:45 ID:PhhLLhOO
>125
同じことをしていますが、出てこないのです
mysql> show databases;<cr>で出てくるのはtestのみです
ここが、不可解です(>124でも書きましたがmysqlデータベースはあります)
ユーザーでしょうか
引き続き、どのように対処したらよろしいでしょうか
127NAME IS NULL:04/10/24 23:11:21 ID:???
ログインしているアカウントの権限が弱いのだよ
rootで入れ
128NAME IS NULL:04/10/25 09:40:27 ID:???
mysql.exeをダブルクリックじゃだめ
コマンドプロンプトから
C:\mysql\bin> mysql -u root mysql
しなきゃ
129NAME IS NULL:04/10/25 11:55:02 ID:???
いまチュートリアルで遊んでいるのですが、画像そのもののデータとか
動画のイントロ部分そのもののデータとかをデータベースに格納できたり
できるのでしょうか?初心者なのでデータベースというと住所録や成績表のよ
うなプレインテキストででもできるようなものしか浮びません。

mysql> select version();
+------------+
| version() |
+------------+
| 4.0.21-log |
+------------+
130NAME IS NULL:04/10/25 12:09:15 ID:???
>>129
できます。
131NAME IS NULL:04/10/25 12:13:27 ID:???
どうやるのでしょうか?ポインタだけでも
132NAME IS NULL:04/10/25 12:17:17 ID:???
>>131
普通にバイナリ型(BLOB)で入れるだけ。
133NAME IS NULL:04/10/25 12:22:23 ID:???
サイズの上限はファイルシステム依存でしょうか?
134NAME IS NULL:04/10/25 12:40:09 ID:???
>>133
そろそろマニュアル嫁な。
普通は型に依存するだろ。
ファイルシステムに依存するかどうかはシステムによるんじゃね?

で、型のサイズは以下参照な。
http://dev.mysql.com/doc/mysql/ja/Column_types.html
135134:04/10/25 12:45:33 ID:nDUqVSTn
>128
ありがとうございます
この方法で解決致しました
136134:04/10/25 12:47:03 ID:???
134ではなく124でした
しかもsage忘れました...スイマセ
137スレ違いだったら申し訳ないです。:04/10/26 00:53:10 ID:bAPWfiki
すみません。どうしてもMySQLを覚えないといけない
事態が起きまして、さらに独学で学ばないといけない状態なのです。
SQLの絵本という本を購入したり、いろんなサイトさんを
巡って来たのですが、分らなくて、こちらに辿りつきました。
 ものすごい初歩の質問なのですが、WindowsXPに
MySQLをダウンロードする手順とお勧めのバージョンを
教えて頂けないでしょうか。
どこのサイトさんでも、インストールはここ(公式HPのURL)と
リンクを貼って下さっているだけで、行った先は英語なので
全く理解不能で…。インフォシークのサイト丸ごと翻訳で公式
HPを翻訳してもらったのですが、ダウンロードのボタンを
押すと、ノットファウンドになってしまうんです。
どなたか教えて頂けないでしょうか・・・・。
138NAME IS NULL:04/10/26 01:07:59 ID:???
英語ぐらい嫁
>>138
読めないんです…。
そこを、なんとか……
140NAME IS NULL:04/10/26 01:30:17 ID:???
MySQLの公式HPに本当に行ったのか?と疑問に思うんだが・・・
なぜかというと、公式HPに日本語ドキュメントがあるから。

ttp://dev.mysql.com/doc/mysql/ja/index.html
>>140
そこも一通り見たんです_| ̄|○
でも、mysql/ja/Installing.htmlでどうしたら良いかを
書いてくれているものの、入手先、という所で
mysql/ja/Getting_MySQL.htmlに飛んで、公式ページ
ttp://www.mysql.com/)か、ミラーサイトに飛べ、
と指導されて、素直に飛んで行ったのですが
両方とも英語で……_| ̄|  =○
142140:04/10/26 02:37:02 ID:???
つうか、ダウンロードすらできないのに、独学で大丈夫か?

(http://www.mysql.com/)からだと、上の方にDeveloper Zoneのタブがある、
そのリンクをクリックすると(http://dev.mysql.com/)に行ける。
ミラーの(http://mirrors.sunsite.dk/mysql/)に飛んだ場合も、見た目は同じはず。

あとは、上の方にDownloadsというリンクあるから、リンクをクリックする。
公式からだと(http://dev.mysql.com/downloads/
ミラーだと(http://mirrors.sunsite.dk/mysql/downloads/index.html)に飛ぶはず。

そうすると、ダウンロードできるリストが出てくるはず。
MySQL4.0
MySQL4.1
MySQL5.0
MySQL5.0.1
と色々あるが、安定版使用したかったら、MySQL4.0のリンクをクリックする。
そうすると、各OSごとのダウンロードファイルがあるから、
自分で使うOSのMySQLをダウンロードしろ。
>>142
ううぅ。ありがとうございます。
上司の命令で『覚えろ』って。ううぅ。
中途採用して頂いて、他の先輩方が今一番忙しい
時期で、仕事を教えている暇がないから、今の内に独学で
覚えておきなさいとの事で、『出来ません・無理です』なんて
口が裂けてもいえるわけがなくって…_| ̄|○

ダウンロード出来ました♪
ほんとうに140さん、多謝です!
Windows (x86)で、良いのですよねっ?!
今から、初期設定頑張りますっ。
本当に、ありがとうございました。
144ぎゃー:04/10/26 05:02:44 ID:bAPWfiki
何度もすみません。
無事インストールが出来て、初期設定も出来たので
調子にのって、テーブルにデーターを追加する、という
のをやってみたのですが……。
my sql>
の後に、ダカダカと入力したら my sql->
という⇒つきかっこが出てきて、うわ、間違えたんだと
思って一旦quitと入れて終わろうとしたのですが
my sql->が出てくるんです。終われないーと焦って
bye とか exitとか入れてみたのですがmy sql->
しか帰ってこないんです。 こういうときって
どうやって終わったら良いのでしょうか……
すみません。ご指導お願いいたします。
145ぎゃー:04/10/26 05:56:24 ID:???
すみません。解決しました。\cを入れたらちゃんと->が
消えてくれました。
お騒がせ致しました
146NAME IS NULL:04/10/26 08:07:15 ID:???
すみませんが、質問です。
MySQL 4.0(サブクエリが使えない)版で、あるテーブルのSUMの値を使って、
他のテーブルのレコードを更新するには、どんな方法があるでしょうか?

サブクエリが使えるなら、
・あるテーブルのSUMをとる。
・それをサブクエリとして、他のテーブルとJOINしてUPDATEする。
というやり方で簡単に済むのですが。

今のところ、あるテーブルのSUMをテンポラリテーブルに収めるつもりです。
しかし、たった一回しか使わないのに、わざわざテンポラリテーブルを作るのが
うれしくありません。

何かもっとスマートな方法は存在しないでしょうか?
147NAME IS NULL:04/10/26 09:41:32 ID:???
SQLだけでやらないというのであれば毎回SQL発行してもいいだろう
速度的に問題がないのならね

ところでこれってJoinとは何の関係もないよな?
148NAME IS NULL:04/10/26 11:28:19 ID:???
>>146
単一の値を保持するだけなら一時テーブルじゃなくて変数を使うほうがいいかも

1) SELECT @sum_num := sum(foo) FROM T1 GROUP BY ... ;
2) UPDATE T2 SET bar=@sum_num WHERE ... ;

同じコネクションで発行すれば覚えててくれる。
149146:04/10/26 11:36:08 ID:DK8n0e0z
質問の意図が不明確だったようですので、コードで例を示します。
仮にMySQL 4.0 でサブクエリが使えたとしたら、このように書ける
であろうと思われるのです。

-- TABLE_B の INCOME を SUM して、その値を TABLE_A の同じ USER_ID の
-- レコードの SARALY フィールドに 0.7 倍してセットする。

UPDATE TABLE_A A
    JOIN
    (
      SELECT
          USER_ID
      ,    SUM(INCOME)
      FROM   TABLE_B
      GROUP BY USER_ID
    ) B
    USING (USER_ID)
SET
    A.SALARY = B.INCOME * 0.7


MySQL の UPDATE は JOIN 句が使えるので便利ですが、結合したい内容に
グループ演算があると、とたんに不便になります。
何かうまい方法はないでしょうか?
150146:04/10/26 11:42:33 ID:DK8n0e0z
訂正です。すみません。
×    ,    SUM(INCOME)
○    ,    SUM(INCOME) AS INCOME
151NAME IS NULL:04/10/27 00:08:51 ID:???
>>143
スレ違いじゃないけど、おまいさんプログラマーには向いてない。
替わりはいくらでもいるので替わってやれ。
152143:04/10/27 01:55:47 ID:???
>>151
自分でもそう思います_| ̄|○ デザイン担当で採用して
頂いた筈だったんです……。
母子家庭なので、幼子抱えて中途採用してくださる会社なんて
そうそうある訳がなくって、やっとの思いで採用して頂いた
会社なんで、「やれ」と言われた事には食いついて行く覚悟です。
昨夜はスレ汚してすみませんでした。
153NAME IS NULL:04/10/27 04:18:34 ID:???
お母さんの替わりはいない。
154NAME IS NULL:04/10/27 07:13:03 ID:???
基本的なSQL文くらい、まとめてあるサイトでさらっと覚えれないときついぞ。
155NAME IS NULL:04/10/27 08:07:08 ID:???
   ∩___∩        |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ      |
 彡、   |∪|   |        J >>143
/     ∩ノ ⊃  ヽ  
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
156NAME IS NULL:04/10/27 08:59:44 ID:???
新しい DB が /var/lib/mysql 下につくられるのを /home/hoge/.db や
/home/cvsroot 下につくりたいんですかどうやればいいんでしょうか?
157NAME IS NULL:04/10/27 09:03:11 ID:???
>>152
むう、そうか。言葉が過ぎたな。
グーグル先生+機械翻訳片手にがんばれ。

ttp://www.excite.co.jp/world/
158NAME IS NULL:04/10/27 09:11:56 ID:???
>>156
--datadir=path
159NAME IS NULL:04/10/27 09:31:12 ID:???
ま、「英語が読めない」というのは、「英語を読む気がない」という意味以外の何者でもないがな。
160NAME IS NULL:04/10/27 09:32:47 ID:???
ま、「韓国語が読めない」というのは、「韓国語を読む気がない」という意味以外の何者でもないがな。
161NAME IS NULL:04/10/27 09:36:54 ID:???
ま、「北京が読めない」というのは、「北京語を読む気がない」という意味以外の何者でもないがな。
162NAME IS NULL:04/10/27 15:10:52 ID:???
ま、「空気が読めない」というのは、「周りの空気を読む気がない」という意味以外の何者でもないがな。
163NAME IS NULL:04/10/27 15:23:27 ID:???
北京が読めない?
164NAME IS NULL:04/10/27 19:07:58 ID:???
英語は、使われている文字もなじみがあるアルファベットだけだし、曲りなりに何年か学校でならってるわけだし、技術文書は難しい表現なんてほとんどないし、英和・和英のサイトはたくさんあるし、読めば読める。
165NAME IS NULL:04/10/27 19:31:30 ID:???
>>160
当然!当然!当然!当然!当然!当然!当然!当然!当然!
当然!当然!当然!当然!当然!当然!当然!当然!当然!
当然!当然!当然!当然!当然!当然!当然!当然!当然!
当然!当然!当然!当然!当然!当然!当然!当然!当然!
166NAME IS NULL:04/10/27 20:04:40 ID:???
一人で使ってたらトランザクション必要ないよね?
167NAME IS NULL:04/10/27 20:40:38 ID:???
一人ならMySQLが必要ない
168NAME IS NULL:04/10/27 20:55:11 ID:???
膨大な量のエロペグの整理に mysql を使おうと思います。
そうすることで他人に容易に漏の財産にアクセスできなくなるし( ゚д゚)ウマー
169NAME IS NULL:04/10/27 21:04:52 ID:+mjtUbe2
マスタの停止なしに
InnoDB形式のテーブルでレプリケーションが
狂ってしまった場合、復旧させる方法はありますか?

MyISAM形式では、テーブルのファイルコピーで無理やり整合性を
保っていたのですが、InnoDBでも可能でしょうか?
170NAME IS NULL:04/10/27 21:58:08 ID:???
>>167
1人で複数プロセスで接続してりゃいるよ。
同時接続が1つで、その接続ごとに前後の関連性がいらなけりゃ、必要なし。
171NAME IS NULL:04/10/27 22:39:38 ID:???
>>167 間違えたときにロールバックできるのが便利といえば便利。
172NAME IS NULL:04/10/28 00:24:51 ID:???
4.1正式リリース
173NAME IS NULL:04/10/28 02:17:20 ID:???
4.1.x 系初の安定版、4.1.7 リリースしますた
174NAME IS NULL:04/10/28 02:19:46 ID:???
サブクエリage
175NAME IS NULL:04/10/28 04:09:36 ID:???
4.0.21から4.1.7に週末逝ってみようかと思うんだが、
ttp://dev.mysql.com/doc/mysql/en/Upgrading-from-4.0.html
を嫁ばよいのか?他に気をつけることあったら教えてくらさい。
176NAME IS NULL:04/10/28 04:40:54 ID:2+mfln94
4.0.21から4.1.7に移行したんだが、
かねやんが接続出来なくなりました。
4.1.*からパスの変更がなんたら〜と書いてあるので
それかなと思います。
多分passwd=NULLなら大丈夫だと思うんですが...
177NAME IS NULL:04/10/28 04:48:46 ID:2+mfln94
パスを設定しなければ、接続可能でした
178T:04/10/28 05:03:15 ID:6+EbDy7N
MySQL(Ver 3.23.55)を使ってます。

2つのテーブルAとBのいくつかのフィールドを同時に
更新したいのですが、Update構文で2つのテーブルを内部結合して
一発で更新なんてことはムリなんでしょうか?
実際エラーになったんですが・・・

各テーブルの更新を順番に別個に実行したとすると、クエリーAが成功した後、
万一クエリーBが失敗した場合に、クエリーAの更新をキャンセルすることが
できないため、なんとか一発で更新処理を実行したいんですが。。。

MySQLのバージョン4あたりからCommit./Rollbackとかが使えるように
なってるらしいんですがMySQLのバージョンアップは考えておらず...
最初のクエリーの実行を一時的に保留にして、両クエリー成功時のみ更新を
反映させるなんて方法はないものでしょうか?

こういうケース、皆さんはどう処理されているのでしょう?
どうぞお知恵をお貸しください。
よろしくお願いいたします。
179NAME IS NULL:04/10/28 07:24:15 ID:???
マルチするのならマルチしますと書け

829 ナマエ:T メル: ヒヅケ:04/10/28 04:46:02 ID:d4m97dka
PHP+MySQLでウェブアプリを作成中です。
バージョンはPHP4.2.2、MySQL3.23.55です。

mysql_query()で2つのテーブルAとBのいくつかのフィールドを同時に
更新したいのですが、いろいろ試してみても方法が見つらず困ってます。

まず、mysql_query()では一度に一つのクエリーしか実行できないですよね?
で、各テーブルを別個に更新するクエリーAとクエリーBをそれぞれ順番に
mysql_query()で実行したとして、クエリーAが成功した後、
万一クエリーBが失敗した場合に、クエリーAの更新をキャンセルすることは
できないでしょうか?
MySQLのバージョン4あたりからCommit./Rollbackとかが使えるように
なってるらしいんですがMySQLのバージョンアップは考えておらず...
最初のクエリーの実行を一時的に保留にして、両クエリー成功時のみ更新を
反映させるなんて方法はないものでしょうか?

苦しまぎれにUpdate構文で2つのテーブルを内部結合して一発で更新、
なんて方法も試してみましたが、これもエラーに。
この方法もやっぱりムリなんでしょうか?

こういうケース、皆さんはどう処理されているのでしょう?
ちょっとMySQL板寄りの質問かもしれませんが、PHPのコードでなんとか
できる部分があればどうぞお知恵をお貸しください。
よろしくお願いいたします。
180NAME IS NULL:04/10/28 08:05:16 ID:???
>>178
素直にMySQLをバージョンアップさせろよ。
181NAME IS NULL:04/10/28 13:01:03 ID:???
バージョンじゃなくてInnoDBを使っているかが問題だと思うけど>トランザクション
3.23.xでもInnoDBを使ってれば使えなかったっけ?
182NAME IS NULL:04/10/28 13:21:02 ID:???
正規化どうやんの?
183NAME IS NULL:04/10/28 13:31:52 ID:???
>>181
その通り使える。InnoDB以外のトランザクションをサポートしてるタイプでもね。
しかし、バージョン依存性とか高度な(と言っていいのか?)問題じゃないだろうと
大半の人は予想してるので。
184NAME IS NULL:04/10/28 13:55:21 ID:???
InnoDB使うのに再コンパイルが必要なら、バージョンをあげても手間はかわらんでしょ。
いきなり4.1系や5系へあげるならともかく。
185NAME IS NULL:04/10/28 15:21:37 ID:???
4.1にしてかねやん接続できなくなった
186NAME IS NULL:04/10/28 16:51:37 ID:???
4.1はなぜか文字化けが・・・

UTF8にすると一部だけ文字化けと多少改善されるが
UNICODEのマッピングではSJISは文字化けするし、
MS932がないようなのでUTF8は使えないし

4.0にもどそう
187NAME IS NULL:04/10/28 16:54:33 ID:???
って検索すると4.1は文字化けたくさんひっかかって
化けるのが普通らしいですね・・・
188NAME IS NULL:04/10/28 18:06:13 ID:???
ヴァヂョンを4.0.20から4.1.7にしたら
既存のテーブルのvarcharフィールドが
勝手に切りつめられたよ!
気をつけれ!
189NAME IS NULL:04/10/28 18:11:43 ID:???
>>188
メジャーバージョンを上げるのにchange logも読まんのか?
その調子じゃバックアップもとってなかったりしてw
190NAME IS NULL:04/10/28 22:54:11 ID:???
コード指定の話やVARCHARの話は、前々から散々パラ
気をつけることと、MLに出てる話題なんだが…
191NAME IS NULL:04/10/28 23:03:29 ID:Zhqr6LfP
何らかの計算結果をDBに書き込むプログラム(VCで)を作りたいのですが、
GetSystemTime(&s_time);
year = s_time.wYear;month = s_time.wMonth;
day = s_time.wDay;
mysql_query(mysql, "insert into weight values(0, year, month, day)");
としてもDBには「0 NULL NULL NULL」としか記録されていません。
つい2,3日前にmysqlを使い始めたばかりで本やネットで調べてみても
よく分かりませんでした。
どなたかCの変数をDBに記録する方法を教えていただけないでしょうか?

あとDBは以下のように作りました。
mysql> create table date_info(
id int(2),
year int(4),
month int(2),
day int(2)
);
よろしくお願いします。
192NAME IS NULL:04/10/28 23:16:26 ID:???
>>191
MySQLの初心者以前に、プログラミングの初心者?
"insert into weight values(0, year, month, day)"という文字列が
引数に与えるつうことは、int型で設定されてるフィールドに"year"とかの
文字列を指定することでしょ。

"insert into weight values(0, 数字, 数字, 数字)"という文字列になるように
自分で引数を組み立てる。
193NAME IS NULL:04/10/28 23:28:27 ID:???
>>190
MLおわないとだめな状況だと普及は難しいね
mysql.exeによるコマンドラインSQLがインストールした状態だけでは
まったく動かないってのはかなり問題だよね

もちろん1バイト文字はきれいに通るけどSJISはだめ

namesやらcharactersetやら設定して初めて動くというのがイマイチ

今まではmysql.iniでデフォルトキャラクタセット設定だけでよかったのにね
194NAME IS NULL:04/10/28 23:33:04 ID:Zhqr6LfP
>>192
ありがとうございます、そうなるようやってみます。

ネットで検索してたらmy_query()の中に
+とか\とか@とかの記号が入ってるのを沢山見たので
何か上手い方法があるのかと思ってました。
195NAME IS NULL:04/10/29 01:34:18 ID:???
>>193
いや、ChangeLogにもUPGRADEの注意事項にも勿論書いてある。
それが具体的に、特に日本語圏でどういう影響があるか/ないかは
MLなり(このスレも同様)を見て調査すべきだと思うよ。
196NAME IS NULL:04/10/29 04:20:42 ID:8LEG2pvJ
カラムの型で True or False が無い?みたいですが
int(1) で 0 or 1 としたらいいでしょうか?
197NAME IS NULL:04/10/29 08:57:52 ID:???
>>196
TINYINT(1)か、MySQL4.1以降ならそのシノニムであるBIT/BOOL/BOOLEAN。
ただし今後シノニムでなくなる可能性もあるので、BIT/BOOL/BOOLEANが
使える環境で、代わりにTINYINT(1)を使うのはやめるべき。
またTINYINT(1)を使うならあくまでもTINYINT型であることを念頭に置いた上で使う。
(TINYINTに0/1でなく、FALSE/TRUEと入れるなってこと。)
198NAME IS NULL:04/10/29 09:44:16 ID:???
なんでわざわざ使いにくくしたんやろ。
199NAME IS NULL:04/10/29 13:01:01 ID:???
文字コードのこと?
まあ、Perl5.6的な過渡期ってことでしょ。

ちなみにmy.cnfに設定できたと思うけど>標準の文字コード
200NAME IS NULL:04/10/29 13:59:08 ID:???
4.0まではデフォルトキャラクタセットが有効になってたようだけどね

それにJDBCがうまくつながる?
201NAME IS NULL:04/10/29 19:57:35 ID:kdxbtcrv
WinXP で
4.1.4-gamma -> 4.1.7 バージョンアップしたいんですが
そのまま上書きインストールでOK?
それとも一度アンインストールしてインストールしないとだめですか?

既存のテーブルは、どちらの場合でも残りますか?
mysql.user とかも
202NAME IS NULL:04/10/29 21:38:26 ID:???
>>201
多分大丈夫だけど一応 mysqldump でダンプとっとき。
文字化けが心配なら MySQL Administrator でバックアップ
するのが簡単。
203NAME IS NULL:04/10/30 16:15:29 ID:oXG7AAAj
いまみんな4.1ためしてるの?
204NAME IS NULL:04/10/30 19:11:58 ID:???
そして苦労している・・・らしい
205NAME IS NULL:04/10/30 19:23:07 ID:???
4.1.x。早めに試用してたけど、リビジョンアップの度に気が抜けない。
206NAME IS NULL:04/11/01 08:01:15 ID:???
やっと正式版になったんだからこれからでしょ>4.1
207NAME IS NULL:04/11/01 08:50:00 ID:???
漏れは半年は控える
208NAME IS NULL:04/11/02 20:20:53 ID:???
4.0.22 揚げ
209NAME IS NULL:04/11/02 20:36:29 ID:???
>>207
別に試用する分にはいいんじゃね?
210NAME IS NULL:04/11/03 01:15:03 ID:???
MySQL4.1.7でまた文字の扱いが変わってない?
utf8で定義したテーブルに文字をインサートしても、
ASCIIに変換されて格納されているような気がするんだけど。
4.1.4まではそんなこと無かったけど。
211NAME IS NULL:04/11/03 01:19:55 ID:???
某所の日記見て思ったが4.1.7はUTF8以外はWin、Linux環境ともに
日本語は通らないそうだ

必ずUTF8経由での文字変換していてそのマッピングがSJISとEUCだけだから
一部文字列が通らない

具体的にはMS932とかそのへんだね

サーバーもクライアントもUTF8設定ならキャラクタ変換が起こらないので
クライアント側であらためて好きな文字コードに変換するしか今のところないみたい
バイナリ型はエスケープで失敗するしね
212NAME IS NULL:04/11/03 22:13:34 ID:???
同じテーブル構成で同じデータが入っていて同じインデックス張って同じSQLを発行してるのに
何故かデータの取得時間が数百倍も違ってくるんだけど何が問題だと思います?
問題のSQL以外ならどちらも大して時間は変わらないんですけど。

片方は(速い方)はWindows版のMySQL(4.1.7)で片方はlinux版のMySQL(4.1.1)です。
MySQLのバージョンによる違いですかね?
あと違いと言えばインデックスは後付けで張ったんで
張る順番が違ってますがそれが関わってるんですかね。
どうもインデックスがうまく使われて無い様子。
213NAME IS NULL:04/11/03 22:48:45 ID:???
>>212
>どうもインデックスがうまく使われて無い様子
と思うならちゃんとEXPLAIN掛けてみなよ。

不適切なインデックスが選択されてるか、
データレイアウトの違いが影響してるのかもな。
データレイアウトで数百倍差が出るなんて聞いた事ないけど
遅い方のDBを一度ダンプ&リストアしてみたら?
214NAME IS NULL:04/11/03 23:34:05 ID:???
>>213
>と思うならちゃんとEXPLAIN掛けてみなよ。
EXPLAINの結果は出力される順番が違うだけで内容は同じです。
順番が違うのが怪しいんですがそれ以上のことは分からず・・・。

>遅い方のDBを一度ダンプ&リストアしてみたら?
なるほど、明日試して見ます。
序に両方のダンプリスト出力して比べてみます。
215NAME IS NULL:04/11/04 00:52:29 ID:???
単にindexこわれてるんじゃないか?
myisamなら、myisamchkで直してみるのがいいかと。
216NAME IS NULL:04/11/04 03:42:54 ID:5UN14Vng
4.1.7つかってます。
MySQL monitor でマルチバイト文字の入力ができなくて困ってます。
(表示はできます)

ビルド時のconfigureオプションはこんなかんじです。

--with-extra-charsets=all
--with-charset=ujis
--with-collation=ujis_japanese_ci
--enable-thread-safe-client
--enable-local-infile
--enable-assembler
--disable-shared

my.cnfのキャラクタセットはこんなかんじです。

default-character-set=ujis

ほかになんか指定しないとダメですか?
217NAME IS NULL:04/11/04 12:06:19 ID:???
>>214
>EXPLAINの結果は出力される順番が違うだけで内容は同じです。
>順番が違うのが怪しいんですがそれ以上のことは分からず・・・。

そこで選択されてるINDEXも両方とも毎回同じ?

>>遅い方のDBを一度ダンプ&リストアしてみたら?
>なるほど、明日試して見ます。
>序に両方のダンプリスト出力して比べてみます。

いや、そこでレイアウトと言ってるのはデータベースの
構造的なもんではなく、物理的(論理的かな)なレイアウトの話。
MyISAMなんかだと絡んでくる。だからダンプして双方を比較しても
差異は出ない筈だし、出たとしたらそれはそれで、
そんなことは他の人も想定して無いと思われ。

その辺が絡んでるとしたら、リストアで綺麗に入れなおしたら解消したり、
両方の条件を揃えられるから判断がつきやすくなるでしょということ。

要するに、
http://dev.mysql.com/doc/mysql/ja/Optimisation.html
http://dev.mysql.com/doc/mysql/ja/myisamchk_other_options.html
この辺を疑ってる。
218NAME IS NULL:04/11/04 21:52:45 ID:???
索引を作りたいんですが、日本語で詰まってます。
A、B、Cなどアルファベットはwhere name like 'a%' などで簡単にできたんですが
日本語はどうしたらいいんでしょう?
できれば、アルファベット以外のひらがな、漢字、カナはまとめて出したいんですが…
すみませんがご教授くださいまし。
219NAME IS NULL:04/11/04 22:34:30 ID:???
>>218
「読み」が入っているカラムを作成すべし。
220218:04/11/05 01:16:31 ID:???
>219
それはあるんですけど、ほとんどの名前が英語なので
読み順ではあまり意味がなく…

where != [a-z]みたいなことができたら、と正規化で検索してるんですけど
うまくいかないのです。
where name not like 'a%' && name not like 'b%' …とするのは最後の手段で(´・ω・`)
221NAME IS NULL:04/11/05 01:31:47 ID:???
> 正規化で検索

それは正規化とはいわない。
222NAME IS NULL:04/11/05 01:35:48 ID:???
>>220 は正規表現の事を言おうとしているに違いない
http://dev.mysql.com/doc/mysql/ja/Regexp.html
223NAME IS NULL:04/11/05 04:51:09 ID:???
カラムって後から追加変更削除できますよね?
正規化スクリプトとかありますか?
224NAME IS NULL:04/11/05 10:21:08 ID:???
MySQLは4.1シリーズには外部キー制約が付いてるの?
225218:04/11/05 11:08:19 ID:???
>222
そうそう、それです。
一応思い通りの結果になりました。
SELECT * from ほげー where name REGEXP "^[^a-z]"
正規表現って難しいなぁ。
226NAME IS NULL:04/11/05 18:01:29 ID:LTKHZU61
--innodb_file_per_tableでInnoDBを使用したいのですが、この場合、各容量の
指定やautoextendの記述はどこで行えばいいのでしょうか?

innodb_data_file_pathでテーブルごとにパスを書いていく事になるのでしょうか。
よろしくお願いします。
227NAME IS NULL:04/11/05 22:06:53 ID:???
>>223
黙って走らせれば魔法のように正規化してくれるスクリプトかwww
228NAME IS NULL:04/11/06 20:38:52 ID:PBfFMddg
mysql-4.0.20d-win と win2k
を使って自鯖でmysqlを勉強し始めたのですが

create table test (
id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(40),
place VARCHAR(20),
cboot VARCHAR(20),
server VARCHAR(20),
receive VARCHAR(1),
send VARCHAR(1),
unique (Name,server),
time TIMESTAMP(14) NOT NULL
);

このテーブル構成で
select * test where server in ('myserver') and send is not null;
これを実行すると

You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use
near 'test where server in ('myserver') and send is not null at...

というエラーメッセージがでてしまいます。
http://www.daito.ac.jp/~ikeuchi/webdb/mysql_6.html
ここなどをお手本にいろいろやってみたのですがうまくいきません。
多分'test where server in ('myserver') and send is not nullあたりの
構文エラーだと思うのですが何処が間違っているのか分からない状態です。

アドバイスいただけないでしょうか。
よろしくお願いします。
229NAME IS NULL:04/11/06 20:55:33 ID:???
fromが抜けてるぞ。
昔漏れも良くやったミスだなぁ。
あとまちがえてformと打ったりもしたし。
230228:04/11/06 21:11:04 ID:???
>>229
...目から鱗でした。
ありがとうございました。
231NAME IS NULL:04/11/06 22:42:39 ID:???
3.23.58のシステムで、文字コードはsjisを使ってて半角カナや
鰍ェ入っているデータを扱っています。

サブクエリが使いたいので、4.1.7を試しているのですが、
どうも default-charaset-set=binary にするのが、一番
問題がなさそうです。この状態で使い続けて問題はな
いのでしょうか。sjisにしないと何か制限とかありますか。
OSはLinuxで、PHPでプロクラムを作成しています。
232NAME IS NULL:04/11/06 23:14:03 ID:???
>>231
文字然とした扱いが出来ないだけで、現状では特に問題ないと思う。
233NAME IS NULL:04/11/07 00:04:31 ID:???
binaryにしただけですべての機種依存コードがきれいに動く?

mysqlとmysqladminしか試してないけどset names 使ってもうまく動いてくれないような
234NAME IS NULL:04/11/07 11:03:42 ID:PHli9ia2
MySQL4で"check"という名前は使えないのですか?

create table test(check int);
でエラーになってしまいます。MySQL3では使えたのですが。
235NAME IS NULL:04/11/07 12:01:36 ID:???
ほかのSQLに対応したりしたときとか、テーブル名の干渉が怖いのでもうちょっと複雑なテーブル名にした方がいいかも・・
236NAME IS NULL:04/11/07 12:32:47 ID:Nb1wMtfh
4.1.7(Windows) にバージョンアップしたら mysqlc でパス付きのユーザにログインできなくなった

ERROR 1251: Client does not support authentication protocol requested by server;
consider upgrading MySQL client

パス無しのユーザや mysql だと大丈夫なんだけど
237NAME IS NULL:04/11/07 12:52:42 ID:???
>>236
それはマニュアルみればわかるが
おーるどぱすわーどとかいうところだな
238NAME IS NULL:04/11/07 13:06:18 ID:???
>>231
格納文字列がSJISだとすると「能」とかエスケープと勘違いするようなやつらが
binaryは動かないぞ

まぁSJISといってもMacSJISとかMS932とかいろいろあるのでそれらを解決しようと思うと
UTF8しか選択肢はないけどね

239:04/11/07 16:31:58 ID:+X2k5N2v
すいません、質問です。
検索結果から他のページへリンクするようにするにはどうすればよいのでしょう?
例えば車について検索して出てきた結果の中から車の名前をクリックすると
詳細のページへ飛ぶようにしたいんです。
検索はできるんですがリンクを作れません。
データベース内にhtmlのように<a href= と書く方法ではできませんでした。
大学の卒業研究でシステムを作っていてこれが解決しないと先に進まないので
どなたか教えてください。お願いします。(先生は教えてくれませんでした。)
240NAME IS NULL:04/11/07 16:35:30 ID:???
それはMySQLと関係あるのかね
241NAME IS NULL:04/11/07 17:44:29 ID:???
portsからphpMyAdmin入れたらXFree86勝手に入れられた…
242NAME IS NULL:04/11/07 18:31:01 ID:???
>>241
あたりまえ。で?
243NAME IS NULL:04/11/07 19:12:22 ID:???
>>239
ワロタ
244NAME IS NULL:04/11/07 20:27:24 ID:???
卒業しなくていいんじゃないかな。
245NAME IS NULL:04/11/07 20:42:57 ID:???
>>242
当たり前なのか…portsってすごいな。
それ、メージャーなパックなの?
246NAME IS NULL:04/11/07 21:49:33 ID:???
>>245
RPMとかと違って依存関係をきちんと解消してくれるからね。>ports
247NAME IS NULL:04/11/07 22:52:48 ID:???
phpMyAdmin→PHPに依存→Xのフォントが依存なのかな。
個人的にはPHPをXに依存して構築してるのはちょっと。
# と思う人はソースで入れるだろうという前提だから良いのか

248:04/11/08 02:03:32 ID:zqOtCizr
一応MYSQLを使ってやっているので・・・。
どなたか分かりませんか?
249NAME IS NULL:04/11/08 02:21:15 ID:???
>>248
まずは「こんにちは、世界」からやり直しだな。
250NAME IS NULL:04/11/08 02:41:13 ID:???
>>248 みんなわかってるんだが、君の質問は「パソコンの電源の入れ方教えてください」
レベルなので返答のしようがないんだよ。
とりあえず留年して来年またがんばってくれたまえ。
251:04/11/08 02:48:49 ID:zqOtCizr
そうですか、確かに初心者なのでこんな感じのレベルでしか質問できないので
すいません。データベース関連の本を調べればのってますかね?
もし良いHPがあれば自分で勉強しますので教えていただけないでしょうか?
留年は勘弁です。
252NAME IS NULL:04/11/08 02:55:05 ID:???
>>250 データベースの本ではなく、htmlの本と、CGI(perlかPHP)の
本でもよみなさい。
DBは単なるデータの箱なので、WEBの基本はスクリプト言語ですよ。
まあ、PHPが資料も多いしいいんじゃないかな。MySQLとの親和性高いし。
PHPでページ作って「ここにこういうデータを表示したい」と思ったときに
そのデータをDBから引くようにするわけですな・・と言っても
わかんねんだろうなあ。
253:04/11/08 04:21:45 ID:zqOtCizr
>>252
ありがとうございます。
PHPで作ってますよ。なんとなくおっしゃってることはわかります。
今自分で調べていて思ったんですけど今のDBが.txtの形式のファイル
なんでhtmlのリンクタグが貼れないんですかね?ファイルをhtml化すればOKってことですかね?
見当違いですか?
254NAME IS NULL:04/11/08 04:33:21 ID:???
>>253
たぶんだが、先生が言いたいことは、君が手動でやろうとしているファイルをHTML化するのを
PHPなりPerlなりJavaなりのプログラム言語を使いなさいということだ。
255NAME IS NULL:04/11/08 04:35:38 ID:???
「今のDBが.txtの形式のファイル」
「ファイルをhtml化すればOK」

( ゚д゚)・・・
256NAME IS NULL:04/11/08 05:32:47 ID:???
>>253
とんでもないDQN大学なんだろうな。
俺も大学で卒業研究の最中だけど、キミとはレベルが違うよ。
257NAME IS NULL:04/11/08 07:58:18 ID:???
いやいやどんな大学でもDQN学生はいるよ
258NAME IS NULL:04/11/08 09:53:57 ID:???
> 一応MYSQLを使ってやっているので・・・。

は嘘だったわけで。
259fusi­anasan&rlo;!!ぽるぬ&lro;:04/11/08 11:09:28 ID:???
>>256
そうは言ってやるな。
理系でこんなことやってたらDQN通り越して糞だが、
マネージメント系の3流大なら、WEBマーケティングの資料作りとしてはありだろう。
260NAME IS NULL:04/11/08 11:42:41 ID:???
>>239
多分、もう教わってることだから教えてくれないんだろうなあ。
マジレスすると、検索してデータベースから車名とリンク先のURLを取ってきて

<a href="リンク先のURL">車名</a>

のような形にPHPで出力してやればいいんじゃないかな。
これ読んで分からないようだったら、だれかに丸ごと作ってもらうしか無いような気がする。
261NAME IS NULL:04/11/08 13:25:04 ID:1ffGKKeU
Navicat2004体験版のCrack方法教えてください。
どっかのレジストリキー削除?
それともどっかにファイルがあるの?
262:04/11/08 18:40:54 ID:zqOtCizr
ありがとうございます。
データベースをいじるのではなくPHPプログラムの方を
いじればいいってことですね。また調べてやってみます。
263NAME IS NULL:04/11/11 18:14:19 ID:KH+YZ+nV
MySQL3.23からMySQL4.1へ変更(MyISAMを使用)したのですが、パフォーマンスが2割ほど落ちてしまいました。

機能が増えた分やはりVer4は遅くなったのでしょうか?
264NAME IS NULL:04/11/11 19:00:16 ID:???
>>263
ウチだと全体のパフォーマンスは向上したぞ。
具体的に何処が引っかかってる?設定や構成は変えた?
265NAME IS NULL:04/11/11 19:26:47 ID:KH+YZ+nV
>>264
そうなんですか。向上したのですか。
2割落ちたってのはちょっと極端でした。1割ちょっとぐらいですね。

とりあえずナチュラルな比較を先にしようと思ったのでMySQL3も4も
似た設定にしてあります。
同じハードウェアを2つ用意してどちらも新規にredhatとMySQL入れて
テストデータを入れて業務で使用している3時間ぐらいのバッチ処理の
時間で比較しました。

でも、「パフォーマンスは向上した」と聞いて安心しました。もう少し勉強します。
なにか参考になる本やページがあったら教えて頂けないでしょうか。
266NAME IS NULL:04/11/11 22:02:54 ID:???
パフォーマンスを語るときは定量的に評価して下さい。
いち個人の感覚でいわれても困ります。
267NAME IS NULL:04/11/11 23:17:31 ID:???
同じバッチ処理で1割〜2割って言ってるジャン
268NAME IS NULL:04/11/12 04:30:46 ID:0gL1R2AY
mysqlのデータベースをupdateする方法がよくわからないんだけど、
基本的にdeleteしてinsertするってのが一般的なのでしょうか?
269NAME IS NULL:04/11/12 09:19:25 ID:???
いや、普通に UPDATE 〜 SET 〜 っしょ。
270NAME IS NULL:04/11/12 15:48:36 ID:5GQT+j8/
mysqlで非常に負荷がかかるSQLなどを自動的に停止したり、
sleepのままずっとのこってるプロセスを自動的にkillする方法はないでしょうか
271NAME IS NULL:04/11/13 00:03:07 ID:???
>>268 それは一般的ではないです。そんなわけないです。

>>270 sleepしてるプロセスはtime outの設定で殺せます。
272NAME IS NULL:04/11/13 12:11:28 ID:Ptm84pkt
例えば今日8時から17時30分まで働いたとか登録していき、
月計で何時間働いたとか分単位まで求めたいのですが
このような時間を入れるフィールドはどのデータ型にするのが一番よいのでしょうか?
273NAME IS NULL:04/11/13 13:51:49 ID:???
>>268
お前おちょくってるの?
しかもマルチだし
274NAME IS NULL:04/11/13 17:11:46 ID:???
>>272
datetimeに決まってるだろ、少しはマニュアル読め。
275NAME IS NULL:04/11/13 17:35:40 ID:???
>>273
コピペにマジレス、カコワルイ
276NAME IS NULL:04/11/14 01:29:06 ID:???
>>265
パフォーマンスをどうこう言うなら、先ずこれは読むこと。
http://www.amazon.co.jp/exec/obidos/ASIN/4873112095
ただ既に結構実践で使いこなしてる人は読むところが少なく感じるかもね。
277NAME IS NULL:04/11/14 08:53:32 ID:1mWZicRn
>>276
ありがとうございます。先月発売されたやつなんですね!
MySQL4.1もちょっと書いてあるようなのでさっそく買います。

2日前秋葉原に行ってMySQLの本探して「MySQL全機能リファレンス」って
の買ったんですけどね(MySQL4.1のことも書いてあったので)。

オライリーのそれがあるとは気付かなかった(>_<)
278NAME IS NULL:04/11/14 15:15:41 ID:???
>>277
俺は「実践ハイパフォーマンスMySQL」買った後で「MySQL全機能リファレンス」買ったんだが、
全機能リファレンスに実践ハイパフォーマンスのほとんどの内容が載ってた。
載ってなかったのはジャーナルファイルシステムあたりの指摘くらい。
どっちも高かったからちょっと鬱。アマゾンだとこういうとき困る。

ところで3.23と4.1の性能比較ってのはどっちにも載ってないよ > 277
279NAME IS NULL:04/11/14 15:39:19 ID:???
本家のマニュアル嫁
280NAME IS NULL:04/11/14 15:59:38 ID:???
マニュアル、分かりにくくない?
本家の癖に間違いあるし、
自分たちのマイナーチェンジをマニュアルに反映しきれてないし。
281NAME IS NULL:04/11/14 19:15:18 ID:???
>>280
和訳が追いついて無いだけではないか?英文はそうでもないぞ。
あと英文だけのコンテンツも多いな。
282NAME IS NULL:04/11/14 20:08:37 ID:???
MySQLが同時に使うindexが1つだけだとは知らなかったよ
283NAME IS NULL:04/11/14 23:47:57 ID:1mWZicRn
>>279
本家のマニュアルは読んでませんね。辞書片手に一生懸命よんでも結局ほとんど
英語の意味が分からない。でもこれは私の英語力の不足なので仕方ない(>_<)

日本語訳のものも「これ日本語?」ってな日本語なのであんまり読む気にならな
いですね。

その点、雑誌などでちゃんと値札がついているものは普通の日本語なので分かり
やすいです。苦労してネット探すより本買ったほうが早い事がよくありますね。
284NAME IS NULL:04/11/14 23:50:33 ID:1mWZicRn
>>278
ありがとうございます。今日買う予定だったのに仕事が長引いちゃって買えずじまい。
でもほとんど同じ内容ならあまり買う必要ないですね。
今度立ち読みして決めます。情報ありがとうございます。
285NAME IS NULL:04/11/15 11:32:38 ID:???
>>282
そんなわけで、複合インデックスの張り方でクエリーのスピードがかなり変わる。
explain必須。
# 環境によってexplain結果が違うのが気になるけど。
286NAME IS NULL:04/11/15 19:10:56 ID:???
結局Mysql4.1.7でコマンドラインからsjisで日本語入力に成功した人いないんだね
287286:04/11/15 19:12:17 ID:???
ソースからコンパイルしたmysqlでの話ね
288NAME IS NULL:04/11/15 19:40:53 ID:???
4.1.7のWindowsはどうやってもいまのところまともな動作はUTF8のみっぽい
mysql.exeはもちろんコマンドライン動作なのでsjis(というか正確にはMS932)
バイナリ型を使おうにもエスケープが通らないので無理という落ちが

UTF8にするとマッピングの問題でクライアントがUnix系とWindows系とで「〜」とかが
あわなかったりするので注意
クライアントがUnixかWindowsか固定されていれば問題なし

ほかにはJavaで扱う場合EUC-JPのマッピングが機種依存文字が扱えないので
DB鯖がWin以外でもujisは選択肢にははいらないけどね

まぁ〜まともに動いてるのはUnix系かつクライアントがPHPあたりのみっぽ
となりのPostgresがマッピング含めてきれいに動いてるのがむかつくくらい
いまのMysqlはひどい状況

一応sjisにしろujisにしろUnicodeのマッピングは間違ってはいない
ただ、現実的でない汎用sjisだったりとかバイナリ型がエスケープ通らないとか
DB性能以前に根本的なところがだめすぎ

せっかくの新機能もこれではねぇ
289NAME IS NULL:04/11/15 19:52:12 ID:???
>>288
>となりのPostgresがマッピング含めてきれいに動いてるのがむかつく
激しく同意。

でも個人的にはC-S間のエンコード変換はまだ入れなくて良かったんでは?
と思うんだけどね。手前でやるから素直に素で通させろと。
290NAME IS NULL:04/11/15 23:29:51 ID:???
rpmで入れたものはsjisはいるのにソースから入れたものはsjisはいらない不思議
291NAME IS NULL:04/11/16 00:54:17 ID:fR8JsP8E
MySQL 4.1.7 で ujis にして
ブラウザ→CGIでPerl→MySQL
って感じで

開発はWIN XP上でMySQL動かして、
運用はLinux上でMySQL動かしてます

どんな場合に文字コードに関係する問題が出るんでしょうか?
今のところ、大して使われてないのもあって問題なさそうですが
機種依存文字を使った場合に文字化けするんでしょうか?
292NAME IS NULL:04/11/16 01:40:07 ID:???
よくいわれるのが
(1)能力〜
という文章をいれてみればわかる

sjisのエスケープ周りで能力がこけて
機種依存の(1)とかがこけたり
UNICODE経由で文字変換するもんだからそのマッピングの問題で
〜がつかえなかったり

すべて違う原因でこの3つが化けるのが面白い
293NAME IS NULL:04/11/16 14:11:10 ID:???
とりあえずWindowsふくめてシンプルなDBがほしいときはMySQLは4.0まで、
サブクエリー使いたい場合などでWindows以外の環境用意できるならPostgres
という方針になりますた・・・

4.1のばかぁ
294NAME IS NULL:04/11/16 15:48:07 ID:41fyWNyc
MySQL + windows の環境でやっている人ってそんなに多いですか?
295NAME IS NULL:04/11/16 19:03:50 ID:???
開発がWindowsなのでスタンドアロンで完結できるMysqlは便利だな
それくらいしかPostgreSQLにたいしての利点ないしな
296NAME IS NULL:04/11/17 00:18:48 ID:F+eo0Pgl
大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構えるソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/

こちらのスレの住人のかたがたのようなレベルの高いかたに
ピッタリだと思いますので、是非一度ご覧下さい。

297NAME IS NULL:04/11/17 02:10:36 ID:???
MySQLのレプリケーション機能を使っている方
下記に関し使える点、使えない点がありましたら教えてください。

@負荷分散
A対障害用
298NAME IS NULL:04/11/17 02:40:24 ID:???
>>296 ネタ?きもいっす
299NAME IS NULL:04/11/17 08:50:59 ID:???
それかなりのスレにはられてるから無視で
300NAME IS NULL:04/11/17 14:09:29 ID:g21dnorJ
auto_incrementは順に+=1になっていきますが、+=2にしたり+=3にしたりするには
どのようにしたら良いのでしょうか?
301NAME IS NULL:04/11/17 16:01:37 ID:ZjYybsxp
凄く初歩的な質問なんですが、MySQL4.0.22をインストール後に起動すると

ERROR 1130: Host 'localhost' is not allowed to connect to this MySQL server

C:\mysql\bin>mysqladmin ping
をすると、
mysqladmin: connect to server at 'localhost' failed
error: 'Host 'localhost' is not allowed to connect to this MySQL server'
と帰ってきます。
>>11と似た感じだろうとtelnet localhost 3306をしても切断されます。

考えられる原因はなんでしょうか、お願いします。
302NAME IS NULL:04/11/17 16:16:29 ID:6YOGlWum
FreeBSD 4.10にMySQL4.1.7をソースからインストールしようとしたら、
make: don't know how to make std_data/client-key.pem. Stop
とコケるのだが、これについて何か知ってる人いない?

# std_dataのMakefileいじるしかないのかなぁ。
303NAME IS NULL:04/11/17 17:45:51 ID:???
>>300
方法はない。でもソース改変でいいなら簡単だよ。

+2とか+3必要?
取る時に2倍,3倍にして使うか、必要なら
それ用のフィールドを設ければ良いと思うが。
304NAME IS NULL:04/11/17 17:48:17 ID:???
>>301
localhost=127.0.0.1(ループバックアドレス)になってないとか。
localhostという名前が引けないとか。

305NAME IS NULL:04/11/17 18:39:56 ID:g21dnorJ
>>303
ありがとうございます。ソース改変しないとだめなんですね。あきらめます。

>>301
ping localhost はどうなる?
306NAME IS NULL:04/11/18 07:46:17 ID:???
>>295
PostgreSQL 8.0からWindowsネイティブサーバ版が出るし、
アーカイブログやテーブルスペース、バックグラウンドライタ、
Point In Time Recoveryなどの機能面の強化も著しいし、
俺はもう完全に乗り換えモードに入ってる。
307NAME IS NULL:04/11/18 08:53:36 ID:???
問題は今すぐにGOする仕事だ
cygwinなんつーお遊びにしか使えないものやベータはお話にならないからね
308NAME IS NULL:04/11/18 09:04:52 ID:???
そりゃそうだ
309NAME IS NULL:04/11/18 09:34:31 ID:???
なんでwindowsOSなんか使ってるの?
310NAME IS NULL:04/11/18 10:53:08 ID:???
なんでwindows使っちゃいかんの?
311NAME IS NULL:04/11/18 11:02:27 ID:???
LAMPが一蓮托生な一つのシステムだから。
312NAME IS NULL:04/11/18 11:19:13 ID:???
なんだ馬鹿なのか。
313NAME IS NULL:04/11/18 12:54:01 ID:???
>311
Linux+Apache+Mod_perl+PostgreSQLでLAMP
314NAME IS NULL:04/11/18 13:42:34 ID:nloSln8t
すごく基本的なことなのですが質問させてください。

A |B |
--------
aa|piyo |
bb|hoge|
cc|pico |
aa|uyo |

というテーブルで、Aをグループ化して、そのレコード数を調べるときに
select A,count(A) from table group by A;

select A,count(B) from table group by A;
というやり方の違いを教えてください。本などでは、下の方のやり方が
載っているのですが、結果はどちらも同じなので、どっちを使っても
良いのでしょうか?
315NAME IS NULL:04/11/18 13:53:35 ID:???
>>314
逆に「差があるかもしれない」と思った根拠を
400字詰め原稿5枚以上で聞きたい。
316314:04/11/18 14:01:10 ID:???
>>315
もしかしたら、自分の想像以上の場面で差が出てくるのではないかと
勝手に妄想していました。違いはないのですね。
ありがとでした。
317301:04/11/18 16:05:33 ID:???
>304
hostsには登録されており、Apacheを起動してhttp://localhost/にアクセスすることはできます
>305
Pingとおります。
ちなみに、Win2000でWinMySQLadminでは緑ランプが着いています。

以前、MySQLが起動しなくなったりして何回か再インストールをしました。
今回も再インストールすれば直るかもと思いましたが、それだとまた同じ現象が発生した場合に困る為、原因を特定したいのです。
よろしくお願いします。
318NAME IS NULL:04/11/18 22:45:49 ID:???
>>307
一応予定では年内にリリースされるそうだ。
319NAME IS NULL:04/11/18 23:07:25 ID:TqeAQMiJ
mysqlではフィールド名に日本語が使えますが、本当に使って大丈夫ですか?
linux + MySQL4.1なのですが。

大丈夫と書いてあるわけだから大丈夫だとは思うのですが慣習としてなんと
なく不安で。
320NAME IS NULL:04/11/18 23:08:35 ID:???
使わないに越したことないんじゃないの?
321NAME IS NULL:04/11/18 23:24:06 ID:TqeAQMiJ
友人に頼まれて作ってるんですけど、ほとんど知らない業界のものなので、
専門用語が多くてフィールド名に使う英語名が考えにくいのです。

読みのままローマ字綴りで書くと長くなって見づらいしからどうしようかな〜
なんて思ってたら日本語が使える事を思い出したので聞いた次第です。

やっぱり日本語使うのは邪道ですかね^^;
322NAME IS NULL:04/11/18 23:40:42 ID:???
バグの元、それにプラットフォーム変わったりしたときに心配
323NAME IS NULL:04/11/18 23:56:47 ID:qq0SemYe
>317
Host 'localhost' is not allowed to connect to this MySQL server
「localhostって名前のホストには接続権限がない。」と読めます。
セットアップがうまくいっていないのではないでしょうか?
324NAME IS NULL:04/11/19 01:40:12 ID:???
4.1ならUTF8固定でマルチバイトキャラクタつかえるぞい

UTF8固定なんでフィールドと文字コードが違うとすごいことになるが
もともと4.1はUTF8以外はイマイチな動作のためにその点は問題はないか

sjisやujisが実用的になるのはいつだろう・・・
325NAME IS NULL:04/11/19 10:38:40 ID:Z3YyFWuE
UTF8とeucだとパフォーマンス変わりますか? OSはfedora core2(eucへ変更)ですけど。

UTF8だとeucより日本語のバイト数が増えると聞いたのでまだ使わないように
しているんですけどもう時代はUTF8に移行してる?
326NAME IS NULL:04/11/19 13:30:12 ID:IRmtO8nv
4.1でSJIS使うと不具合があるのですか?
今は4.0系使っているのですが、アプリレーションによってSJISとEUCが
混在しているので、デフォルト文字コードがSJISのサーバーとEUCのサーバーを
別に用意して運用しています。
4.1からは、DB毎、テーブル毎に文字コードを指定できると
オンラインマニュアルに書いてあったはずなんですが
うまくいかないのでしょうか?
327NAME IS NULL:04/11/19 15:29:02 ID:???
文字コード変換がUNICODE経由しているのはいいんだけど
SJISのマッピングがいわゆる汎用SJISしかない

機種依存文字やMS932特有のマッピングとかがだめってことさ

mysql.exeとかコマンドラインベースでキャラクタセットの設定をいじればわかるが
いろいろとおもしろいほど問題が出る

mysql.exeやmysqldump.exeがデフォがUTF8になってるのは
いろんなキャラクタコードがはいるのである意味助かってるが、
コマンドラインがMS932とかEUCとかだとそのまま使えない罠

毎回set namesとかするのもたるいし、更新系SQL発行とSELECT系とで
キャラクタセットの設定をいじらないとだめというあほさ

これはバイナリをつかいつつSJIS系の問題になりやすいエスケープ処理を
回避するという裏技的なものだが、こんなのやっていては実用ではないさ

UTF8がフルサポートしている環境ならLinuxでもWinでもまったく同じようにいける

お手軽なMysqlは4.0までで死んだと思っていい
いまだ改善されるような気配はまったくなし
328NAME IS NULL:04/11/20 08:52:03 ID:???
>>327
> 機種依存文字やMS932特有のマッピングとかがだめってことさ
MySQL ABに文句言わなきゃ永久に改善されない。
現状でもヨーロッパのマイナーなエンコーディングは豊富だ。
奴らの眼中にはMS932なんか入ってない
329host の照合:04/11/20 08:53:23 ID:FkeuyIou
接続の段階で、まずホストとユーザの組み合わせが
照合されます。このときホストとして %.ore.no.domain
とか ore.no.domain.% (これはあんまり実用できでない)
のように記述できますが、DNS で逆引きして照合している
ということなのでしょうか?
330NAME IS NULL:04/11/20 11:15:33 ID:???
select TA.i, a, b, c from (select id, a from A) TA left join (select id, b from B) TB on TA.id=TB.id left join (select id, c from C) TC on TA.id=TC.id
ってSQLを発行する際にTA,TB,TCが共に空の結果を返すと
空のテーブルに空のテーブルをleftjoinし更に空のテーブルをleftjoinすると言う形になると思いますが
漏れの環境だと必ずMySQLが死にます。これはMySQLのバグでしょうか?
環境はLinux版4.1.1です。
Windows版の4.1.7だと問題は無いんですけどね。
331326:04/11/20 11:50:33 ID:7DJGkDc+
>>327
>>328

なるほど。
参考になりました。サンクス。
332NAME IS NULL:04/11/20 14:11:27 ID:???
>>330
Linuxも4.1.7に上げろよ。上げてOKならバグが修正されたんだろ。
333NAME IS NULL:04/11/20 16:06:44 ID:???
4.1系は4.1.7未満は開発中のバージョンだからな
動かなくてもあたりまえとしか
334NAME IS NULL:04/11/20 16:24:49 ID:???
>>332
それが出来るなら苦労はしないんですけどね。
もし、上げても直らなくてオマケに今までのシステムも動かなくなったじゃ洒落にもなりませんし。
全て自分の責任で出来るならいいですけどそうじゃ有りませんし。

>>333
そんなもんなんですかね・・・。
335NAME IS NULL:04/11/20 16:28:23 ID:???
テスト環境すらないのか。素晴らしい会社だなw
336NAME IS NULL:04/11/20 16:33:39 ID:???
>>334
じゃあ何のためにWindows版の4.1.7で検証してるんだよw
337NAME IS NULL:04/11/20 16:42:09 ID:???
まだ正式リリースじゃなかった4.1.1をアップデートする気も無いのに
本番で使うなよ。
338NAME IS NULL:04/11/20 16:43:07 ID:???
4.1.1にあわせて作って4.1.7にあげて動かなくなったら・・・か
珍しい人もいたもんだな
339NAME IS NULL:04/11/20 16:44:12 ID:???
正式リリース後の4.1.7からたとえば4.1.8へあげるのを躊躇するとかならわかるが

4.1.4あたりまではバグ大量にあった希ガス
340NAME IS NULL:04/11/20 17:06:04 ID:YR3w1XCn
MySQLコマンドに日本語が入力できなくて困っています。
ttp://www.atmarkit.co.jp/flinux/rensai/mysql01/mysql01.html
↑このサイトの通りインストールしてみたのですが、なにがどうおかしいのか
さっぱりです。
MySQL4.1.7でFedoraCore2を使っています。
341NAME IS NULL:04/11/20 17:13:55 ID:???
342NAME IS NULL:04/11/20 17:16:53 ID:FkeuyIou
>>341
> 漏れに言われてもなぁ。
> 漏れが入れたわけじゃないし

そりゃこっちのセリフだ…
343NAME IS NULL:04/11/20 17:18:35 ID:???
>>342
つまりここでバグ報告しちゃいけないと言うことですか?
ここでバグ報告してもらっても治す事が出来ないから言うなら本家に言えと。
344NAME IS NULL:04/11/20 17:21:09 ID:???
>>343
アドバイスにイチャモンしかつけないなら来なくていいよ。
バグ報告つったって4.1.1なんかのバグ報告されても意味ねえし。

とりあえず、開発と運用の環境は極力合わせろよ池沼。
345NAME IS NULL:04/11/20 17:28:24 ID:???
>>344
Linux版4.1.7では再現しないバグだと言えるのですか?
再現テストして問題なかったんですか?
346NAME IS NULL:04/11/20 17:41:54 ID:???
ハイハイ終了。
バグの話は最新版で出たときだけ言ってくれ。
347NAME IS NULL:04/11/20 17:51:13 ID:???
テストしてみようとすら思わないんですね・・・。
そうですか。そんなもんですか。
348NAME IS NULL:04/11/20 17:55:42 ID:???
>>345
テストはお前の役目だ。
他人にリグレッションテストなんかさせるな。
349NAME IS NULL:04/11/20 18:02:12 ID:???
>>348
出来るならやりますけど簡単には出来ませんし。
とはいえ全く何もやってない訳じゃないですよ。
元のSQLはもっと長いもので出る場合とで無い場合が有りましたが
そこから簡単に100%再現する再現方法を導き出しましたし。
それからWindows版ではテストしましたし。
350NAME IS NULL:04/11/20 18:06:25 ID:???
へんなのがわいてるな
351NAME IS NULL:04/11/20 18:17:31 ID:???
>>349
なんでWindows版でテストするんだ。
Linux版の4.1.7でテストしろ。
352NAME IS NULL:04/11/20 18:18:37 ID:???
>>344以降は同一人物でしょうがまともな返答も出来ずに人格攻撃を開始したようなのでこの辺りにしておきます。
とりあえず、貴方の助言に従って開発の環境をLinuxには出来ませんが同じバージョン使うようにします。
既に配布されて無いようなので見つかりませんが、もうちょっと探して見ます。
353NAME IS NULL:04/11/20 18:21:23 ID:???
>>352
勝手に同一人物にするな池沼。
354NAME IS NULL:04/11/20 18:23:43 ID:???
馬鹿は自分が馬鹿なのに気付かず、一人だと思い込みたいみたいですが、
私は4.1.1持ってないので、>>330が330のせいで動かない可能性を否定
できないので責任問題のあるような仕事なら、ご自分でご確認ください。
355NAME IS NULL:04/11/20 18:24:58 ID:???
s/一人だと思い込みたい/相手が一人だと思い込みたい/
356NAME IS NULL:04/11/20 18:37:51 ID:???
↓キチガイが去ったので通常モードで↓
357NAME IS NULL:04/11/20 18:41:38 ID:Tc+71QnP
幾らなんでもこの過疎板で同じ口調で即レス返しておいて
同一人物じゃないは通じないと思うが。

>>330
そんなクソSQL発酵する方が悪い。
358NAME IS NULL:04/11/20 18:42:18 ID:Tc+71QnP
s/発酵/発行/
359NAME IS NULL:04/11/20 18:43:35 ID:???
>>357
回答してしばらくは更新チェックぐらいする。
360NAME IS NULL:04/11/20 21:07:30 ID:???
>>341
> >>336
> 開発用のローカルサーバですよ。
> まさか本サーバ使って開発するわけにもいきませんでしょ。
>
ならそのサーバにLinux入れろよ。頭悪いね。
361NAME IS NULL:04/11/20 22:56:18 ID:???
>>360
激しく納得
362NAME IS NULL:04/11/20 23:19:08 ID:???
>>297のレプリケーションについてですが、
質問が大雑把過ぎるので、もう少し細かい部分なら色々答えられるかも。
うちは、10台くらいで同期させてる案件を2つほど抱えています。

負荷分散についてはそれなりの効果があります。
スレーブ側は、障害が起きたら切り離してしまって、
障害から復旧したら、元に戻すということが可能です。
この場合、システム全体が停止することはありません。

ただし、マスター側が死ぬと、更新できなくなって、
システムを停止せざるを得ないでしょう。これについては
何かほかの方法で冗長化するべきです。

なので、マルチマスタレプリケーションが待ち望まれます。
363NAME IS NULL:04/11/21 00:33:58 ID:???
なんか無茶言ってる奴が居るな
364NAME IS NULL:04/11/21 14:11:00 ID:???
ローカルサーバとは言え勝手にLinuxをインストール出来る環境なんてなんてうらやましい。
365NAME IS NULL:04/11/21 14:17:42 ID:???
開発・テスト環境と本番環境が全く違うなんていう底辺の会社から
すれば羨ましい話かもな。
366NAME IS NULL:04/11/21 14:39:48 ID:???
>>364
もうね。アフォとしか言いようが無いね。
勝手に入れるのがまずければ管理者に許可をとれよ。
仕事で必要なんだろ?

開発環境とテスト環境を揃えないこととどっちが大事か
少ない脳みそでちょっとは考えろよ。
ほんとに使えない野郎だな。
367NAME IS NULL:04/11/21 15:31:39 ID:???
類は友を呼ぶ
アホな会社にはアホな人材しか集まらないものです
368NAME IS NULL:04/11/21 15:47:49 ID:???
Linuxかどうかよりまず
4.1.1でいれて4.1.7で動かないと困るからいれないってのがあふぉだな

スタンドアロンで開発はVMWareやVirtualPCでLinuxいれて開発ってのがふつーじゃねーの?
369364:04/11/21 16:10:14 ID:???
>>366
管理者に言っても「必要無い」って言われて終わりなんですよ。
絶対に必要なものじゃ無いとまずムリポ。
必要性を言っても仕舞いには貴方みたいな感じでキレ出すし。
370NAME IS NULL:04/11/21 16:33:27 ID:???
>>369
あんたの説明が悪いんだろ池沼
371NAME IS NULL:04/11/21 16:44:20 ID:???
>>332-370
職場でVMware買って貰うときに、説得材料として使わせていただきます。
372364:04/11/21 16:53:26 ID:???
>>370
貴方なら解ると思うけど、池沼にはどんな説明したって理解しないんだよね。
もう説明がどうとかの問題じゃないよ。
何も状況を知らないくせに全てを理解してるつもりで偉そうなことを吐き散らす。
自分の考えは全て正しくて違う意見を言われるとそれがムカつく。
ムカついたら例え自分の考えが間違ってるのに気が付いたとしてもゴリ通す。

しかし言ってる事は違うが言動とかホント貴方にそっくりだな。
373NAME IS NULL:04/11/21 16:54:46 ID:???
ヘボコーダーによるヘボ会社の紹介なんかどうでもいいよ。

次いこ、次。
374NAME IS NULL:04/11/21 16:55:56 ID:???
>>372

まんまお前に当てはまることに気付けよw
375NAME IS NULL:04/11/21 17:00:30 ID:???
次いけって
376364:04/11/21 17:00:41 ID:???
>>374
その返答とか面白いくらい似てるわw
377NAME IS NULL:04/11/21 17:02:35 ID:???
責任云々が発生する仕事なら、本番環境と出来るだけ条件を揃えたテスト・
開発環境は絶対必要なものだろ。

へぼ会社に勤めてますとか、口べたで管理者にうまく説明できないんです、
なんてお前の自己紹介なんかどうでも良いよ。
378364:04/11/21 17:10:33 ID:???
>>377
こう言う勝手な決めつけをするところもそっくりだ。
379NAME IS NULL:04/11/21 17:15:02 ID:???
つぅかさ、ローカル鯖でさえもlinux入れさせてもらえない鯖缶が存在するのかね?
無職の脳内構築か?
380NAME IS NULL:04/11/21 17:31:05 ID:???
>>378
絶対必要なら入れてもらえるんだろ?

絶対必要なテスト開発環境が入れてもらえないのはなぜ?

お前が自分でヘボ会社だor管理者に必要性を説明出来ないって告白してるんだぞ?

決めつけでも何でもない。
381340:04/11/21 17:42:24 ID:DcSriv8W
何度もすみません・・・。コマンドに日本語を入力したいのですが、どなたか
分かる方いらっしゃいませんか?初心者です。
382NAME IS NULL:04/11/21 17:47:59 ID:???
すばらしい展開になってきましたね。

アホが居るアホな会社にいなくてよかったという感情が湧きあがります。
383364:04/11/21 17:48:39 ID:???
>>380
無くても開発できる=絶対必要ではない。って考えなんだろ。
俺にとって開発にとって絶対に必要でもそいつがそう思わなければ絶対に必要なものにならない。

>お前が自分でヘボ会社だor管理者に必要性を説明出来ないって告白してるんだぞ?
と勝手に決め付けてるわけだ。
一度もヘボ会社に勤めてるとも管理者に必要性を説明出来ないとも告白した覚えは無いんだが。
384NAME IS NULL:04/11/21 17:50:41 ID:???
>>383 俺は380でもなんでもないが、君にいる会社は
あきらかにヘボ会社だ。すくなくとも管理者はヘボだ。
それをせっとくできない君も糞エンジニアだ。

転職でもしたら?
385NAME IS NULL:04/11/21 18:02:58 ID:???
エンジニアじゃねーよこんなやつw
ただのコーダーだ。


>無くても開発できる=絶対必要ではない。って考えなんだろ。

無くてトチったから2ちゃんなんかに泣き付いてんだろ?

>俺にとって開発にとって絶対に必要でもそいつがそう思わなければ絶対に必要なものにならない。

それを説明し説得するのもお前の仕事だろ?
結局管理人が糞なのかorお前の説明がヘボいんだよ。

決めつけじゃなく明らかな事だろ。
386NAME IS NULL:04/11/21 18:04:30 ID:???
>>379
漏れ派遣でいろんな会社に出向いた事有るが結構有るぞ。
IT系の企業じゃない小さいところは大抵そう。
鯖菅っツーかパソコン管理者がいるだけみたいな。
364の会社もそんなところじゃないかと予想。
387364:04/11/21 18:08:02 ID:???
>>385
>無くてトチったから2ちゃんなんかに泣き付いてんだろ?
いつ泣きついたよ?別に助けなんか求めていないが?
>結局管理人が糞なのかorお前の説明がヘボいんだよ。
終始管理者がクソでお前みたいな奴と言ってるだけなのが理解出来ないのか。
388NAME IS NULL:04/11/21 18:08:31 ID:???
>>386
本番鯖とは別にちゃんとした開発環境も無かったの?

あるなら別に改めてLinux入れる必要ないし。
389NAME IS NULL:04/11/21 18:10:20 ID:???
>>387
そう書いてるのに決めつけとかいってる馬鹿がいるから再度書いてるだけだろ。

ダメだコイツ。日本語が読めてない。
管理人が糞なんじゃなく、お前の説明が多分悪いんだよ。
390NAME IS NULL:04/11/21 18:17:07 ID:???
364は、ここのみんなが「そうだね。管理者がクソだね」と言ってくれれば
問題が解決するとでも思ってるのだろうか?

っていうか、じゃまだからもうこないでください >>364
391NAME IS NULL:04/11/21 18:19:27 ID:???
クソだと言う管理者に従わざるをえない364はそれ以下だということに
364自身が気づいていないということで収束だな
392NAME IS NULL:04/11/21 18:30:19 ID:???
>>388
派遣先によるけど基本的に開発環境は自分のノーパソですよ。
自由に使えるパソコンすらないってのは良く有るからね。
393NAME IS NULL:04/11/21 18:40:45 ID:???
>>389
最初にお前が書いたのは「ヘボ会社だor説明がヘボ」だろうが。
それが「管理人が糞or説明がヘボ」に変わってるんだが?
管理人が糞とは言ってるがヘボ会社だの説明がヘボは認めて無いぞ。
勝手に条件を変えてるんじゃねーよ。そう言うところも糞管理人とそっくりだ。

>>391
若輩者だから仕方ない。
394NAME IS NULL:04/11/21 18:49:21 ID:???
とりあえずここで騒いでいるウチは当面の問題を忘れられる罠。
395NAME IS NULL:04/11/21 18:58:04 ID:???
まぁ一言で言えばマ板でやれってこったな
396NAME IS NULL:04/11/21 18:58:54 ID:???
こんなクソ話題をageちったよ...
397NAME IS NULL:04/11/21 19:01:23 ID:K3EUR4J0
うちの会社なんて開発環境、会社のG3/233
テスト環境、レンタル鯖。
鯖屋さんから電話かかってきて、テストはローカルでやってからうpしてください。って何度も怒られてます。
398NAME IS NULL:04/11/21 19:08:43 ID:???
いや会社の話とか、かなりどうでもいいんだけど。マジで。
スレ違い甚だしすぎる。
399NAME IS NULL:04/11/21 19:21:36 ID:???
>>393
そんな管理人がのさばってる時点で糞会社だろ低能
400NAME IS NULL:04/11/21 19:22:51 ID:???
>>393
仕方ない?一生コーダーのまま終わりそうだなお前w
401NAME IS NULL:04/11/21 19:25:11 ID:???
>>392
テスト環境もないの?ノーパソで開発してそのまま本番置き換え?
402NAME IS NULL:04/11/21 19:25:54 ID:???
>>399-401
釣られすぎ。
403NAME IS NULL:04/11/21 19:28:23 ID:???
釣りなのかw
道理で…。あんなアホが実在するわけ無いわな。

401は釣りへのレスじゃないから見逃してくれ。
404NAME IS NULL:04/11/21 19:58:52 ID:???
わかったからクソ管理人もヘボコーダもマ板池
405NAME IS NULL:04/11/21 20:05:58 ID:???
>>401
だから派遣先による。
テスト環境どころか鯖すらない場合も有るし最悪ネットに繋がって無い事も。
でもテスト環境無いのは多いな。テスト環境が運用パソコンなのが大抵。
# あくまでまともな鯖管理者の居ないところの話な。
406NAME IS NULL:04/11/21 20:06:48 ID:???
>>381
MySQL以外では日本語使えるの?
FedoraはデフォでUTF-8だったと思うけど、そこら辺は大丈夫?
407366:04/11/21 20:09:19 ID:???
>>364よ。
管理人が糞で困ってるんなら、他の上司に「相談」してみろよ。
これこれこういう理由で本番機とテスト環境を揃えて検証したいのですが、
説明が下手で管理者の理解が得られません。ってな。
それでも芳しくないなら自分の説明方法なり自説の根拠を疑ってみるんだな。
今日はもう電源落として、頭冷やして、明日にでももう一度このスレを読んでみ。
情報を小出しにしたり、いらん事をいって話をややこしくしている部分に
きっと気づくから。

社会人なら(若輩者でも)「引き際」ちうもんをわきまえんとやって行けんよ。
408NAME IS NULL:04/11/21 20:15:06 ID:???
>>407
だからマ板池といっとろうが。
お前も364と同程度だというのに気付け。
人に説教たれる前に自分も「引き際」をわきまえろ。
409NAME IS NULL:04/11/21 20:17:21 ID:???
>>408
オマエモナー

放置しろよ。どいつもこいつも。
410NAME IS NULL:04/11/21 20:21:26 ID:???
まあ馬鹿をマ板に輸出する必要もないしこれで終わりで良いよ
411NAME IS NULL:04/11/21 20:23:52 ID:???
また流れも読まんと噛み付く池沼が沸いてきたな。>408
死んで鯉や。てかお前が逝け>マ板
412NAME IS NULL:04/11/21 20:24:23 ID:???
勝利宣言も出たところでこれにて終了
-------- 以下通常モードで -------
413NAME IS NULL:04/11/21 20:27:49 ID:???
>>411
>409
414340:04/11/21 20:31:30 ID:???
>>406
はい、他では日本語使えていますです。
入力自体を受け付けないのです、画面に表示もされないのです。
415NAME IS NULL:04/11/21 20:40:53 ID:???
>>414
コンソールで接続して、\s+return した時にClientとServerのcharactersetは
どうなってます?
416NAME IS NULL:04/11/21 20:45:36 ID:???
なんでいまさら開発途中のバージョンできくかね
417340:04/11/21 21:02:57 ID:???
>>415
ええと、ujisになっています。
こんな調べ方があったのですね(。、。
418NAME IS NULL:04/11/21 23:22:45 ID:???
うーん、てかどーにかして 4.1 系でちゃんと ujis 使えんのかなぁ…
「MySQLdj」とも書けないじゃないか…(´・ω・`)
419NAME IS NULL:04/11/21 23:23:47 ID:onXcRjQh
MTでMySQLを使う環境を構築するために個人鯖をたてましたが、
MySQLとPerlを入れただけではだめなようです。

PerlからMySQLを利用するためのモジュールが必要なようです
が、ご存じの方はいらっしゃいますか?
420NAME IS NULL:04/11/21 23:42:33 ID:???
>>418
eucのunicodeマッピングで機種依存文字はいってないはずだから無理だね
UTF8ならいけるが
421NAME IS NULL:04/11/21 23:54:53 ID:???
>>419
perlスレで聞いた方が早いと思うけど、MTってなに?
422NAME IS NULL:04/11/22 00:50:06 ID:???
Mobable Type のことだと思われ。

DBI と DBD::mysql は入ってるのかな。
423NAME IS NULL:04/11/22 01:24:26 ID:???
こんぐらいだったら自分で作れそうかな?
http://www.mdis.co.jp/textmining/index3.html
424NAME IS NULL:04/11/22 12:47:43 ID:???
200000行40MB弱のテーブルをエクスポートしようとすると、かなりの時間がかかって
しまうのですが、この程度のテーブルをサクサクとバックアップとったりするのって、
どれぐらいのスペックが必要なんですか?

現在の鯖
Pen4 2.8Ghz + Mem1G + MySQL4 + Linux
425NAME IS NULL:04/11/22 12:49:55 ID:???
現状どれ位掛かって、サクサクというのがどれ位なのか書いてくれ
426424:04/11/22 12:58:48 ID:???
phpMyAdminから、「エクスポート」→「SQLでエクスポート」で
1時間以上たってもいっこうに吐き出し終わらないので中止。
おそらく8時間くらいかかりそうな感じでした。

単純なバックアップ自体は、table.MYDなどのデータを保存して
おけば良いのですが、同じ環境でないと使えなさそうだし、SQL
なりCSVなりでバックアップしておきたいのです。

20万行を1時間弱くらいで吐き出せれば満足なのですが…。
427NAME IS NULL:04/11/22 13:04:24 ID:???
>>426
OSもデータベースエンジン(MyISAMかInnodbか)もネットワーク環境経由か
ローカルかも書いてないので何とも胃炎が。そりゃむちゃくちゃ遅いね。
たったの20万行でしょ。
MySQL AB純正のMySQL Administratorでも使ったら?
428NAME IS NULL:04/11/22 13:30:16 ID:???
Celeron1.7GHz/Mem512MBの鯖で、10万行50MBのデータが
10分掛からず落ちてくるが。
429NAME IS NULL:04/11/22 14:37:44 ID:???
書き出しはすぐにおわるが
読み込みのほうがネックだけどな、うちは
430NAME IS NULL:04/11/22 17:23:53 ID:???
>>426
基本的にはどんな環境でも互換性があります>table.MYD
問題がある可能性があるのは、マルチバイトのデータベース/テーブル名
を使っている場合(ま、変換すればいいんだけどさ)。
あと、バージョンダウンする時かな。。。
431NAME IS NULL:04/11/22 23:07:29 ID:???
http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-4.1.7-win.zip/from/pick

から日本とかフランスとかのミラーサイトからzipファイルを
落としているのですが、ダウンロードされるのは17Mバイトくらいで
CRCエラーとなってしまいます。

みなさん普通にダウンロードできます?
432NAME IS NULL:04/11/22 23:16:31 ID:???
なんどやっても、色々な国からダウンロードしても
17.2MのじPファイルしか作成されない。
なんじゃこりゃーーー
433NAME IS NULL:04/11/23 00:00:50 ID:???
35.7MB mysql-4.1.7-win.zip Japan からHTTPで
正常にダウンできましたが?

当方 ADSL
434NAME IS NULL:04/11/23 00:41:29 ID:???
そういや知らないで使っていたがMySQLってそんなに肥大化してたのか
Postgres8のWin版15Mちょいだ・・・
435330:04/11/23 01:47:53 ID:???
鯖菅さんに4.1.7を同じ環境に入れてもらい(うpしたわけじゃない)
それでテストしてみたところ、、、死にました。
結局4.1.7でもダメでしたね。
436NAME IS NULL:04/11/23 02:43:50 ID:???
>>435
TA,TB,TCが共に空の結果を返すって、一致するidが無いって事?
Windows版では再現しないということだし、MySQLのバグといえるか
どうかは微妙な感じでは?

そのバグが再現するようなダミーテーブルをアップしてもらえれば、
テスト環境を持っているLinuxユーザに追試してもらえるかも。
俺はあいにく4.1.7は使っていないので協力できないが。
437330:04/11/23 03:08:04 ID:???
>>436
create table A (id int, a int);
create table B (id int, b int);
create table C (id int, c int);
select TA.i, a, b, c from (select id, a from A) TA left join (select id, b from B) TB on TA.id=TB.id left join (select id, c from C) TC on TA.id=TC.id;
な感じで。
438NAME IS NULL:04/11/23 03:46:09 ID:???
>>434
機能増にあわせて確かにサイズが大きくなる傾向はあるが、
そんなに増えてないよ。単体で大体4MB
Windowsのアーカイブが大きいのはWin9x/NT/組み込み版/Debugとかの
バイナリーが全部入ってるため。そのバイナリーも4.0以降だと
InnoDBサポートがデフォになってるんで、もっとMyISAMだけとかに
限定してビルドすれば、もちっと小さくなる。
組み込みのlibmysqldが3.5MBだしね。
439297:04/11/23 06:13:19 ID:???
>>362
レスどうもです。

>うちは、10台くらいで同期させてる案件を2つほど抱えています。
>負荷分散についてはそれなりの効果があります。

具体的にはどのように10台に負荷分散していらっしゃいますか?
バラバラなスレーブにクエリーを分散して使うという感じでしょうか?

>マスター側が死ぬと、更新できなくなって

マスターが壊れた場合スレーブのデータがおかしくなるということは有り得ますか?
また、マスターが死んだ場合、スレーブのどれかをマスターと置き換えるのは容易でしょうか?
440NAME IS NULL:04/11/23 10:56:14 ID:???
>>437
言い出しっぺなので自宅のK6(450MHz+384MB)に入れてるFedora Core 2に
MySQL 4.1.7を入れてテストしてみた。
結果は空テーブルにクエリーを発行しても Empty set(0.00 sec)が返って
きたし、データを入れればそれなりの結果が返ってきたよ。
参考まで。
441NAME IS NULL:04/11/23 12:21:21 ID:aZGVuwDG
今まで文字コードはEUCで開発してきましたが
やはりこれからはユニコードにしていかざるを得ないのでしょうかね。
流れとして。
442NAME IS NULL:04/11/23 12:42:45 ID:???
んなこたーない
443NAME IS NULL:04/11/23 13:37:48 ID:???
結局 --default-charset=binary で configure してやったら機種依存文字も通るんじゃないの?
444NAME IS NULL:04/11/23 14:18:51 ID:???
>>438
PostgresだってGUIツールのpgadminとかはいってるし
トランザクションをいまさらきるほうがおかしいでしょ

>>443
とおらないね
いろいろやるとわかるが
UTF8以外はだめぽ

一応抜けみちはあることはあるが普通に今までどおりの使い勝手は維持不可能
445NAME IS NULL:04/11/23 14:45:39 ID:???
>>426
phpMyAdminは使っていないのだが、phpMyAdminが参照している
php.iniのmax_execution_timeは何秒になってるの?
ただタイムアウトしてるだけだったりして。
446NAME IS NULL:04/11/23 17:30:43 ID:???
>>445
1時間以上掛かってもまだ終わらん(動いてる)
だから、制限なし(無限)っぽいよ。
447NAME IS NULL:04/11/23 19:31:18 ID:Iig+CHiN
初心者っぽい質問ですいません。
MySQLのプロセスのIndex Reorganization(インデックスの再構成)は
可能でしょうか?
448NAME IS NULL:04/11/23 20:06:02 ID:???
可能
449NAME IS NULL:04/11/24 01:06:47 ID:???
>>424 データがバイナリでないなら、selectコマンドを
そのままリダイレクトしてファイルに保存すればいい。
450447:04/11/24 07:23:53 ID:ppEFKtpR
>>448
ありがとうございます。
451NAME IS NULL:04/11/24 14:11:45 ID:???
結局>>330の件はクエリーを発行しているスクリプト(かプログラム)に別の問題が
あって、MySQLのバグうんぬんは関係無いということか?
報告よろしく >>330
452NAME IS NULL:04/11/24 22:03:46 ID:oWcKwjV+
旧サーバから新サーバに移行しようとしています
両方ともLinux、MySQL4.1.7を入れてWEB->perl:DBIを使って参照、更新します

旧サーバでは問題なかったのですが、新サーバにperlスクリプト等を移して使ってみたら、
テーブル名の日本語の箇所で、SQLsyntaxエラーだと言われるようになりました。
(executeでエラーが返ってくる)

漢字コードはEUCにしてあります。
また、新サーバ上にtelnetしてmysqlコマンドでSELECTしてみるとちゃんと取得できました。

考えられる原因と対策はどんなものがありますか?
よろしくお願いします。
453NAME IS NULL:04/11/24 22:51:23 ID:???
テーブル名とかそういうところはUTF8固定だったと思ったが
454NAME IS NULL:04/11/25 00:22:44 ID:2VCziK/6
すいません、質問させてください。
現在Unix機でPHP+MysqlでDBを構築しており、データをsjisで保存しています。
mysqldumpでデータを吸い上げ、他のパソコンで実行しようとしたところ、
文字コード関係のエラーがでてできませんでした。
mysql --default-character-set="sjis" db_name < dumpfile
をやってみてもどうしてもエラーが出てしまいました。
nkfでsjisからeucに変換してもエラーがでました。
元のデータベースの文字コードを返るには負担が起きすぎます。
このような場合のいい解決策はないでしょうか。
お願いします。
455NAME IS NULL:04/11/25 01:20:39 ID:QcMDhItZ
特定のフィールドの中身の文字列の一文字目だけを
取り出すにはどんな風にしたらいいのでしょうか?
mysql_fetch_arrayして取り出したものをsubstrするしか思いつかない・・・
456NAME IS NULL:04/11/25 01:24:08 ID:???
>>454
どういうエラーか分からないと、
助言しようにもなにも言えないってことに気づかない?
457NAME IS NULL:04/11/25 02:40:06 ID:???
あんまりわかってないヤツは phpMyAdmin 使ったほうが遥かに早い解決をみる気がする
458NAME IS NULL:04/11/25 02:44:39 ID:???
459330:04/11/25 07:05:45 ID:???
>>451
まっさらなDBに直接>437打ち込んでも死ぬからスクリプトとかの問題じゃないかと。
ただ、環境には依存しそうですね。
問題の出る環境は詳しくは知らないけれどTurbolinuxの64bitマシンとらしいです。
460NAME IS NULL:04/11/25 08:46:16 ID:???
>>459
おいおい、32bit版と64bit版を一括りにしないでよ・・・・

そこまで行くと俺には検証しようがないんで、ユーザ会のMLに
投稿してみてはどうかな。
461NAME IS NULL:04/11/25 10:29:16 ID:rC31gwri
454のエラー、俺の推理はこう。

UNIXのMySQLとパソコンのMySQLのバージョン違いで、
Create Table CHARACTER SET=.. の"CHARACTER SET"あたりで
文法エラーしてるって落ち。
462NAME IS NULL:04/11/25 11:06:50 ID:???
>>454
最近 mysqldump → mysql table < sql でエラーになったな。俺も。
移行先のmy.cnfのキャラセットを全部移行元に合わせて
mysqld起動しなおしたら普通に入ったけど。

俺っておばか。

ちなみにLinux本番環境 → Windowsローカルテスト環境の移行でした。
463454:04/11/25 17:37:11 ID:2VCziK/6
適切な質問ができず、申しわけありませんでした。
mysqldumpしたデータを他のUNIX機で実行するとsyntax errorが出てしまうのです。
dumpファイルの中でエラーが場所は日本語の出現する場所です。
正しく文字コードの変換がされておらず、SQL文法的におかしなデータになってしまっているのだと思います。

とりあえず462さんのおっしゃっていることを調べてみようと思います。
464462:04/11/25 18:08:35 ID:???
俺の時はsyntax error
\/・
だかなんだかってエラーだったような気がする
ちゃんと覚えてないけど。
465NAME IS NULL:04/11/26 11:33:20 ID:???
TurboLinux+MySQL4.0 の MyISAMテーブルで
select count(*) from tablename where search_text like '%入力値%'
というクエリーを実行しました。

検索対象の件数は10万件程で、
search_textフィールドはtextです。

PHPのスレで聞いたところ、
AthlonXP2400 メモリ1GB
というサーバースペックで 0.05秒以下で返ってくるという話でした。

しかし私の環境では、1.7秒ぐらいかかってしまいます。
サーバーのスペックは
Pentium3 1.13GHz*2 768MB
で、確かに非力な感じなんですが、
いくらなんでも遅いような気がします。

my.cnfの設定かなんかで、
なにかやらかしてるんじゃないかと考えたのですが、
パフォーマンスアップのアドバイスをお願いします・・・。
466NAME IS NULL:04/11/26 11:34:58 ID:???
天気がいいのでちょっとドラクエ買ってきます
467& ◆LMRaV4nJQQ :04/11/26 20:29:12 ID:RcXyH7zp
>>465

search_text に入っているデータ量に差があるのでしょう。
468NAME IS NULL:04/11/27 20:27:27 ID:DSzJjH40
初歩的な質問なのですが、
PHPのように++などのupdateでインクリメントを指定することは
出来ないのでしょうか?
selectで数値を調べて、1足して、updateするという仕組みだと
冗長なのと、処理が重なったときに誤作動をしそうなので、不安です。
469NAME IS NULL:04/11/27 21:03:29 ID:DSzJjH40
UPDATE persondata SET age=age+1;
でいけたんですね。。。一人解決。失礼しました。
470NAME IS NULL:04/11/27 21:59:40 ID:???
WHERE 句無しの UPDATE 文なんて怖すぎるぜ
471NAME IS NULL:04/11/27 22:50:16 ID:NefkKUCX
他のデータベース、mdbにあるマスターテーブルを参照、更新したいの
ですが、自分のデータベースmydbにリンクを張る様なことってできますでしょうか?
Unixでいうところの、ln みたいものです。権限などは全てあります。

# ln -s mdb.master_t master_t

みたいな感じです。参照だけなく、insertなども行いたいのですが、そも
そもそういう機能ってあるのでしょうか?質問ばかりですみません。

472NAME IS NULL:04/11/28 07:42:33 ID:???
>>471 他のDBが、他のdaemonの下にあるのか、
いまのdaemonの下にあるのかで話がまったく違うと思います。
473NAME IS NULL:04/11/28 10:34:22 ID:7LOVBWil
>>471
同じサーバ上で動く複数のMySQLサーバが互いのテーブルデータを
共有出来るかって質問だと思うが、
質問文の曖昧さからいってあんまりよく分かってなさそうだから、
『できない』とだけ答えておこう。

もしもMySQLサーバが一つしか走ってなくて
DBをまたいでアクセスしたいのなら
SELECT * FROM mdb.master_t, otherdb.master_t;
など、DB名つきでテーブルを指定すればよい。
これは基本中の基本。
474471:04/11/28 12:01:36 ID:P00JXczy
すいません。説明が足りませんでした。
デーモンは同じで、
create database mdb;
create database mydb;

とデータベースを二つ作っています。権限も与えています。
たしかに、mdb.master_t とすれば参照出来るのですが、mydbから
見て、master_t という名前で、select,insert,updateを行いたいん
です。うーん。無理ですかね。
475NAME IS NULL:04/11/28 12:14:47 ID:7LOVBWil
>>474
君がどっちのDBのmaster_tのつもりで
SQLにmaster_tと書いているのか、
君の気持を汲んでくれるDBMSはまだ存在しない。
夢の中でがんがれ。
476NAME IS NULL:04/11/28 23:22:11 ID:eXzmoii3
>>1
次回スレ立てるときに
■ 関連ツール、アプリケーション
に追加して〜

MySQL Front
http://mysql-front.com/
477NAME IS NULL:04/11/29 13:03:35 ID:???
たまに>>476のような書き込み見るが、こういう香具師は毎回スレ立てする人は同じだと思っているんだろうか
478NAME IS NULL:04/11/29 17:39:07 ID:???
>>476みたいなカキコミは950過ぎてからじゃないと意味ないな
479452:04/11/29 22:03:17 ID:pGsR8eM/
>>452 ですが
問題解決できなかったので、テーブル名、列名を英数字にしようと思って
ためしに

create table tes (
GroupID smallint(1) unsigned NOT NULL auto_increment,
GroupName varchar(100) NOT NULL default '',
PRIMARY KEY (GroupID)
) ENGINE=MyISAM DEFAULT CHARSET=ujis;

としてテストしてみましたが、GroupNameが文字化けします

select * from tes で

GroupID GroupName
1     品質保証&CS推進
2     ビジネス推進&販促
3     サポートサービス

となるはずが

GroupID GroupName
1     ?????????
2     ?????????
3     ????????

となります

perlは
$db = DBI->connect('DBI:mysql:needs:localhost', '***', '****');
$sth = $db->prepare($in{'SQL'});
こんな感じです

お手上げ状態なので、何か手がかりでもあれば知りたいです
480452:04/11/29 22:05:46 ID:pGsR8eM/
書き忘れましたが、ちなみに

DBI は INST_VERSION 1.46
DBD::mysql は INST_VERSION 2.9004

です
481NAME IS NULL:04/11/29 23:01:10 ID:???
>>479
データ自体の文字化けについてはほんのすこし過去をさかのぼればいくらでもでてくる
MLでも多少でてくる

4.1.7では完全にばけないようなDBは難しいかもしれない
4.0.*はさくっといく
482NAME IS NULL:04/11/29 23:22:37 ID:???
mysql.cnfはどーなってる?
483452:04/11/30 00:39:09 ID:bbv+nqA1
my.cnf には
[mysqld]
[mysqldump]
[mysql]

default-character-set = ujis
を記述しています

mysqlコマンドからは、日本語テーブル名を使って、内容も文字化けせずに使えます。

perl DBI の方に問題があるのかな〜?
でもWinXPと旧サーバのLinuxでは普通に使えてるのが謎
484NAME IS NULL:04/11/30 10:09:50 ID:???
んじゃ、 Perlのバージョンとか?
旧サーバーと新サーバの違うトコ差分とってちょーよ。
485NAME IS NULL:04/11/30 16:45:30 ID:eXiRTqmP
あるテーブルと全く同じ構成のテーブルを新しく作りたいのですが、どのように
行えばいいのでしょうか?

とりあえず現在はshow create tableで見てテーブル名を変えて新しく作る
というやり方をしているのですが、なにか良い方法はありますでしょうか?
(MySQL4.1.7)
486NAME IS NULL:04/11/30 17:54:53 ID:???
>>485
create table hoge select * from foo;
487452:04/11/30 22:57:36 ID:Vqc40nkj
     旧サーバ   新サーバ
OS   Vine Linux  Miracle Linux
MySQL 4.1.7     4.1.7
perl   5.8.4     5.8.5
perlスクリプトは同じ

MySQLはRPMでインストール

旧サーバのperlはCPANのシェルかなんかでinstall bundle?したら
自動的にインストールされた

新サーバのperlはソースからインストールしました

DBI DBD::mysqlは両方とも
perl -MCPAN -e shell
install DBI
install DBD::mysql
でインストールしました

mysqlコマンドからは正常にみえるので、データベースには
ちゃんとEUCで格納されていると思います。

perlスクリプトはEUCで書いてあります
UTF-8にしてみても、問題解決はしませんでした

どうもperl DBIとMySQLの間で食い違っているような気がします

perl DBIでMySQLにコネクトする時に、漢字コードを指定したりできますか?
488NAME IS NULL:04/11/30 23:13:48 ID:???
手持ちの動画やら画像やらを全部MySQLで管理したいんですが
入力がめんどい。入力支援アプリとかありますか?
489NAME IS NULL:04/11/30 23:41:14 ID:???
queryごとjcodeか何かで文字コード変える。
ってか、テーブル名をascii文字だけに変えろ。
490NAME IS NULL:04/12/01 01:20:26 ID:???
MYSQL-CSEについて質問です。
OSはWindowsXP SP1です。
勉強しようとローカルにWindowsのMySQLをインストールしました。
インストールしたMySQLのserver versionは4.0.22-nt。

で、CSEが使いやすいって聞いたのでインストールして
つなげようとしたら強制終了が出てしまうのは何か設定が足りないですか?

DOSプロンプトからmysqlインストール先までパス通しているので
C:\>mysqlでmysqlが実行できるのは確認できました。

CSEにはlibmySQL.dllを書き換えろとあったので
mysql/binとmysql/lib/optは書き換えてみたけれどやっぱりcseで落ちちゃう。
ODBC設定も必要ですか?
でもMySQLインストールしたのにドライバがないって言われてるんだけど
これはこれでいいのですか?

#MYSQL-FRONTでは接続できました。なんで?

491NAME IS NULL:04/12/01 07:58:29 ID:1UhTQCiA
>>489
テーブル名と列名をascii文字だけに変えても
>>479 の問題がおきています

PHPは使ったことないですが、PHPからどうなるか試してみようと思います
492NAME IS NULL:04/12/01 10:42:00 ID:???
>>488
お前まだできてないのか?
ずいぶん前から同じこと逝ってるみたいだが
493NAME IS NULL:04/12/01 23:04:46 ID:???
質問させて下さい。
/usr/local/
にmysql-4.1.7をインストールしました。

./scripts/mysql_install_db

までは上手く行ったようなのですが、
/usr/local/bin/mysqld_safe --user=mysql &
とうつと、

tarting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
041201 23:01:33 mysqld ended

と出てしまいます。
どうすれば起動できるのかがわかりません。
ちなみに/var/run/mysqld/mysqld.pid ファイルは存在しませんでした。
494NAME IS NULL:04/12/01 23:44:29 ID:???
>>490
ODBCドライバを入れて、ODBCでつなぐ。
MySQL4.x系のlibmysql.dllのライセンスが、LGPLからGPLに変わった、という
話があって、cseは新しいlibmysqlには対応していない、っぽい。
##googると作者のメールがでてくる。
495NAME IS NULL:04/12/01 23:59:04 ID:???
>>493
力になれるかどうか分からんが。
/etc/init.d/ だっけ、sysv系のサーバ起動設定があるよな。
そいつ使うとどうなる?
496493:04/12/02 00:18:55 ID:g8vNek+S
起動時のオプションを/etc/my.cnfに記述する形でしょうか?
手順は、このサイトを参考にインストールしたのですが、

http://www.atmarkit.co.jp/flinux/rensai/mysql01/mysql01b.html

起動時にエラーになってmysqlは立ち上がってくれませんでした。
インストールの手順も、上記のサイトの通りにしたのですが…。
インストールからして間違っていたのでしょうか(´Д⊂
497493:04/12/02 00:35:52 ID:g8vNek+S
>>495
変なレスしてましたスマソ。

/etc/init.d/mysql start

だと、そんなファイル無いって言われます。
498490:04/12/02 00:46:11 ID:???
「libmsqlのライセンスだけ何とかならんのかい。不便じゃ。」
と、MySQL ABにメールしてみた。

LGPLな、libmysql.dllのラッパーがあるならそれに対応してもらえばいいの
かもしれんが。
499NAME IS NULL:04/12/02 01:26:18 ID:???
>>493
>/usr/local/bin/mysqld_safe --user=mysql &

sudo /usr/local/bin/mysqld_safe --user=mysql &
とかは?
500499:04/12/02 01:27:32 ID:???
ごめん。
sudo /usr/local/bin/mysqld_safe --user=mysql
と打って、パスワードを入れてC-z、bgかな。
501493:04/12/02 02:06:52 ID:g8vNek+S
# sudo /usr/local/bin/mysqld_safe --user=mysql
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
041202 02:03:38 mysqld ended

だめぽな感じです。(´Д⊂
/etc/my.cnf
の設定をどこか直さないと動いてくれないのでしょうか…。
ちなみにmy.cnfの中身はこうです。

# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
502493:04/12/02 02:09:52 ID:g8vNek+S
/var/log/mysqld.log
の中身はこうです。

041202 02:03:38 mysqld started
041202 2:03:38 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
041202 2:03:38 [ERROR] Do you already have another mysqld server running on port: 3306 ?
041202 2:03:38 [ERROR] Aborting

041202 2:03:38 [Note] /usr/local/libexec/mysqld: Shutdown complete

041202 02:03:38 mysqld ended
503499:04/12/02 02:44:20 ID:???
>>501
mysqlというユーザーは作ってある?
WindowsとかMac OS X のユーザーじゃなくてMySQL(-u rootで起動)で
作成されたユーザーのことだよ。

とりあえず、mysql -u rootで起動して、
use mysql
で、
select * from user;
でUserのコラムにmysqlがなければユーザーが作成されてないよ。
504NAME IS NULL:04/12/02 09:44:53 ID:???
>>502 で、そのエラーメッセージに書かれていることは確認したの?
505493:04/12/02 09:57:31 ID:g8vNek+S
有難うございます。
どうやらrpmでインストールした古いmysql3.*が
完全になくなっていないからかな?と
思ったのですが、消してもやっぱり同じ状態でした。
エラーメッセージの内容を確認して再度ガンガッテみます。
506NAME IS NULL:04/12/02 11:03:51 ID:???
>>502
既にMySQLが起動してるんじゃね?
507NAME IS NULL:04/12/02 19:56:11 ID:uu+XnjC1
商用のサイトでMySQLを利用するのは
ライセンス違反ですか?
508NAME IS NULL:04/12/02 20:16:59 ID:???
>>507
別にそれだけで違反にはならない。違反になるケースは無償でもありうる。
509NAME IS NULL:04/12/02 20:19:40 ID:???
今のライセンスだと基本的に誰かのために作ってあげたらGPLのほうはだめ
コマーシャル買えってことだが、クライアント多いと大変だろうなぁ

サーバーライセンスとクライアントライセンスわかれてないからね
C/Sシステムは大変だということだ
510452:04/12/02 22:02:00 ID:U/vd5Q34
PHPからだと日本語テーブル名でも、正常に問い合わせできました。
PHPで作り直し めんどくせ〜
511NAME IS NULL:04/12/02 22:37:55 ID:???
商用サイトでMySQLは金がかかるってことだ
512490:04/12/03 00:55:42 ID:???
>>494

thx。おかげで接続時の強制終了からは逃れられました。
でもlibmysql.dllのせいかわからないけれど
日本語が見事文字化けしちゃいますね。
おかげで何のエラーがさっぱり。
とりあえずは先に進めそうです。
ありがとう。
513NAME IS NULL:04/12/03 01:38:17 ID:???
商用サイトの場合は、自分で作るなら金はかからない。
他人のサイトをつくってやるなら、金かかる。 でいいのかな。
514NAME IS NULL:04/12/03 07:42:00 ID:???
>>513
別に自分のためなのか、仕事として依頼を受けたかによって
ライセンスの規定に左右される訳ではないぞ。
ただ商用だとGPLだとやりにくいケースが多くて、
最終的には商用ライセンスを買うだろうから金が掛かるの流れ。
515NAME IS NULL:04/12/03 09:59:45 ID:???
MySQLのライセンス違反サイトを探す
ロボットを作成中です
516NAME IS NULL:04/12/03 10:56:35 ID:8QaFPAUM
mysqlを利用したスクリプトのソースは公開しないとまずいですか?
517NAME IS NULL:04/12/03 11:11:06 ID:???
>>452
ちなみに、旧サーバから新サーバに接続orその逆だとどうなるの?
それとも、接続元はいっしょ?
518NAME IS NULL:04/12/03 11:16:01 ID:???
>>514
結果的に自分ところで使うだけか、それとも他人が作ったかでそうなるはずだ
作者=使用者でなければライセンス購入が必要

なんせライブラリがLGPLのときからGPLライセンスのほうを使うと
すべて公開せよとか不思議なこといっていた会社だ

いわゆるLinux等の上で動くアプリはすべてGPLといってるのと同じで
さすがにみんなまもらなかったので収入がはいらず今ではライブラリもGPLに

まぁGPLがどういうものかわからずにMYSQLを使ってるところはありそうだ
519NAME IS NULL:04/12/03 11:17:43 ID:???
>>452
あ、テーブル名が日本語なのか! うっかり見逃していた。
テーブル名はファイルシステム(ファイル名のエンコディングとか)に依存するので、
たぶんMiracleとVineでファイルシステムが違うんじゃないかな?
Vineでうまく行くのは運がいいだけのような気もするけど。
MLでも話題になってた。
ちなみにテーブル名を``でくくれば回避できる可能性もないことはない。
520NAME IS NULL:04/12/03 11:19:54 ID:???
>>519
MySQLの項目名とかそういうのはUTF8固定
これがどういうことかわかるだろう
521NAME IS NULL:04/12/03 11:20:52 ID:???
あと、環境のLANGがeuc-jpだったりutf8だったりとかかな。。
522NAME IS NULL:04/12/03 12:20:57 ID:???
>>518
・GPLラインセンスのMySQLをインストールしてよと依頼を受けた場合。
・GPLラインセンスのMySQLを利用したシステムの開発依頼を受けた場合。
共に別にコーマーシャルライセンスである必要はない。
先方がきちんとGPLを遵守すれば良いだけだ。

サーバは現状のライセンス体系で良いと思うが、
クライアントライブラリの体系や値段は何とかして欲しい。
Webアプリで使ってる場合は気にせんで良い様になったけど。
523NAME IS NULL:04/12/03 12:54:05 ID:???
>>522
GPLを細かく理解している顧客がいればな
受託開発でソースはGPLになるので持ち帰ったりネット上にばら撒きますとか
そんなSIはいるのだろうか

4.0まではMysqlはそれなりに使いやすかったけど
4.1の問題の多さからもその辺考えるならPostgresにいったほうが楽だな
524NAME IS NULL:04/12/03 14:40:03 ID:suEyEb2+
MySQLってTRIGGER使えるの?
525NAME IS NULL:04/12/03 18:40:11 ID:???
実装されてない。と言うかViewとTriggerはさっぱりやる気無しな悪寒。
526NAME IS NULL:04/12/03 20:10:01 ID:???
トリガは、MySQL バージョン 5.1 で実装される予定です。(ttp://dev.mysql.com/doc/mysql/ja/ANSI_diff_Triggers.html
ビューは現在実装中で、MySQL サーババージョン 5.0 または 5.1 で実装されます(http://dev.mysql.com/doc/mysql/ja/ANSI_diff_Views.html
527NAME IS NULL:04/12/03 20:17:39 ID:???
5.xよりさっさと4.1で日本語をちゃんととおるようにしる
528NAME IS NULL:04/12/03 21:59:02 ID:Y2kchYKl
>>517
>>519

ApacheとMySQLは同じマシンに入っていて
perlからはlocalで接続しています

``で囲うのはやってみましたが、上手くいきませんでした

ファイル名はVineでもMiracleでもUTF-8みたいでした

まあ、時間的にも余裕があるし、PHPの勉強もしたいと思っていたので
PHPで作り直してみます
529NAME IS NULL:04/12/04 21:03:40 ID:???
DBは早ければそれでよい。
データが逝かれたらそれで仕事が増えるしな。
社内SEは暇なんだよ。
530NAME IS NULL:04/12/04 22:19:04 ID:???
俺が見てきた電算室は休みって何ですか?というところが多いけどな
とまると困るのに直接的に利益を生まないから人も増やさないし
結局過労で倒れたりやめていくやつばかり
531NAME IS NULL:04/12/04 22:29:40 ID:Tc15mDNV
4.1Xのバージョンをインストールしたのですがwinmysqladmin.exeが存在せず
GUIからの設定ができません。。。
どこに消えてしまったのでしょうか。。
532NAME IS NULL:04/12/04 23:18:03 ID:???
それは互換性のためだけにつかわれるやつで一応インストール時の設定でできるはず
ただし、反映される箇所が違うとかで結局使い物にならない
環境設定のGUIツールで設定してくれるよ

ただし、こまかいところはできないので結局手書きなんだが、
ツール起動するときれいに消されるので注意

あととくにWindows版は4.1.xは使わないほうがいい
533NAME IS NULL:04/12/05 06:25:37 ID:???
Win版4.1.7で、テーブルのCHARSETはUCS2、サーバ-クライアント間はUTF-8で、
何の問題もなく使えてる俺は勝ち組でしょうか。
534MySQL初心者:04/12/05 12:12:19 ID:???
MySQL4.0.13-nt(Win)を利用しています。
Timestamp型はフィールド更新時に自動的に
更新時刻に値が変わりますが、
Date、Time、Datetime型でもフィールド更新時に
自動的に更新時刻を代入することはできますか。
535NAME IS NULL:04/12/05 13:01:26 ID:???
>>533
Windows版で使うならUTF8だけが正解
Linux等でもUTF8が一番問題ない

MySQLDumpとかMySQL.exeとかすべてデフォがUTF8なおかげで
すべてがUTF8で動いているのなら問題ないけどね
しかもLinux等へもっていってもそのままインポートできるという利点あり

ただ、それだとコマンドラインでちょっとしたSQLうてないとか問題山積み
一度SQLをテキストエディタでUTF8で保存して読み込ませるしかない
対話ができないのがきつい

あとUTF8といっても「〜」とかのマッピングが環境によって違うからそのへんだけ気をつけるべし
PostGresはこのへん含めてちゃんと動くだけに離されてる感じが

つーか4.0までうまくいっていただけにへこむよなぁ
少なくともお手軽にWindowsでDBを試したいって人には
Postgres8のRCすすめるほうがまだましっていったい・・・
536NAME IS NULL:04/12/05 13:45:31 ID:???
>>534
 逆にMySQLで更新時に自動的に更新時刻が入るの?
それを知らなかったな…
537NAME IS NULL:04/12/05 14:46:09 ID:???
>>534
Timestamp 型でも自動更新されない場合もある

6.2.2.2 DATETIME、DATE、TIMESTAMP 型
http://dev.mysql.com/doc/mysql/ja/DATETIME.html
538NAME IS NULL:04/12/05 14:51:58 ID:???
>>593
っていうか別に4.0勧めりゃいいじゃん。
539NAME IS NULL:04/12/05 15:43:18 ID:???
>>593
期待
540NAME IS NULL:04/12/05 20:33:30 ID:???
すみません、もし知っている方がいたら御教示ください。

MySQL 4.1
WindowsXP Home
ODBC 3.51 Driver

を使用しています。
Windows上のアプリで、ODBC接続によって接続をし、
VARCHARのフィールドをキーに検索すると
下記のエラーが返ってきます。

Illegal mix of collations (sjis_japanese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='

同じSQLをコマンドライン上で行うと、正常な結果が返ってきます。
動作している場所は、サーバもクライアントも同じPCなのですが、
コマンドラインとODBC接続時でキャラクタセットとは変わるものなのでしょうか?

statusコマンドで各キャラクタセットを調べたところ、
Server・Db・Client・Conn.4項目ともsjisになっております。
sjisがまずいのでしょうか・・?
541NAME IS NULL:04/12/05 20:34:58 ID:???
Postgres8なんてあったのか・・・
542540:04/12/05 21:30:13 ID:???
MySQL 4.0にしました・・・
うまくいきましたのでコレで行きます・・・
543NAME IS NULL:04/12/05 22:30:20 ID:igY4mK2i
MERGEテーブルを作りたいのですが、createの時にカラムを省略して、unionするテーブルと
同じ型にするにはどのようにしたら良いでしょうか?

普通のテーブルの場合、同じ型にするなら
CREATE TABLE test1 LIKE test;

で出来るので、似た感じで
CREATE TABLE test1 LIKE test TYPE=MERGE;

としてみましたがダメでした。
544534:04/12/05 23:24:03 ID:???
質問があります。
MySQL4.0.13-nt(Win)を利用しています。
CREATE TABLEを使ってテーブル定義を行う時に、Datetime型のカラムには値が
フィールド作成・修正日時が自動的に入力されるようにしたいのですが、どのように宣言するのですか。
545NAME IS NULL:04/12/06 00:41:35 ID:???
>544
datetimeはダメで、たしかtimestamp型を使うんでは?
ってかマニュアルに書いてあるよ
546NAME IS NULL:04/12/06 07:18:46 ID:???
こんにちわ!
Windows版 mysql4.1+active perl5.6.1 で動かしてます。

$queryがおかしいときにperlが表示するエラーメッセージを押さえる目的で、

http://www.mysql.gr.jp/Manual/mysql-3.21.31/manual_Clients.html#Perl DBI Class
を参考に

 $st = $conn->prepare("$query") || die $st=0;
 if(!$st)  { print "query error\n"; }
 else  { $st->execute ; }

のようにしてみたのですが、
DBD::mysql::st execute faild: Table 'test.hoge' doesn't exist at hogehoge.pl line XX
というエラーが標準出力に表示されてしまいます。

php+postgresだと @$st=〜; if(!$st) { ; } のように$stの前に@をつけることで回避できていたのですが、
mysql+perlだとどのようにすればいいのでしょうか?

よろしくお願いします。
547NAME IS NULL:04/12/06 07:20:31 ID:???
ちなみに(わかるとは思いますが)、
546で書いたエラーは、データベースtestにhogeというテーブルがないのにhogeテーブルを引いた場合のエラーです。
548NAME IS NULL:04/12/06 08:39:28 ID:FQpdTtdu
pgpoolのようなものは無いのでしょうか?
sqlrelayのような独自仕様APIに依存しないタイプが良いのですが。
549NAME IS NULL:04/12/06 10:50:14 ID:???
>>548
ない。
550NAME IS NULL:04/12/06 11:22:30 ID:KSX9Ub5e
た、たすけてください。
fedora core2+mysql3ではなんの問題もなく稼動していたのに
fedora dore3に変えたらmysqldが起動しなくなり「失敗」になってしまいます。
ふぇーどらを最初から再インストールしてみてもだめでした。
いろいろググって、試してみたのですが一向に解決しません。
どなたかたすけてください。
551NAME IS NULL:04/12/06 11:44:45 ID:???
>>549
そらdieしてるからだろ?
dieしなきゃいいじゃん。

ま、あとはeval{}で囲いな。
552NAME IS NULL:04/12/06 13:13:31 ID:BDiStAMX
>>546
そのリンク先に書いてあるように
$rv = $sth->execute or die "can't execute the query: $sth->errstr;
executeの結果も見ないとダメなんじゃない?
553NAME IS NULL:04/12/06 17:29:49 ID:9t3CstjF
MySQL初心者の者なのですが、
インストール直後の状態でrootでログインし、新規アカウントを作りました。
しかし、そのIDとパスでログインしようとしてもうまくいきません。
一応phpMyAdminで見てみたのですが、ユーザーアカウントはちゃんと作られているようです。
ログインできない理由としてどのようなことが考えられますでしょうか?ご教授願います。
554NAME IS NULL:04/12/06 17:37:52 ID:Gqr5wmU2
>>553
エラー内容を表示汁!

後、かねやんで新規アカウントを作るのは辞めたほうが良い
555553:04/12/06 17:44:33 ID:9t3CstjF
コマンドプロンプトでログインしようとしたところ
以下のようなエラーがでます。(-----------はパスワード)
C:\mysql\bin>mysql -u masa -p ----------
Enter password: ***********
ERROR 1049: Unknown database '-----------'

さらに、phpのほうでは、
Warning: mysql_connect(): Can't connect to MySQL server on '<IP>' (10061) in D:\www\threehearts\trunk\trunk_entry.php on line 108
こんなかんじにエラー出てしまいます。

ですが、先ほどかねやんを使ってログインしてみたところ、うまくいきました。
どういうことでしょうか??
556NAME IS NULL:04/12/06 17:47:20 ID:HmN2GWRf
怨。
557NAME IS NULL:04/12/06 17:56:33 ID:Gqr5wmU2
>>555

mysql -u masa -p-----だよ
-pの後にスペースが入ってるからだと思うが。

統一するなら、-uの後にもスペースを入れずに・・・
558553:04/12/06 18:05:08 ID:9t3CstjF
>>557
うまくいきました。ありがとうございます。
あと、もうひとつだけ質問があります。
MySQLに接続する際に、localhostを指定するとうまくログインできるのですが、
ホストが違うとログインできません。
userテーブルを見てみてもちゃんとlocalhostと%の両方が登録されているはずなのですが、
どのような理由が考えられますでしょうか?
559NAME IS NULL:04/12/06 18:27:49 ID:???
>>558
>userテーブルを見てみてもちゃんとlocalhostと%の両方が登録されているはず
こういうのが一番不確実、つまりあやしいポイントだが
筈が確信までいっても駄目なら、MySQLサーバのskip-networkingが指定されて無いか確認。
GRANTじゃなくてUPDATEで変更したのなら、権限テーブルをFLUSHすること。

何にせよ「ホストが違うとログインできません」だけじゃ、ポートが開いてないとか
LANケーブルが抜けてるとか(まあそれはチェックしてるだろうけど)
そんな辺りからの話になるわな。
560NAME IS NULL:04/12/06 18:34:01 ID:Gqr5wmU2
DBの鯖を複数扱うには必要だから、名前を指定するのは仕方ないかも
561553:04/12/06 18:47:59 ID:9t3CstjF
>>559
文章ミスでした。テーブルでしっかり確認してます。
ひとまず%だけアカウントつくって試してみたのですが、
ERROR 1045: Access denied for user: 'masa@localhost' (Using password: YES)
とエラーが表示されてしまいます。
-haaa など適当にホスト指定しても同様です。
その後で、localhost用アカウント作ると、うまくログインできます。
562NAME IS NULL:04/12/06 20:11:36 ID:???
>>561
flush privileges;は実行した?
563553:04/12/06 22:44:56 ID:9t3CstjF
>>559さんの助言にて解決しました。
ルータのポートを開いていないというミスでした。
phpからのアクセスなので、80さえ開いていればいいと思い込んでいましたが、
ちゃんと3306も開けておかなければならないんですね。
数々のご指南本当にありがとうございました。
564NAME IS NULL:04/12/06 23:05:05 ID:???
>>561
下の2点などみても
>ERROR 1045: Access denied for user: 'masa@localhost' (Using password: YES)
>-haaa など適当にホスト指定しても同様です。

どうも"ホスト"の概念が理解できてないように思う。
上の場合のエラーは本人は別の端末から接続してるつもりなのかもしれないが
エラーを見るとlocalhostからの接続になっている。
下の場合、ホストの指定はクライアントから接続"先"のホスト(MySQLサーバ)を
指定するオプションであって、接続"元"を定義する訳ではない。
565NAME IS NULL:04/12/07 00:16:42 ID:???
show table status;で表示される
Auto_incrimentの値をPHPで取ってきたいんですが
どのような方法がありますでしょうか?
566NAME IS NULL:04/12/07 00:59:48 ID:???
>>565
mysql_query("show table status");
で返って来る結果はSELECT文と同じ扱い。
通常のSELECT文と同じやりかたでPHP側は情報を取得できる。これを使う。
567546:04/12/07 07:17:52 ID:???
>>551
>>552
レスさんくすです!遅くなって済みません。
evalを使うのですね。それだけでもかなりのヒントをもらった気がします。

えーと、まず、 ttp://flex.ee.uec.ac.jp/texi/perl/perl_39.html#SEC74 を参考に

 eval { $res = $st->execute; }; print "error\n" if $@;

とやってみましたが、546と同じエラーが出ますたorz。
あとで552さんのやり方でやってみます!ありがd!

#evalとかdieとかはあまり使い慣れない(使うときはほとんどサンプルのコピペ)ので、もう少し考えてみます。
568NAME IS NULL:04/12/07 11:11:30 ID:2Ky/TsZq
Aという列がnullのデータだけひっぱってきたい場合は、

Select * From TableName Where A

の後何て書けばいいんでしょうか…。
569NAME IS NULL:04/12/07 11:26:41 ID:???
>>568
名前欄・・・
570NAME IS NULL:04/12/07 11:26:52 ID:???
A IS NULL
571NAME IS NULL:04/12/07 11:32:58 ID:???
>>568-569
爆笑したw
572568:04/12/07 11:37:57 ID:2Ky/TsZq
ホントだ(爆)
無事皆様に笑いを与えることができますた。
有難うございました(´Д⊂
573NAME IS NULL:04/12/07 13:01:20 ID:iWfPtWN9
test_tbl
---------------
name | class |
---------------
a |1 |
b |1 |
c |1 |
d |2 |
e |2 |
---------------

このtest_tblからnameを文字列結合させて「1,abc」「2,de」の取得をする場合、
SELECT class,GROUP_CONCAT(name) from test GROUP BY class
でやりましたが上手く出来ませんでした、根本的に間違っているんでしょうか?
574573:04/12/07 13:01:47 ID:???
sage忘れスイマセン。
575NAME IS NULL:04/12/07 13:20:36 ID:e8qZACAq
Like 'オ%' を検索すると 'ナ' がヒットするよ、、orz
576NAME IS NULL:04/12/07 13:40:39 ID:???
オナ% で検索すると ニ がヒットするよ(*´Д`*)
577NAME IS NULL:04/12/08 01:17:14 ID:wTGp1/m/
oracle→MYSQLにデータを移行したいのですが一番いい方法はなんですか?
@Oracle→オブジェクトブラウザー又はアクセスでCSV→そのCSVをPHPプログラムでMYSQL
578NAME IS NULL:04/12/08 11:22:04 ID:???
今初心者用の本を読みながらPHPとMYSQLの勉強をしているのですが
アパッチのサイトが見れなくてアパッチがインストールできません。
http://www.apache.jp/misc/download.html
どこかほかにインストールできるとこしりませんか??
579NAME IS NULL:04/12/08 12:17:28 ID:vav5ho8n
>>577
WindowsクライアントにODBCを設定し、Navicatで接続してMySQLへエクスポート
580NAME IS NULL:04/12/08 13:14:54 ID:???
>578

ttp://httpd.apache.org/download.cgi
前途多難だな。
まあ癌ばってくれ
581NAME IS NULL:04/12/08 13:51:54 ID:???
>578
ありがとうございます。文系畑の人間なんで前途多難は百も承知。
がんばります。
582NAME IS NULL:04/12/08 14:05:43 ID:JrunuaRr
ちょっと奇妙な現象が起きて困ってます。
MySQL4.1.7にて、UTF-8でテーブルを作成し
varchrカラムに、文字数を指定したINDEXを作成。
すると、WHERE句で ヒットするはずの検索がヒットしなくなる
文字列が出てくる。全ての文字列でその不具合が出るのではなく
特定のパターンか文字数の場合のみのよう。
INDEXを最初から作成しないか、文字数を指定しなければ
問題は起きません。
ちなみに同じWEHERE句なのに、SELECTでは不具合が出なくて
UPDATEの時だけ不具合が出たりする。
これって、MySQLユーザー会などでは既に報告されてるのでしょうか?
583NAME IS NULL:04/12/08 14:07:59 ID:???
環境は?
OSとかクライアントプログラムとか
584582:04/12/08 17:38:31 ID:JrunuaRr
環境はRedhat Linux 7.2 (といっても、ほとんどオリジナルの構成)
クライアントはPHP4とシェルからの両方で症状を確認。
ちなみにvarcharに格納した文字列は日本語では無くただの英数字
です
585NAME IS NULL:04/12/08 18:26:44 ID:???
再現条件が確定しているテーブルとデータがあれば追試出来るけど。
そこまで細かくは分かってないの?
586NAME IS NULL:04/12/08 21:48:50 ID:???
UTF8で英数字ってことはそもままASCIIだからなぁ
おかしくなるとは考えにくいな
587NAME IS NULL:04/12/09 11:54:09 ID:???
Win版mysql4.1をつかってます。
postgresのvacuumdbにあたるコマンド(DBのゴミを掃除するコマンド)は、なんなのでしょう?

http://www.mysql.gr.jp/Manual/mysql-3.21.31/manual_Tools.html#isamchk

のisamchkかとおもったのですが、コマンドプロンプトから isamchk -d table_nameと打つと
isamchk error: File 'table_name' does't exist
といわれてしまいます。(そもそもdatabase名を指定していないので、変だとは思うんですけど・・)

よろしくお願いします。
588NAME IS NULL:04/12/09 12:11:52 ID:???
OPTIMIZE TABLE tbl_name;
589582:04/12/09 13:19:01 ID:rR7Aps+L
>>585

今日はちょっと時間が無いので、明日にでも
再現条件が確定してるSQL文を載せますね。
590NAME IS NULL:04/12/09 17:36:03 ID:eosrnkcl
お祭りが始まる予感
591NAME IS NULL:04/12/09 22:02:49 ID:???
>>588
ありがdd!(・∀・)
592582:04/12/10 12:34:12 ID:xmvTUs8L
582の件の再現条件です。

○テーブル構成
create TABLE t1 (
idint(10) unsigned NOT NULL auto_increment,
dataVARCHAR(128) NOT NULL,
flgtinyint(3) unsigned NOT NULL default '0',

PRIMARY KEY (id),
INDEX idx_data (data(8)),
UNIQUEdata (data)
) TYPE=MyISAM DEFAULT CHARACTER SET utf8;

まずレコードを挿入し、SELECTで検索してみます。

mysql> INSERT t1(data, flg) VALUES("yahoocojp",0);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * from t1 WHERE data = 'yahoocojp';
+----+-----------+-----+
| id | data | flg |
+----+-----------+-----+
| 1 | yahoocojp | 0 |
+----+-----------+-----+
1 row in set (0.00 sec)

ここまでは問題ありません。次に同じWHERE句でUPDATEを実行。

mysql> UPDATE t1 set flg=1 WHERE data = 'yahoocojp';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0

マッチしません・・・・
ちなみに、= の代わりにLIKEを使うと、このケースでは成功するのですが、
LIKEでも失敗する文字パターンがありました。
どんな文字列だったのかは残念ながら失念しましたが、
その場合、例えば文字パターンが abcde だったとすると、
〜WHERE data like 'abcde' では失敗しますが、
〜WHERE data like '%abcde' だと
成功します。

次に、INDEXを破棄すると・・

mysql> ALTER TABLE t1 DROP INDEX idx_data;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> UPDATE t1 set flg=1 WHERE data = 'yahoocojp';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

成功します。
593582:04/12/10 12:36:04 ID:xmvTUs8L
すいません、テーブル構成のUPに失敗したので再投稿

create TABLE t1 (
id int(10) unsigned NOT NULL auto_increment,
data VARCHAR(128) NOT NULL,
flg tinyint(3) unsigned NOT NULL default '0',

PRIMARY KEY (id),
INDEX idx_data (data(8)),
UNIQUE data (data)
) TYPE=MyISAM DEFAULT CHARACTER SET utf8;

大丈夫かな?
594582:04/12/10 12:37:32 ID:xmvTUs8L
あ、それと MySQL 4.1.7のコンパイル時のオプションは

./configure --enable-assembler --with-mysqld-ldflags=-all-static --enable-thread-safe-client --with-charset=utf8 です。

595582:04/12/10 12:55:41 ID:xmvTUs8L
連続投稿申し訳ありません。
テーブル構成の部分で、投稿時の手違いでINDEXとUNIQUEが同じカラムに重複してしまいましたが、
UNIQUEが無くても不具合の症状は出ます。
596NAME IS NULL:04/12/10 18:06:34 ID:/SbrvFX+
mysql4のconvertでsjisからujisに変換する際に機種依存文字のAなどが化けてしまいます。

(上のほうで機種依存文字について書いてあるのを読んだのですが、)

文字コード変換はsjis -> utf -> euc という変換になるので化けるのはしょうがない事なのでしょうか?

どうにか回避する方法は無いでしょうか。
(linux, mysql 4.1.7)
597NAME IS NULL:04/12/10 21:23:43 ID:???
>>596
機種依存文字に関わるパッチは現在作成中っぽいよ。
人柱協力するっていえば喜ばれるかもよ。
598NAME IS NULL:04/12/10 21:36:53 ID:/SbrvFX+
>>597
協力したくてもそんなに知識ないし(>_<)

convertはあきらめてjcode(perl)でeucに変換してから入れることでとりあえず
回避しようと思ったのですが、みごとに、その"機種依存文字"以降がバッサリ
切り落とされてしまって最悪です(泣)。

mysql3なら入るのにmysql4で出来ないなんて厳しいですね。
ダウングレードするしか解決方法は無いようです(*_*)
599NAME IS NULL:04/12/10 21:38:27 ID:???
>>582
再現するねぇ。
(こちらは本家にあるRPMを使いました)
ucs2だと大丈夫だし、やっぱりutf8がアヤシイっすね。
バグレポ見たけど、ぱっとみ登録されていないような。


600NAME IS NULL:04/12/10 21:40:49 ID:???
あ、いや、これかも?
ttp://bugs.mysql.com/bug.php?id=6643
601NAME IS NULL:04/12/10 21:46:14 ID:???
>>598
いや、4.0にしな。
4.1はまるきり別もん。
602NAME IS NULL:04/12/10 22:12:42 ID:???
>>601
たしかにMYSQLは4.0で終わったと思っていいくらいだからな
とくにWin版
603NAME IS NULL:04/12/10 22:20:06 ID:???
>>602
そう? 別に4.1でも困らないっちゃ困らない。
ただ、マルチバイトコード関連はPerl5.6のutf8並みに微妙なので、
日本語を扱うぶんにはやっとγとかRCになった感じのような気がする。

ま、正式リリースになってもPerl5.8のutf8程度にはハマル部分がありそうだけど。
varchar(4)で4文字なのか4バイトなのか、とかでね。
(4文字のほうが正しいわけだが、互換性を考慮したsyntaxが欲しいとは思う)
604NAME IS NULL:04/12/10 22:28:08 ID:???
事実上UTF8しか使い物にならないくせに

コマンドラインはMS932が必要になるから対話ツールが結局使えない
605NAME IS NULL:04/12/10 23:30:32 ID:/SbrvFX+
>>601
ありがとうございます。4.0にしました。

問題なくjcodeで変換した文字列がきちんと入りました。

mysql4.1はまだ日本語入れる場合は厳しいのですね。
606NAME IS NULL:04/12/10 23:33:50 ID:/SbrvFX+
mysql3から4.0をskipして4.1に行ったので4.0やったことなかったんですけど、
なんかビミョーに速い気がしますね。

気のせい?
607NAME IS NULL:04/12/11 01:11:06 ID:???
>>604
set names sjisとかである程度は。
608NAME IS NULL:04/12/11 01:52:56 ID:???
えー ここ見てから4.1にすりゃよかった、、
609NAME IS NULL:04/12/11 06:38:43 ID:???
唐突ですみませんが
サーバーにインストールされたMySQLを
ネットワーク上のWindowsアプリケーションから操作するプログラムが可能な
フリーのプログラマーさんを探しております。

こちらのMySQLはroot権限があり自由にDBアクセスできます。
WindowsのクライアントソフトはMFCのダイアログベースでそれほど
複雑なものではありません。
DBプログラムに精通されている方でしたら1週間程度で作成可能かもしれません。
仕事としてお願いできる方いらっしゃいましたらメール頂けませんでしょうか?
工賃はご相談に応じます。

610NAME IS NULL:04/12/11 10:55:45 ID:lPGeGrfn
MySQL4になって、起動プライオリティがchkconfig: 2345 90 20に変更に
なっているんですけどなにか理由があるんですか?
611582:04/12/11 11:06:54 ID:2+zpM2FC
>599
確認ありがとうございます。
やっぱり再現しますか・・
4.1は怖くて業務用には使えないですね(^^;
しょうがないので4.0をEUC-JPで使い続けようと
思います。
このバグが本家に届いてるのかどうか、ちょっと心配です。
自分で報告できるほどの英語力は無いし
日本のユーザー会のこともよくわからないので。
612NAME IS NULL:04/12/11 14:06:37 ID:???
>>611
んー、ttp://mysql.gr.jp/のML投げれば対応してくれるかもよ
最近はmysql.comで作業してる人も見てるみたいだし。
そうでなくても、誰かがかわりに投げてくれるかもしれないし。

613NAME IS NULL:04/12/11 14:22:04 ID:???
>>612
結局パッチ当てて対応したところでその環境のみが対応になるし
次期バージョンでは動いているという話と動いてない話とあってどうもわからん

誰でも本家から自由にダウンロードしたバージョンのみで完結してほしい
とくにWindowsの場合はコンパイル環境作るのに金かかるわけで

4.0の後継はサブクエリーが使えて高速になったPostgreSQL8かもしれん・・・
614582:04/12/11 16:20:47 ID:2+zpM2FC
>>612

早速、MLに入会して投稿してみました。
既出だったらちょっと恥ずかしいかも・・・(^^;
615NAME IS NULL:04/12/11 18:22:41 ID:???
>>614
これじゃダメなの?
http://www.hi-ho.ne.jp/tsumiki/
616NAME IS NULL:04/12/11 19:02:46 ID:???
ミスってた。
>>609
これじゃダメなの?
http://www.hi-ho.ne.jp/tsumiki/
617NAME IS NULL:04/12/11 19:34:47 ID:???
>>614
660で指摘されてた
ttp://bugs.mysql.com/bug.php?id=6643
↑これと同じなんじゃ?

UTF8のVARCHARレコードに対して、フィールド長よりも短いindexを作成し、
そのindexで検索すると嘘の内容が返ってくる

テーブル全体をUTF8に指定しても、数字がUTF8になるとは思えないし、
各文字列フィールドで無指定の場合にUTF8になる だけだと考えるとつじつま合うと思うんだが。
618NAME IS NULL:04/12/12 12:23:44 ID:LIQde0yx
MySQLのアクセスポートって3306固定なんですか?
ルーター3306開放して外部からログオン、DBメンテナンスとかしてるんですけど。
DBを実際利用してるユーザーは別サーバーのPHP経由なんで問題ない?・・

巨大なレコードの検索や10000を超える新規入力のデータをPHP介して
動作させるとパフォーマンスかなり落ちるでしょうか?

教えてください、素人ですんまそん。
619NAME IS NULL:04/12/12 17:57:55 ID:???
>>618
んなことない、設定で変更できる。デフォルトのポートが3306なだけ。
ただ一部のサードパーティのクライアントアプリで3306前提の奴があった。
(コードの頭で定義してたから変えればいいだけだけど。昔の話だから変更済みの可能性は大いにあり)
620582:04/12/14 20:52:59 ID:/UAg/KXZ
582の件(4.1.7でUTF8にした時のWHEREの不具合)ですが、
MLで質問してみたところ、4.1.7では症状が出るが
最新版のソースでは大丈夫だったそうです。
4.1.8のリリースに期待です。
621NAME IS NULL:04/12/14 22:14:15 ID:???
おお
GJ!
622NAME IS NULL:04/12/14 22:48:54 ID:fp7b0mIn
mysqlでcvsファイルをロードするためのコマンドってありますか?
623NAME IS NULL:04/12/15 01:31:22 ID:???
>>622
http://dev.mysql.com/doc/mysql/ja/LOAD_DATA.html
正確には↑はSQLステートメントであって、コマンドではないので
http://dev.mysql.com/doc/mysql/ja/mysqlimport.html
の方が、"コマンド"としては正しいかな。
624NAME IS NULL:04/12/15 01:33:14 ID:???
CVSはCSVのtypoだと解釈したが、
CVSで間違ってないなら、その指し示すものを説明してくれ。
625NAME IS NULL:04/12/15 04:20:36 ID:???
CSV
626NAME IS NULL:04/12/15 17:28:29 ID:???
現在PHP+MySQLで、ユーザーの条件で検索して表示…って感じのアプリを作成しています。
ユーザー数が数万からのオーダーなので、mysql_fetch_assocを使って必要な数だけ
fetchしてくるようにしているのですが、どうもDBサーバーとPHPが動いているWEBサーバー
間でのトラフィックが多いような気がします。

mysql_fetch_assocって実データはmysql_fetch_assocした瞬間に持ってくるんでしょうか?
それとも一旦PHP側で一括して取得するんでしょうか?
627NAME IS NULL:04/12/16 00:14:44 ID:eASK0wdK
>>624
1行がレコードで、各項目をカンマで区切られたデータファイルです。
sqlファイルだと可読性が悪いと思ったので、cvsファイルだとエクセルで扱えますし・・・

↓こんな感じです。
1,2,3
4,5,6
628NAME IS NULL:04/12/16 00:28:49 ID:???
>>627
それcsvというんだよ
それに細かい仕様が決まっていないので各社ばらばら
1行で1レコードときまっているのもあればエクセルのようにそうでないものもある
エスケープの仕方もばらばらで個別対応が必要

おわかり?
629NAME IS NULL:04/12/16 02:28:09 ID:???
まあ、普通はload data infileで読めるけどね。
へんてこりんな形式はやっぱこまるね。
630NAME IS NULL:04/12/16 03:55:26 ID:???
TAB区切りだけだとおもてた
631NAME IS NULL:04/12/16 13:18:04 ID:???
タブ区切りは tsv
632NAME IS NULL:04/12/16 14:24:14 ID:???
>>626
クライアント側(PHP)にクエリの結果を全部持ってきて処理してる。
633NAME IS NULL:04/12/16 15:19:04 ID:???
>>632
マジですか…
それじゃSQL文でLIMITするくらいしか方法はなさそうですね…
634NAME IS NULL:04/12/16 15:31:51 ID:???
>>633
スクリプトを書きなおす気があるなら、
クエリー結果をバッファリングしない手もある。
http://www.php.net/manual/ja/function.mysql-unbuffered-query.php
でもLIMITが可能な要件なら、それにこしたことはないよ。
635NAME IS NULL:04/12/17 11:18:13 ID:???
4.1.8揚げ


…だが、4.1.7から上書きインストールしたら
mysqlサーバーの起動はするのだが、
クライアントではlibmysqlclient.14が見つからないって接続できなくなったヨヽ(`Д´)ノ
4.1.7に戻すと接続できるのに。
ライブラリのディレクトリにはパスも通ってるし…、ナンデダヨ!!
636NAME IS NULL:04/12/17 11:58:10 ID:???
また別物になったか?
637NAME IS NULL:04/12/17 13:06:05 ID:???
4.1なかなか安定しないね。
4.0上位互換になる日はくるのかな?それとも別物のままかな。
638NAME IS NULL:04/12/17 13:08:35 ID:???
いらん改悪にわけの分からんライセンス
そういうのは市場をほぼ独占してからするもんだろうに
639NAME IS NULL:04/12/17 18:16:25 ID:???
>>637
上位互換は基本的にないっぽい。
本家は表名や列名をUTF-8固定にするって判断らしいので。
今後のことを考えると内部では統一しておくってのは仕方ないとは思うけど。

あと、charやvarcharにバイナリを入れると弾かれるっぽい。
今まで入ってたのがナニと言えばナニではあるけど。


Postgresと違ってずっとバイナリ互換でイケてたのが良かったのにとは思うけど。
ついに移行ツールが必要になるのかと思うと感慨深い。
640NAME IS NULL:04/12/17 18:38:42 ID:???
>>639
UTF8固定で列名はいいとしてもテーブル名がUTF8で格納、
そしてファイルシステムがどういうコードかも考えずにそのままUTF8のまま格納
という根本的なところが死んでる希ガス
641582:04/12/17 20:28:50 ID:EPB4yf3L
>>635

ここを参考に。
http://blog1.fc2.com/tomoya/
642NAME IS NULL:04/12/17 20:58:15 ID:???
>>640
データベース名やテーブル名がファイルシステムに依存してるのは問題だよね。
もっとも、ファイルシステムに依存してるのを知ってたから、
マルチバイトな名前にしたことはないけどね。

UTF-8決め打ちにするなら、ファイル名を適当にエスケープするような
実装にすればいいのにとか思わなくもないです。
643NAME IS NULL:04/12/18 01:09:18 ID:???
>>640
なるほどな。言われてみりゃそうだよな。

ということは、UTF8化されてるFedoraCore専用か?


ツカエネー
644NAME IS NULL:04/12/18 06:22:08 ID:3dqMZ2Yk
4.0でサブクエリーが使えないのは仕様ですよね?
645NAME IS NULL:04/12/18 10:31:46 ID:???
>>644
仕様です。
646635:04/12/18 19:37:29 ID:???
ウホッ、良い男(^ε^)
647NAME IS NULL:04/12/18 19:56:14 ID:???
>>635
そういや同じ質問(バグレポート)を本家のMLで投げてる香具師がいたな。
648NAME IS NULL:04/12/20 16:57:26 ID:???
すいません、ttp://artry.net/xoops/Chap02w03my01.htmlをみながら
MySQL3.23.58をインストールし、サイトの下の方に記載してある動作確認方で
動作確認をしようとしたところ、コマンドでinsert into tast1 values("TESTDATA!"); と入れると、
error1146:table 'test.test1'doesn't exitと表記されます。
その前のコマンドcreate table test1 (field1 char(10));
までは上手く行ってるんですがそこで止まります。
それでも取り合えずPHPファイルを作りアクセスしてみると、
Warning: mysql_connect(): Access denied for user: 'zeroment@localhost' (Using password: YES) in c:\apache\htdocs\mysqltest.php on line 2

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\apache\htdocs\mysqltest.php on line 3

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\apache\htdocs\mysqltest.php on line 4

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\mysqltest.php on line 5
The data:
と出てきます。
どうか対処法を教えてください。
OSはwin2000SP4です。
649NAME IS NULL:04/12/20 17:21:09 ID:???
>>648
create table test1 (field1 char(10)); して無い気がする。
またはconnect test; する前に CREATE TABLEしたか。
650648:04/12/20 17:32:09 ID:???
create table test1 (field1 char(10));はしました。
試しにもう一度実行したらもう出来てるとでてきました。
WinMySQLAdminで確認しても存在しているみたいです。
でもなぜかinsert into tast1 values("TESTDATA!"); を実行すると
error1146:table 'test.test1'doesn't exitとでてしまいます。
651NAME IS NULL:04/12/20 19:01:27 ID:???
>>650
「USE test」でDBを選択して(CONNECT testでもいいけど)、
「SHOW TABLES;」でtest1が出来てるか確認。
なんか他のDBにtest1を作って、作った気になってるような。

それと件のページの
「insert into tast1 values("TESTDATA!");」のtast1はtest1のtypoだね。
もしかして、そっちはそのままコピペしてて、エラーメッセージは書き写したので
「error1146:table 'test.test1'doesn't exit」と"正しく"直っちゃってるのでは?
652NAME IS NULL:04/12/21 19:03:47 ID:TwMFdK75
Aテーブルの構造で
Bテーブルを作成するプログラムを書きたいのですが、
mysqldump -d だとAテーブルの名前がそのまま
create table文に入っているので、Bテーブルを作る事ができません。

何か簡単にできる方法はないでしょうか?
653NAME IS NULL:04/12/21 20:09:30 ID:???
CREATE TABLE table2 SELECT * FROM table1 WHERE 1=0;
とかどーよ?
654NAME IS NULL:04/12/21 20:19:25 ID:???
>>652
sedでも使って簡単に置換すれば良いだけ。
あと同じ構造のテーブルをぽこぽこ複製するっつうのも
データベースの使い方としてちと奇妙さを感じる。
同じ構造のDBなら結構あるけど(ユーザ毎に作るとか)
655NAME IS NULL:04/12/21 20:25:09 ID:???
>>653
うおっ、そういうやり方があるのか。
656650:04/12/21 21:08:26 ID:???
>>651
アドバイスありがとうございました。
何とか解決できました。
657NAME IS NULL:04/12/21 21:23:18 ID:???
>>653
ありがとうございました!

>>654
なるほど。
658NAME IS NULL:04/12/21 22:00:41 ID:???
>>654
んーとね、MERGEテーブルとか使うときは便利っすよ>同じ構造のテーブル。
んで、ログとかで1か月ごとにテーブルを足したりするの。

659NAME IS NULL:04/12/22 07:35:06 ID:???
MySQL4.0.23記念真紀子。

4.0系はこれで打ち止めっぽいね。
4.1系へ移行する気は無いし、そろそろPostgreSQLへ復帰する
準備を始めないといかんなぁ・・・。
660NAME IS NULL:04/12/22 11:58:53 ID:6BMH1hEX
>>653
auto_incrementの構造がうまく継承できないね。
661NAME IS NULL:04/12/22 12:17:22 ID:???
4終了
662NAME IS NULL:04/12/22 13:26:37 ID:???
>>660
あー、そうだっけ。
4.1なら
CREATE TABLE table2 LIKE table1
とか出来たハズだけど。
663NAME IS NULL:04/12/22 13:29:54 ID:???
>>660
インデックスが全部無視されちゃうっぽい
664NAME IS NULL:04/12/22 16:00:37 ID:???
pgpoolのMySQL版みたいのはどこにありますか?
665NAME IS NULL:04/12/22 17:08:58 ID:???
phpMyAdmin か?
666NAME IS NULL:04/12/22 20:07:03 ID:???
667NAME IS NULL:04/12/22 22:37:19 ID:???
MySQLのバージョン上がるたびにみんなテストしてんの?
鯖で 3.23.54 使ってるけど今順調に動いてるんで
Fix版も入れたくない
テストも関連のPHPとかクライアント動いてる
Delphiで書いたプログラムとか考えるとやりたくないなぁ
668NAME IS NULL:04/12/22 22:57:42 ID:???
場合による。
3.23系のマイナーバージョンなら、まあ上げるかな。
3.23→4.0系も、まああまり問題が無かった気がする。けど無理には勧めない。
4.1系はエンコディング周りが大幅に変わってるから、上げない。
新規プロジェクトならそろそろ4.1系を使いたいけど。
669NAME IS NULL:04/12/23 08:15:01 ID:???
漏れの場合は、
メジャーもマイナーも、
一度テストサーバでいじってみる。
で、マイナーの場合は不具合が無いことを確認して、
本番導入する。

メジャーの場合は今のアプリ(漏れの場合はEJB)で
問題無いか確認して導入。
アプリ側で問題があったら、アプリ改善として懸案して、
後々のアプリバージョンアップ時にDBもバージョン上げ

ま、外部にはMySQLだってこと黙ってるがな(ワラ
670NAME IS NULL:04/12/23 10:30:42 ID:???
いや、どんどんみんな4.0 --> 4.1に移行してくれい。
それで、マニュアル FAQの不備とかバグとか不都合とか
ごるぁしてくれい。でないと、いつまでたっても4.1系は収束
せんぞ。
671NAME IS NULL:04/12/23 12:15:07 ID:???
なんでそこまでMySQLに固執するのか疑問。
4.0までは低機能だが速い良くできたDBだったが、4.1なんて糞だろ?
672NAME IS NULL:04/12/23 16:38:19 ID:???
最近の子を与えられたものを享受することしか考えないのかね。
オープンソース振興とかいっても末端の意識がこれじゃねぇ。
673NAME IS NULL:04/12/23 17:06:11 ID:???
4.1 の評判が良くないが,ちょっといいこともある.
ちょっとづつ,従来のバグが直されているようだ.

SELECT * FROM [table_name] WHERE [column_name] <> NULL
これは一行も返さないのが正しい.

SELECT * FROM [table_name] WHERE [column_name] NOT IN (NULL)
これは,上と同じ内容を,IN 文を使って書いたもの.

後者のクエリだが,4.0系だと全行が返ってきてしまう.
4.1系だと,正しい結果(一行も返らない)になる.

多分,サブクエリの導入に伴って,SQL の間違った解釈が修正されたのだろう.
674NAME IS NULL:04/12/23 17:25:59 ID:???
修正されるのはいいのだが、従来のアプリが動かなくなるというのはそれはそれでダメだと思う

IN がおかしいのは俺もおもっていた

4.0のシステムはそのままで、新規案件はPostgresのほうに全部いった
675NAME IS NULL:04/12/23 17:53:47 ID:???
>>674
それはもっともだが,多分この修正が従来のコードに影響を与えることは
ほとんどないと思う.

なぜなら,IN の引数として明示的に NULL を与えるコードを書くことは
実際にはまず考えられないからだ.サブクエリの結果を IN に与えた
ために,引数に NULL が入る場合がほとんどだろう.

だから,サブクエリを使えるようになったバージョンから,NULL の解釈を
標準に合わせるというのは,現実的だと思う.

俺は遅くてもかしこい処理系が好きだ.選ぶなら間違いなく PostgreSQL だが,
残念ながら,DBMS を選定できる立場にいない.何もわかっていない人間が
流行りという理由で選定した MySQL を使わされている.だから MySQLが
まともな DBMS に少しずつ近づいていることを喜びたいんである.
676NAME IS NULL:04/12/23 19:21:58 ID:???
>>674
それを言ったらPostgresなんてバージョンちょっと上がっただけで
動かなかったりするっすよ。
その点ではまだMySQLのほうがマシ。
677NAME IS NULL:04/12/23 19:25:10 ID:???
IN の中にNull入れたいってのはよくあるよ

NULLはイコールで判断できないからとか

どっちにしろ今までちゃんと動いていなかったSQLだからつかわないかと
デバッグしてないコードで動いてるように見えて・・・というのはあるかもしれんが
それはバグだしな

Postgres使っていればわかるけど、MySQLと速度差はない
機能差はある
DB選択する権限もある

が、MySQLは俺も3.xから使ってきてかなりの愛着がある
それでも業務で使う場合の不具合を避けるためにはどうしようもないのだ
文字コード問題はPostgresはかなり昔から積極的に取りくんでいて
UNICODEのマッピングの問題も現実的な解決方法をとっているよ

4.1はサブクエリーが使えることで大幅にDBとしてはよくなったのは確か
でもそれ以上に問題が多いのでは本末転倒
MySQLだってInnoDBがすでにデフォだしInnoDB使ってる限り
Postgresと比べて速度的なメリットはないし

唯一の問題だったプラットフォームも8からはWindows正式対応することや
商用目的でもライセンス代がかからないこと、商用サポートがほしければ
Powergresを選べることとかいろいろある

スタンドアロンベースや本当に小規模ならHSQLDBレベルで十分だ
こちらは小さいくせにサブクエリーがきれいに動く

WindowsとLinux対応でシンプルさ考慮ではInterBaseもいいだろうけどね
5から使ってるが安定性とか癖もわかってるので扱いやすい
複数のバージョンを扱うとき面倒だけどね
678NAME IS NULL:04/12/23 21:38:18 ID:???
>>677
え、Postgresってそんなに速くなってる?
コネクションが増えると悲惨だった記憶が……。
あと、バージョン間の非互換問題とかどーなの?
最近の事情は知らないもので。

文字コードについてはPostgresのほうが進んでるのは間違いない。
だからこそ日本じゃPostgresのほうが優位なんだしね。

個人的にはInnoDBがデフォってのは間違ってると思うっすよ。
ライセンス料違うし(w
ちなみに、商用でもライセンス料はかからないっすよ?>MySQL

サブクエリーは微妙なんだよね。本当に必要なケースはそんなには多くないから。
それよりVIEWのほうが必要だと思うんだけどー。
まあ、SQLでごりごりしたい人には勧められないのは確か。


そうそう、MySQLはSolarisがベストだと思うので、
フリーになったSolarisに移行するのが良いかもとか思ってるのですが、
どーなんでしょね。
679NAME IS NULL:04/12/23 22:05:32 ID:???
楽天今でも使ってるんだっけ?
680NAME IS NULL:04/12/23 22:08:09 ID:???
さあ?
Yahoo!とlivedoorは使ってると思ったけど。
真ん中は分かんない。
681a:04/12/23 23:19:17 ID:c0t8Vv5a
今、Apache2.0使ってアプレット呼び出して、JDBC介してMySQL接続って
のをやってるんだけど、ユーザーとパスワードを設定ファイルに記述し
てアプレットと同じフォルダに置いてサーバー側から呼び出してるのね。
もちろん平文。
で、アドレスで設定ファイル名を叩くとそれが見えちゃう。そこで、
アクセス禁止にしたら今度は設定ファイルが呼び出せないからMySQLに
接続できない。
で、暗号化モジュールを作ってそれを通すことも考えたけど、暗号化
したにせよ結局その設定ファイルをダウンロードできちゃうのではい
ずれ解読されそうで怖い。
なんかいい方法ないかな?もちろん自宅鯖だよ。
682NAME IS NULL:04/12/23 23:30:15 ID:???
>>677
細かいことを言うようだが,

> IN の中にNull入れたいってのはよくあるよ
> NULLはイコールで判断できないからとか

これはいかがなものかと思う.
なぜなら,IN は本来,複数の = の省略形に過ぎないからだ.

もし NULL が IN でマッチするなら,それは MySQL のバグである.
それを利用しているなら,処理系のバグに依存した,危険なコードと
言わざるを得ないのだが.
683NAME IS NULL:04/12/24 00:01:11 ID:???
>>678
業務系でトランザクションがないってのはありえないからね
InnoDBがデフォってのは4.1からはデータベース作成するとデフォでInnoDBになってたはず

商用でもかからないってのはたしかにGPLライセンスにすればかからないが
商用製品ではあまり現実的ではない

>>682
PreparedStatement面倒なんで書きたいということはある

まぁNullは特殊な型なんでここはどうにでも
684NAME IS NULL:04/12/24 08:12:00 ID:???
>>678
Solarisがベストな理由ってなんでしょう?

個人的にはLinuxのファイルシステムは信用できないので使いたくない
と思ってるけど、理由によってはSolarisも試してみたい。
685NAME IS NULL:04/12/24 09:51:40 ID:???
SQLはSQLで定められてる仕様があるのだから、
バグで間違えた動作している部分を使うのは危険なだけだろ。
バグを期待して書くコードはバージョン挙げて動かなくなっても、
書いた人が悪いだけ。
686NAME IS NULL:04/12/24 10:46:45 ID:???
>>684
今は知らないけど、昔はMySQL ABがそう言ってたよ>Solaris

まともにスレッドが実装されてるOSだからじゃないの?
そういう意味ではWindowsもアリではあるけど。
スレッドに関してはLinuxやFreeBSDはちょっとね。

ファイルシステムもSolarisのほうがまともな印象があるけれど、
こっちはちょっと調べてない。

687NAME IS NULL:04/12/24 11:08:54 ID:???
>>686
マニュアルにはこんな記述がありますねぇ。
個人的にはFreeBSDが好きなんですが…。
ttp://dev.mysql.com/doc/mysql/ja/Which_OS.html

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

以上の基準から、現時点で MySQL を実行するのに最適なプラットフォームは、
SuSE Linux 8.2、2.4 カーネル、および ReiserFS (または類似の Linux ディストリ
ビューション)を搭載した x86 と、Solaris(2.7 〜 9)を搭載した SPARC です。
FreeBSD は第 3 位ですが、スレッドライブラリが改善されればベストグループに
仲間入りするはずです。
688NAME IS NULL:04/12/24 12:50:58 ID:???
x86Solarisではないのね
689NAME IS NULL:04/12/24 23:36:32 ID:???
4.1系で サーバ側の文字コードを UTF-8 にして使っている方,SQLの発行や
テーブルの編集にはどんなツール(Windows上の)を使っておられますか?
当方は今までのところ,ちゃんと使えたことがありません.

・CSE ... 特殊文字(鰍ネど)が化けてしまう
・DBEdit(Eclipse プラグイン)... 表示はきれいに出るが,編集すると全ての
 文字が化ける.
・MySQL Query Browser ... 機能はきれいに動くが,きわめて不安定.
・かねやん ... 試していないが,SJIS と EUC 以外駄目らしい.

今までは4.0系で CSE を使っていたので,同等の機能があれば嬉しいのですが.
どなたかお願いします.
690NAME IS NULL:04/12/24 23:47:42 ID:???
UseUnicode&UTF-8設定の JDBCのツールならOK
691NAME IS NULL:04/12/25 00:35:00 ID:???
普通にコンソール。
set names sjis
とかで。
692689:04/12/25 01:16:28 ID:???
>>690
Eclipse のプラグインもその条件に当てはまるはずなのですが,
どういうわけか,DbEdit は編集すると即,すべての文字が化けてしまいます.
何か設定がまずいのでしょうか.

>>691
「〜−梶vといった文字が化けませんか?それが困るので,クライアント側も
UTF-8でやりたいのですが.
693NAME IS NULL:04/12/25 01:30:11 ID:???
そのへんは大丈夫になったような。
まだ駄目だっけ?
694689:04/12/25 01:49:10 ID:???
>>693
少なくとも,MySQL 4.1.8 on Win2000 では,「梶vは??になってしまいます.
MS932 のマッピングが存在しないから,仕方ないとは思いますが.
これは CSE でも同じです.
CSE で,UTF-8 が使えたら良いのですが.
695NAME IS NULL:04/12/25 02:23:32 ID:???
あー、じゃあまだ作業中なのか。
やってはいるそうなので>MSCP932対応
696NAME IS NULL:04/12/25 08:51:37 ID:???
>>692
JBuilderやNetBeansで化けないのでたぶん設定かツールの問題かと
697689:04/12/25 10:52:51 ID:???
>>696
もう一度設定を調べなおしてみます.
DB 操作のためだけに NetBeans を導入してみるのも,豪儀で面白そうですが.

>>695
そうですか.MS932 対応が済んだら,コンソールでも CSE でも問題無く操作できる
ようになるでしょうね.

実は,4.0系で進行中のプロジェクトがあるのですが,サブクエリが使えないのが
あまりにも不便だったので,4.1系への移行を検討中なのです.しかし,現在は
UTF-8 しかまともに使えないということなので,試験的に文字コードを移行した
ところ,今度は周辺のツールが使えなくなって,困っています.

いずれにせよ,生産性低いなあ.4.1系がMS932に対応するまで,移行はやめた
方がいいかなあ.
698NAME IS NULL:04/12/25 11:06:27 ID:???
サブクエリーがないとたしかに厳しいが、4.1はまだ様子見かと
使いたいのならPostgresいけ
699NAME IS NULL:04/12/25 14:34:52 ID:???
こっちにもぺたぺた

varcharは文字コードをクライアントのコードページによって文字変換しないよね?

条件
アルファベットの大文字小文字の区別は無し
多言語対応(クライアントのコードページに依存しない事)


MS-SQLからMySQLへ移行しようと思ってる
700NAME IS NULL:04/12/25 14:36:47 ID:???
>>699
> MS-SQLからMySQLへ移行しようと思ってる
正直今はお薦めしない。
701NAME IS NULL:04/12/25 14:41:08 ID:???
>>700
なんで?
702NAME IS NULL:04/12/25 15:23:24 ID:???
>>701
ちっとは過去レス読みましょう。
MS-SQLサーバ使ってるようだけど今まで文字コード周りを
意識してシステム構築してるの?
703NAME IS NULL:04/12/25 15:30:56 ID:???
varcharで問題多発してるんだよ
704NAME IS NULL:04/12/25 15:31:36 ID:???
MSSQLからならPostgresのほうがよくないか?
今RC2でたところだが、カバーする範囲はそっち方面が多いだろう
705NAME IS NULL:04/12/25 20:59:55 ID:???
Mysql-4.0.22 でこんなの↓やると思ったとおりの答えが出るんだけど、
--------------
SELECT INTERVAL(7,2,4,8,16) + INTERVAL(3,1,3,5,7)
--------------

+--------------------------------------------+
| INTERVAL(7,2,4,8,16) + INTERVAL(3,1,3,5,7) |
+--------------------------------------------+
| 4 |
+--------------------------------------------+

4.1.7 と 5.0.1 で試すと
ERROR 1064 (42000): You have an error in your SQL syntax;
と言われてしまいます。
これはこういう仕様になったの? それともバグですか?
706NAME IS NULL:04/12/25 21:07:09 ID:???
MySQLもうだめぽ
707NAME IS NULL:04/12/25 22:42:20 ID:???
>>705 バグというかなんつか分からんが、
SELECT (INTERVAL(7,2,4,8,16)) + (INTERVAL(3,1,3,5,7));
なら動く。
708NAME IS NULL:04/12/25 23:11:20 ID:???
4.0 --> 4.1 移行手順のdocが糞で、あっちこっちに話が
とっちらかっていて、なにか大切なのか分かりにくい。
http://www.mysql.gr.jp/のFAQも参考になるが
これとマニュアルのどこがどう繋がるのか追うのしんどい。
709NAME IS NULL:04/12/26 01:22:51 ID:???
MySQLの勉強を始めようと思いWinXPsp2にインストールしたのですが
WinMySQLadminでMySQLに接続できません。
EnviromentのタブのMyODBCのところが
「Not Found Driver 3.51 Not Found」
となっているのですが、よろしければどなたか解決方法
教えてください。
710NAME IS NULL:04/12/26 02:06:45 ID:???
>>709
>「Not Found Driver 3.51 Not Found」
それはODBCドライバーの状態なので、例えばAccessなどから
ODBC接続するなどの場合以外には関係ない。

インストール直後に接続が出来ない、MySQLが起動してない等は
色々原因があるので、インストールに関するドキュメントをちゃんと
読んでみて原因となりそうなものをチェックしてみてください。
普通はインストールしただけで取り合えず接続は出来る状態なので
順に原因を探っていかないと判りません。訊かれた方も原因が判らんと
解決法は示唆できません。
711NAME IS NULL:04/12/26 03:02:14 ID:???
>>710
「Not Found Driver 3.51 Not Found」 って
エラーメッセージじゃなかったんですね・・・勘違いしてました
設定はあんましいじってないですが、もう一度マニュアル見てみます。
レスありがとうございました。
712705:04/12/26 17:25:04 ID:???
>>707
あ、ほんとだ括弧でくくるとエラーにならない…
なんか構文解析のバグっぽい気もするけど、これで逃げておくことにします。
713NAME IS NULL:04/12/27 18:02:20 ID:???
Windows (x86)4.1.835.9M
をインストして、ルート権限で接続したけど、データベース作れない。
一部の基本的コマンド(\q)とかは効くが、あとのコマンドが全然反応しない。
いろんなサイトみたりしたが無駄だった。
わけわかんねー。

714NAME IS NULL:04/12/27 20:00:27 ID:???
715NAME IS NULL:04/12/28 04:10:27 ID:???
多分匿名でログインしてるんだと思うよ
716NAME IS NULL:04/12/29 07:07:59 ID:???
サーバー:MySQL 4.1.7 (Linux)
くらいあんと:win2k

クライアントから、batファイル作って、サーバーにLOAD DATA/DMLを実行したいんだけど
-v -v -v オプションで実行すると発行したコマンドも出力されちゃうじゃない?
あれを結果だけ出力したいんだけど、そんなのできます?
717NAME IS NULL:04/12/29 14:03:52 ID:???
FreeBSD 5.2.1 で MySQL 4.1.8a をmakeすると

cd . && /bin/sh /usr/src/mysql-4.1.8a/missing --run makeinfo -I . --no-headers
--no-split --output manual.txt
makeinfo: missing file argument.
Try `makeinfo --help' for more information.
*** Error code 1

このあたりで止まってしまう
どうすればいいんだろう?
718NAME IS NULL:04/12/29 22:17:29 ID:???
>>717
野良ビルドかな?portsはどうやってるか、参考にしてみては。
719717:04/12/30 00:10:03 ID:???
野良ビルドってのがわかりません
ソースから./configure、make、とする方法です
makeinfo -I . --no-headers --no-split --output manual.txt
と直に打ってみてもエラーが出るので
makeinfoの使い方が間違ってるのかなー、とか思ってます

portsを調べるなんて高級な技はできません・゚゚(´□`。)°゚。ワーン
720NAME IS NULL:04/12/30 01:50:13 ID:???
MySQLの勉強をしたいと思い自分のPCにMySQLを入れて
AN HTTPD起動しつつphpMyAdminで中身いじってみてるのですが
あるときMySQLを起動していない状態でphpMyAdminを使ってみたら
普通どおり使えた(DBの中身確認できるだけじゃなくテーブル作ったりもできる)
のですが、これってなぜなんでしょう?

MySQLって起動してなくても(winmysqladmin.exeを実行中じゃなくても)
使えるものなんですか?…まぁ実際使えてるんだからそうなんだろうけど。

なんかとってもアホな質問だったらすみません。
たぶん根本的な何かが分かってないんだろうな俺。
721NAME IS NULL:04/12/30 02:11:39 ID:???
なんなんでしょう?
使い方を知りたければドキュメントを読みましょう。
仕様が知りたければソースを読みましょう。
722NAME IS NULL:04/12/30 02:35:07 ID:???
>>720
winmysqladminはMySQLの管理用クライアントアプリ。
MySQLサーバはサービスで起動しているか、
Win9xなら普通のプログラムとして実行しているか。
723720:04/12/30 02:57:02 ID:???
>>722
サービスをチェックしてみたら、その中にあったわMySQLが。
インストールしたらサービスで動作するのねMySQLって。知らんかった。
AD HTTPDみたく普通に起動させてないと動かないものと思い込んでた。

winmysqladminはあくまでも管理用のアプリで、MySQLの動作には直接は関係ないのね。
1つかしこくなりますた。レスありがd。
724717:04/12/30 07:36:26 ID:???
>>719

挫折しました
makeinfo の所はインチキ技で突破したのですが
(単に依存関係まわりで makeinfo に入力ファイル名がわたっていなかっただけ)

今度はこんなエラーが
makeinfo: Removing output file `include.info' due to errors; use --force to preserve.
なんのことだかわからない・゚゚(´□`。)°゚。ワーン
include.texi から include.info を生成する時に何かがおこってるのかな
位にしか思えなくて、会費手段不明
725NAME IS NULL:04/12/30 13:16:17 ID:???
>>724
makeinfo に -force をつけてやれば通るのでは?
726717:04/12/30 15:15:50 ID:???
>>725
ごめん、もう4.0.22を入れちゃった
727NAME IS NULL:05/01/01 13:37:31 ID:???
>>724
./configure --without-docs
728NAME IS NULL:05/01/03 18:15:54 ID:nFrxyPU7
いつもお世話になってます。
現在、自分が読んだ2chスレッドを取得するプログラムを作成中です。
取得したスレッドをテーブルに登録しているのですが、
以下の場合にだけ登録が出来なくなります(SQL文が実行されない)。
>INSERT INTO thread_news7 VALUES(1104277200, 141, "私事ですが名無しです","","05/01/01 11:02:20","K3Glvy4K","2005が出たらネ申");

「ネ申」あたりが怪しいと思い
INSERT INTO thread_news7 VALUES(1104277200, 141, "私事ですが名無しです","","05/01/01 11:02:20","K3Glvy4K","2005が出たら");

で登録したらすんなり出来ました。
どうやら「ネ申」という言葉に不思議な魔力があるようなのですが
これって何なんでしょうか?回避法などご存知でしたら教えてください。

ちなみにmy.iniでdefault-character-set=sjisとしていますが
DBに登録されるとなぜか日本語が文字化けしまくりです。
これも関係アリでしょうか?

------------
mysql:4.1.8
php:5.0.3
OS:Windows XP (SP無)
729NAME IS NULL:05/01/03 18:37:15 ID:???
申がsjisで0x90 0x5cなのでその後ろの文字がエスケープされてる
730728:05/01/03 18:44:02 ID:nFrxyPU7
>>729
ありがとうございます。そういうことだったんですね。
ところで、こういう文字ってたくさんあると思うんですが、
一つ一つ潰していくのが大変だと思います。
なんかうまいやり方ありませんか?
731NAME IS NULL:05/01/03 18:52:55 ID:???
どうしたらいいか少しは自分で調べたり考えた方が勉強になるぞ
732NAME IS NULL:05/01/03 18:54:39 ID:???
余計なお世話だったら無視してくれ。教えるのは簡単だけどさ。
733NAME IS NULL:05/01/03 22:37:14 ID:???
>php:5.0.3
>OS:Windows XP

INSERTのSQL文をPHPスクリプト中に書いてるなら、
そのPHPはスクリプトのエンコーディングにSJISが使えるように
コンパイルしてる?
734NAME IS NULL:05/01/03 22:47:50 ID:???
shift-jisの文字コードエスケープの問題はかなり有名だろ
735NAME IS NULL:05/01/04 03:15:52 ID:???
>>732
大きなお世話です。
736サザビー:05/01/04 10:58:12 ID:RpmpU4TA
本日、初めてMySQLをインストールしました。
MySQL/bin/WinMySQLadmin.exeでユーザー名などの設定をするとマニュアルに記されていますが、WinMySQLadmin.exeを立ち上げても3秒くらいで画面が落ちてしまいます。
これはなぜなのでしょうか?

ご存知の方がおられましたら教えて下さい。
737NAME IS NULL:05/01/04 11:28:14 ID:6V6teOmO
>>736
まずsageれ

タスクバー見る
738NAME IS NULL:05/01/04 11:40:54 ID:???
漏れもsage忘れた。。。吊ってくる。
739サザビー:05/01/04 12:16:09 ID:RpmpU4TA
タスクバーに注意しましたが、なにも表示されませんでした。
原因不明でしょうか?
740NAME IS NULL:05/01/05 00:53:15 ID:???
PHP4 MySQL+apache1.33 で動かしてるのですが
phpmyadminが以下のエラーが出てどうしても動きません。

扱えない拡張子のファイルです,
PHP の設定をチェックしてください。
ヘルプ

PHP自体は動く(WIKI等)のですが、これは何が原因なんでしょうか?
741php板より参りました:05/01/05 10:34:20 ID:PUk94m52
SELECT word FROM TempTable WHERE NOT EXISTS (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word);
上記のクエリをmysqlにぶち込んでみたところ
something is wrong in your syntax : EXISTS (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word); 付近と出てしまいました
これはmysqlに対する副問い合わせができていないのでしょうか。解決方法をご教授ください。
ちなみにmysqlは4ver.0.18です。
742NAME IS NULL:05/01/05 11:04:27 ID:???
INに変えてみると

SELECT word FROM TempTable WHERE NOT IN (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word);

something is wrong in your syntax : SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word); 付近と出てしまいました
743NAME IS NULL:05/01/05 14:38:55 ID:???
>>742
SELECT word FROM TempTable WHERE word NOT IN
(SELECT ng FROM ngTable);
こうしてみてくださ〜い
744NAME IS NULL:05/01/05 14:54:54 ID:???
4.0ってサブクエリ対応してた?
745NAME IS NULL:05/01/05 15:18:15 ID:???
>743 まったく同じエラーが出ましたー・・・・・
>744 サブクエリ対応は4.1系統のみなのでしょうか?
746NAME IS NULL:05/01/05 15:28:39 ID:???
>>745
多分4.1から
747NAME IS NULL:05/01/05 15:30:25 ID:???
MySQL バージョン 4.1 以降では、標準 SQL で規定されているサブクエリのすべての形式と操作に加え、MySQL 固有のいくつかの機能をサポートしています。サブクエリを使用する主な利点は次のとおりです。

クエリの各部分が互いに分離されるように、クエリを記述することができる。
複雑な結合や集合処理を必要とする操作を、それらの処理を行わずに実行できる。
(多くの人々の意見として)判読しやすい。事実、初期の SQL が ``構造化問い合わせ言語'' と呼ばれるようになったきっかけは、サブクエリにある。
バージョン 4.0 より前の MySQL では、サブクエリの使用を避けたり、その使用に対処する必要がありましたが、これからコードを書き始める人々は、サブクエリがツールキットの非常に便利な要素であることがわかるはずです。

748NAME IS NULL:05/01/05 17:52:46 ID:???
おまいらMySQLに突っ込んでるデータって何よ?
もしかしてSVNリポジトリとかMySQLに入れれる?
749NAME IS NULL:05/01/06 02:48:20 ID:???
slash
750NAME IS NULL:05/01/06 12:41:52 ID:???
質問です.
CSE で MySQL 4.0系に接続すると,次のエラーメッセージが表示されます.
(それ以外は,どの操作も問題なく実行できます)
----------------------------------------------------
アプリケーションの実行中に以下のエラーが発生しました。

エラー内容:
オブジェクト情報取得中にエラーが発生しました。

DBエラー詳細:
データベースの詳細情報を取得することが出来ませんでした。
----------------------------------------------------
これは一体なぜなのでしょうか?どうしたら解決するでしょうか?
どなたかお教えください。

環境は,MySQL 4.0.23-max(Windows2000) と,4.0.21-log(Debian Linux)
CSE ver1.59 です.
751741:05/01/06 13:46:01 ID:???
SELECT word FROM TempTable WHERE NOT EXISTS (SELECT * FROM ngTable WHERE ngTable.ng=TempTable.word);
mysql4.018でこれと同等の効果を得るにはどうしたらいいのでしょうか?
752NAME IS NULL:05/01/06 15:02:17 ID:???
SELECT word
FROM `tempTable` T
LEFT JOIN `ngTable` N ON T.word = N.ng
WHERE N.ng IS NULL

こうか?
753750:05/01/06 15:17:51 ID:???
質問の追加です.
CSE で,同じエラーを経験した方はおられませんか?

Google で検索したところ,以下の Google Cache しか見つかりませんでした.
あまり多いトラブルではなさそうです.
http://www.google.co.jp/search?q=cache:lxlDsrvQUI4J:diary.hatena.ne.jp/

この方は CSE が 2002 年からバージョンアップしていないことが原因では
ないかと推測しておられるようですが,私はそうではない気がします.

しかし,インストール直後の MySQL 4.0.23-max (Windows2000)で同じエラーが
出る理由は,私には見当がつきません.
754NAME IS NULL:05/01/06 16:00:36 ID:???
MySQLインストールできない〜〜
セットアップの最後のところ Processing configration ...
のStart service が
Could not start the service MYSQL.Error:0
とでて、cancelしか出来なくなる。
助けてください。ver 4.1.8-winです
755NAME IS NULL:05/01/06 16:14:06 ID:???
>>754
同じエラーが私も出ましたが,実はインストールは済んでいて,どういうわけか
問題なく使えました.試しに,エラーを無視して使ってみては?

サービスの起動,停止は
コントロールパネル → 管理ツール → サービス
でも出来ます.
756NAME IS NULL:05/01/06 17:12:26 ID:???
>>755
ありがとうございます。教えてもらった方法で起動してみようと
試みたところ今度は「エラー1067 : プロセスを途中で強制終了しました。」
と出てしまいました。フォルダを調べたところどうやらファイルは
正常にMySQLフォルダにコピーされているようです。
困りました…
757NAME IS NULL:05/01/06 17:18:13 ID:???
>>755
私もまったく同じ現象で困っています。
私のは4.0.23のアンインストで失敗したのが原因だと思います。
一応、Install As Windows Service の Service Name を MySQL41 など別の
名前に変更すればいけるようですが、根本的な解決になっていません。

困った。
758NAME IS NULL:05/01/06 17:19:45 ID:???
>>756
だった。間違い。
759755:05/01/06 20:13:16 ID:???
私の場合,MySQL4.0 に4.1を上書きインストールするつもりで,同じフォルダを
選んでインストールしたのですが,すると先のエラーメッセージが表示されて
インストールが正常に終了しませんでした.

「アプリケーションの追加と削除」を見ると,
4.0 と 4.1 が両方ともインストールされたという状態になっていました.
(この状態での動作は確認していません)

そこで,MySQL のサービスを止め,winmysqladminを終了し,
MySQL を 4.0, 4.1 ともにアンインストールし,その上で 4.1 を再インストール
したところ,インストールが正常終了しないのは同じでしたが,4.1 が普通に
使える状態になっていました.

mysqldump が取ってあれば,インストールの前に関連フォルダを全部消してしまう
のが安全かも知れません.

今は4.0.23に戻していますが,そのときはフォルダを消してやり直しました.
(c:\mysql)
760NAME IS NULL:05/01/07 00:45:42 ID:XMHN25LK
以下の手順でうまくいったことがあります。
Windowsディレクトリ直下に、my.iniが残っている場合があるので消してしまう。
サービスは、ServiceManager(フリーウェア)を使って削除。
761NAME IS NULL:05/01/07 19:47:58 ID:FJEeP9Vp
すんません、スレ違いだったら誘導して頂けるとありがたいです。

ServletからJDBCでMySQLを検索する練習してるんですが、
検索結果が沢山あるときに、検索サイトみたいに10件くらいずつ
表示するようにしたいんですが、これってどうやればいいんですか?
毎回検索してはじめのデータを捨てるんですか?
762NAME IS NULL:05/01/07 20:28:11 ID:???
>>761
SQLで limit を使う。
763NAME IS NULL:05/01/07 21:12:41 ID:???
>>717
遅レスだが、gmakeで難なく通った@FreeBSD4.10
764NAME IS NULL:05/01/08 02:42:44 ID:???
あるvarcharのカラムに対して、小文字のiだけ入れると大文字に変わるの私だけですかね・・
aiを入力->ai(そのまま) iを入力->I(大文字に)こんな具合に化け(?)ます。
ふと思うところがあって、SQLを直接発行したら逝けました・・。
ODBC経由で入れたらまずかったみたい。首津ってきます。
765NAME IS NULL:05/01/08 09:23:10 ID:PRicmdjx
%

mysql>
はなにが違いますか?
766NAME IS NULL:05/01/08 10:07:06 ID:???
文字が違う
767NAME IS NULL:05/01/08 11:20:14 ID:???
>>764
日記は、焼きミスったCD-Rにでも書いとけ!
768NAME IS NULL:05/01/08 12:29:42 ID:???
>>764
日記は包皮の裏にでも書いとけ!
769NAME IS NULL:05/01/08 14:06:39 ID:???
>>765
上はshellのプロンプトの可能性が高く、
下はmysqlの対話モードのプロンプトの可能性が高い。
どちらも変更可能だから、あくまでも可能性。
770NAME IS NULL:05/01/08 14:21:03 ID:???
>>761
そう、全部取って捨てる。
捨てないである程度次回に再利用できるJDBCドライバもあったはず。
MySQL4.1でLIMIT掛けてFOUND_ROWS()使う方法もあり。
771NAME IS NULL:05/01/08 19:04:35 ID:MUIjcyKf
ねえねえ、CGIのFormで、ユーザとパスワードを入れさせて、
SQL文にかませるんだけど、データをデコードしなければ、
英数字以外って、16進数だから、

$str = "SELECT * FROM users ";
$str .= " WHERE user_name = '" . $user . "' ";
$str .= " AND user_password = PASSWORD('" . $pwd . "') ";

って感じで文字列を作ってMySQLに渡せば、
SQLインジェクション対策はOKって思っていいの?
772NAME IS NULL:05/01/08 19:17:45 ID:???
>>771
ok、完璧。
773NAME IS NULL:05/01/08 19:48:57 ID:CmkzWlMw
innerjoin と
select * from aa, bb, cc where aa.id = bb.id AND aa.id = cc.id
(whereでand でくっつけるやり方)
どちらの方法がいいのでしょうか?
774NAME IS NULL:05/01/08 20:20:37 ID:???
あるデータベースだけ違うディレクトリに置くことってできますか?
775NAME IS NULL:05/01/08 21:03:56 ID:???
ディレクトリ?
容量とかが問題なのかしら
776NAME IS NULL:05/01/08 22:34:22 ID:???
InnoDB←読み方教えてください。
777NAME IS NULL:05/01/09 02:06:52 ID:???
いんのでぃーびー
778NAME IS NULL:05/01/09 06:13:31 ID:WMlak8T/
mysql.iniとmy.iniの違いってなんですか?
779NAME IS NULL:05/01/09 08:34:28 ID:XP1oo5b4
>>766

ありがとうございます。
780NAME IS NULL:05/01/09 12:15:49 ID:UjMxcVYa
>>774
MyISAMなら、最初からデータベース毎にディレクトリをつくる。

テーブル毎ならCREATE TABLEで DATA DIRECTORYオプションとか
INDEX DIRECTORYオプションで指定できる。

InnoDBなら4.1.1以降my.cnfにinnodb_file_per_tableでテーブル毎に
データファイルをつくれるようになった。
781NAME IS NULL:05/01/10 12:23:29 ID:94IELNqN
mysql5.0なのですがdrop tableしても応答がないことがあります。
コマンドプロンプトからだとまったく応答がないのですが、ctrl+cで戻ってみてみるとしっかりtableは消えているといった感じです。
応答がないためかphpに組み込んだ場合そこから先に進んでいない模様です。どのような解決方法がありますでしょうか?
782NAME IS NULL:05/01/10 17:01:11 ID:???
「自己解決、原因の切り分けができない香具師はalpha版を使わない」
というのが最大の解決方法
783NAME IS NULL:05/01/10 18:58:27 ID:???
alpha版使うんだったら英語のフォーラム行くのは必須
784761:05/01/10 19:29:58 ID:1ivAlrTW
>>762>>770
ありがとうございます。
limitで何とかなりそうです。
でも、あんまり無駄なデータの取り出しをしないためには
一番最初にcount(*)か何かでデータ数を調べないと駄目なんでしょうか。
本を参考にしてJavaBeanで検索して、LinkedListに結果レコードをしまうようにしてみたんですが
もしlimitかけずに大量のレコードがヒットしちゃったら
LinkedListがメモリ沢山使いそうで何か気持ち悪いんです。
いろいろ考えたけど、他にいい考えを思いつかない・・・
785NAME IS NULL:05/01/11 05:56:36 ID:???
FC2+MySQL3.23+PhpMyAdminでWebminから設定してます。
MySQLの「ユーザの許可」でユーザを追加しphpmyadminでアクセスすればBASIC認証でログインできましたが
てきとうなユーザ名+パスワードなしでもログインできてしまいました。
「ユーザの許可」にMySQLインストール時からある匿名ユーザにパスワードが設定されてないので
このせいだと思い設定したところMySQLが起動できなくなりました。パスをなしにすれば正しく起動します。
これは正常なのでしょうか。また匿名でのログインを許可しないように設定するにはどうしたらいいのでしょうか。
786NAME IS NULL:05/01/11 06:43:28 ID:???
リモートホストからの全ての問い合わせを拒否する設定ってどうするんでしょうか?
ローカルだけで使いたし。データ丸見えにしたくないんです。
787NAME IS NULL:05/01/11 08:13:38 ID:OFQtILMJ
javaからmysql呼び出した際にクエリーを複数送信できないんですかね?
「カーソルの状態が無効です」とか出るんですけど何でなんですかね?

javaもmysqlも素人ですが何か?
788NAME IS NULL:05/01/11 08:30:42 ID:???
>>787
で?
789NAME IS NULL:05/01/11 08:39:47 ID:???
>>788
で、できるのか否か教えてくれたら凄く嬉しい
790NAME IS NULL:05/01/11 09:21:54 ID:???
>>786
skip-networking
791NAME IS NULL:05/01/11 10:12:54 ID:???
>>790
thx
792NAME IS NULL:05/01/11 13:13:06 ID:???
>>784
limit掛けないとメモリ食うよ。

以下、何を問題にしてるのか不明なんだけど。
「limit掛けずに」とか言ってるけど、
今はlimit掛ける話をしてるわけでしょ?

“件数”と“limit掛けたデータ”の両方が欲しければ、
FOUND_ROWS()使えばいいわけだし。
793NAME IS NULL:05/01/11 20:45:09 ID:???
FOUND_ROWS()だけ教えても駄目では?
SQL_CALC_FOUND_ROWS を教えないと。

http://dev.mysql.com/doc/mysql/ja/SELECT.html
http://dev.mysql.com/doc/mysql/ja/Miscellaneous_functions.html
794NAME IS NULL:05/01/11 23:08:16 ID:a9o+a9pA
Windows XP SP2にするとMySQL自体が動かなくなりました。
mysqladminとかmysqldとか全部が・・・・・
SP2にした人で原因がわかる方、ヒントでいいのでお願いします
795NAME IS NULL:05/01/12 00:43:04 ID:???
問題なく動くよ
796761:05/01/12 01:33:36 ID:wVszRYBC
>>792-793
limitとSQL_CALC_FOUND_ROWSでなんとかできてきました。
はじめのFORMのあるページにhiddenで隠して開始番号と表示件数をパラメータにして
それをサーブレットで受け取るようにしてみました。
次のページにも検索文字列と一緒にそのパラメータもGETで渡すようにしてみてます。
でも、GETで送る日本語パラメータがちゃんと受け取れなくて困ってます・・・
URLEncoder, URLDecoderを使ってもうまくいかない・・・
797NAME IS NULL:05/01/12 01:46:05 ID:???
パラメータに#が入ってるとIEの場合だけ問題が起こるよ
798yamayasu:05/01/12 09:18:25 ID:???
MySQL-Front
http://www.mysql-front.com/

Beta Version 3.2, Build: 0.13:
Release Version 3.1, Build: 14.14
共に日本語に対応しました〜。
(データはSJISのみ対応を確認済み)
799NAME IS NULL:05/01/12 15:08:02 ID:o/4MMi5P
>>771

PASSWORD()関数を使っていたのでちょっと気になったんだけど、
MySQLオンラインマニュアルには以下のような記述があります。

-----------------------------------------------------------------
注意: PASSWORD() 関数は、MySQL サーバの認証システムで使用される。
アプリケーションでは使用しないこと。アプリケーション用には、
MD5() か SHA1() を代わりに使用する。アプリケーションでの
パスワードと認証の安全な処理の詳細については、 RFC-2195 も参照。
-----------------------------------------------------------------
http://dev.mysql.com/doc/mysql/ja/Miscellaneous_functions.html

理由はわからないけれど、sha1かmd5を使うのが無難では。
800NAME IS NULL:05/01/12 15:54:01 ID:upRH3x+c
基本的な事で質問があります。

mysqlで作成したDBの
ユーザー名とパスワードは
どうやって設定するのでしょうか?

DBは
mysqladmin create testdb
で作成するのは分かったのですが
ユーザー名とパスワードの設定方法が分かりません。

大変基本的な事で申し訳ないのですが
ご教授頂けますと幸いです。
801NAME IS NULL:05/01/12 16:21:36 ID:???
802NAME IS NULL:05/01/12 16:41:42 ID:???
>>772が一番罪深い
803NAME IS NULL:05/01/12 23:59:47 ID:???
村上氏に聞きな、間違った知識提供する著者は多いからな
804NAME IS NULL:05/01/13 01:03:54 ID:???
>>803
ok、完璧。
805800:05/01/13 12:24:04 ID:+VXpjb7J
>801さん
RESありがとうございます。
GRANTでユーザーを作成出来るのは大体わかったのですが

ユーザー名:hoge
パスワード:fuga

で作成する場合どのように表記するのか構文がわかりません、、
申し訳ないのですがお教えいただけないでしょうか?

dbは
mysqladmin create testdb
で作成いたしました。
806NAME IS NULL:05/01/13 23:15:16 ID:nSIbcpDs
foreign keyについての質問です。
馬鹿っぽいと思われるかもしれませんが、primary keyだけではなくて、titleと言う名前のvarcharフィールドも共有したいと思ってます。
具体的には
tableA
id int unsigned auto_increment primary key
title varchar(255)
・・・・・

tableB
id int unsigned primary key
title varchar(255)
・・・・・・

で、tableAのtitleを更新したらtableBにある、同一idのtitleも更新されるようにしたいのですが。
二つのテーブルで二つ以上の同一フィールドを持つ自体が、DBの最適化を知らない素人だと思われるかもしれませんが。

まずは可能か不可能か?
そして可能で有れば、どのような方法が有るのかを、是非ご教授願いたく。
よろしくお願いいたします
807761:05/01/13 23:31:33 ID:???
>>797
Firefoxからも試したりといろいろやりましたが
とりあえず自力では解決できませんでした・・・
これ以上はすれ違いなので失礼します。
limit教えてくれた皆さんはありがとうございました。
808NAME IS NULL:05/01/14 09:47:35 ID:???
>>806
MySQL4.xだとできないなぁ。
MySQL5.xで出来るかもだけど。まだ駄目かな。
809NAME IS NULL:05/01/15 01:49:21 ID:???
質問致します。。
当方winxpでMySQL4.0.22を最初に使っていたのですが
ある日突然show databases;で見たら
mysqlが消えていて・・・
自分で作ったデータベースは残ってました。
それで新しくデータベースを作ろうとしてもエラーが出て
仕方なく再インストールしても相変わらず同じ状態でした。
それで調べて、まずsc.exeというツールが有って
それをコマンドプロントからsc delet MySQLとしてからc:\に有ったmyも消しました。
その後、再インストールしたら起動しなくなってしまって
今は4.1.8を使ってるのですがこれも最初固まったままで
今は何故か動くには動くのですが
出来ればMySQL4.0に戻したいですけども
正しいアンインストールとうか再インストールって出来ますでしょうか?

長文申し訳御座いません。
810NAME IS NULL:05/01/15 02:59:01 ID:???
。。←何コレ
811なちじょあ ◆yEbBEcuFOU :05/01/15 03:08:12 ID:???
( ● ・3・ ● ) エェー 句点じゃないKANA
812NAME IS NULL:05/01/15 09:09:09 ID:???
正しい日本語で質問してくださいね。。
813NAME IS NULL:05/01/15 11:11:32 ID:???
ではまず正しい日本語の定義からはじめようか。
814NAME IS NULL:05/01/15 14:13:59 ID:???
--with-charset=ujis
815NAME IS NULL:05/01/15 16:14:09 ID:D9erU1BS
>>803

MySQLに限らず、プログラム関係の本って平気で嘘を書いているものが
少なくないしね。
本屋の立ち読みでパラパラとページをめくっていると
「お前、公式ドキュメントを読んだこと無いだろ」って
突っ込みたくなることが時々ある。

ところで村上氏って誰?
816NAME IS NULL:05/01/15 19:19:32 ID:4FHOd537
基本的な質問でごめんなさい。

VB.NETとMySQLの接続の仕方が全くわかりません。
方法の紹介がされているサイト、書籍などを知っている方がみえましたら教えて下さい。

お願いします。
817NAME IS NULL:05/01/15 19:27:07 ID:???
>>816
odbc mysql vb.net でぐるる。
818NAME IS NULL:05/01/15 19:32:30 ID:???
>>774
I/O分散について
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#ma0efab5
にちょっとだけまとまってた。
819NAME IS NULL:05/01/15 19:52:04 ID:???
>>816
MySQL? Connector/Net
http://www.mysql.com/products/connector/net/
ダウンロードしたら、中にクラスの説明やサンプルが
chmのヘルプファイルに入ってるので、それみて作る。

見ても判らないなら、MySQL(またはSQL)の一般的なことが判って無いか
ADO.NETが判って無いかなので、そっちを先に勉強する。
OOPで何らかのDBMSを操作した事があれば、サンプル見て
ごにょごにょやってるうちに直ぐに使えるようになるよ。
820NAME IS NULL:05/01/15 21:56:36 ID:4FHOd537
819さん

ありがとうございます
821NAME IS NULL:05/01/16 18:24:46 ID:npEsoqm0
ADOによる接続について質問です。

OS: Windows XP Proffessional SP2
MySQL Server Version: 4.1.8-nt
MyODBC Version: 3.5.1

データベース(home)作成後、ユーザー(home)をパスワード(home)で作成しました。

以下の接続は、成功します。
mysql -h localhost -D home -u home -p

ですが、ADOで以下の接続文字列でOPEN使用とすると
Driver=MySQL ODBC 3.51 Driver;Server=localhost;Port=3306;Database=home;User=home; Password=home;OPTION=3

ソース: Provider
コード: 8000FFFF
エラー: 致命的なエラーです。

というメッセージが表示されてしまいます。
ちなみに、DSNを使用した接続でも、同様なエラーがでました。

間違っている箇所がおわかりになりましたら、ご指摘お願いします。
822ライセンスがわからない:05/01/18 16:43:33 ID:P5wzg3Rv
ライセンスで教えてください。

 ・S社の社内WEBシステム開発を受託

 ・弊社は開発ライセンスが必要でしょうか?
 ・S社は実行ライセンスが必要でしょうか?
 ・ライセンス数はWEBサーバーが1台ならば1で良いのか?

823NAME IS NULL:05/01/18 17:31:23 ID:???
>>822
こんなところで聞いてねえで
ttp://www.softagency.co.jp/
へ池。
824NAME IS NULL:05/01/18 20:08:25 ID:???
>>822
・開発ライセンス、実行ライセンスの区別はない。
・サーバ1台なので1ライセンスでOK。Webからの接続数、ユーザ数、マシンのCPU数は問わない。
(WEB以外からMySQL社製のクライアントライブラリを利用した接続の場合は別)

825NAME IS NULL:05/01/19 01:57:01 ID:YeGNeTDn
MySQLってどのくらいまで大きくして大丈夫なのでしょうか?
あとDBを大きくし過ぎるとどんなマズイことが起こるのでしょうか?
826NAME IS NULL:05/01/19 01:59:32 ID:???
>>825
もう少し要件が具体的なほうがよろし。
827NAME IS NULL:05/01/19 02:04:54 ID:???
1ファイル4GB以上になるばあいは、create tableするまえに設定が必要。
一応そのぐらい。
あと、テーブル数があまりに多いと、OS自体の動作が遅くなる。
あとは、無駄にでかいテーブルはキャッシュのききが悪くなるかな。
828NAME IS NULL:05/01/19 02:26:07 ID:???
動画と静止画と音声データをごっちゃにして(タイムスタンプ順にする)テーブルに入れるときの
データタイプって何がいいんですか?仮に別々にするとどうですか?
829NAME IS NULL:05/01/19 02:49:20 ID:???
動画も静止画も音声データも、DBからみたらみんないっしょ。
マルチメディアデータをDBに格納するのは、メリットよりデメリットの方が上回る気が。
メリットっても精精、管理が一緒なのでバックアップが楽なぐらい。
そのバックアップの楽さも、別に管理しても極端にめんどくさくなるわけでも無いしね。
830NAME IS NULL:05/01/19 04:43:30 ID:???
>827
MySQL3で1データベース中に4万テーブルってのは見たことあるけど
普通に動いてたよ?
831NAME IS NULL:05/01/19 07:26:30 ID:???
要素じゃなくてテーブルの数が4万か・・・
832825:05/01/19 14:49:51 ID:YeGNeTDn
かなり大丈夫なのですね。
安心しました、どもです。
833NAME IS NULL:05/01/19 17:38:05 ID:???
テーブルが4万かよ...。
834NAME IS NULL:05/01/19 19:48:22 ID:???
テーブル4万で普通に動くと聞いて俺もちょっと安心した
835NAME IS NULL:05/01/19 21:27:08 ID:???
すいません、apache,MySQL,phpを入れ、自宅にhttpサーバを立てデータベースを管理しようとphpMyAdminをインストールしたんですが、パスワードを入力しphpMyAdminに入りデータなどは弄れるんですが、
ログアウトの際ログアウトのボタンを押すと、何故かログイン時の
ユーザ名とパスワードの入力画面が現れ、phpMyAdminにログインした際のユーザ名とパスワードを入れても弾かれ、消したはずのroot/パスワードを入力すると、rootでログインしてしまいログアウトできません。
どうかアドバイスをお願いします。
phpMyAdminの認証モードはhttpです。
使用環境はW2K、apache1.3.33、php4.3.10、MySQL3.23.49、phpMyAdmin-2.6.1です。
836NAME IS NULL:05/01/20 14:02:50 ID:UoPbFkOB
batchモードで実行時、
エラーなどの標準出力をログファイルとして出力する方法はありますか?
837NAME IS NULL:05/01/21 08:17:00 ID:???
エラーは標準エラー出力じゃね?リダイレクトすればいいじゃん
838NAME IS NULL:05/01/22 12:58:56 ID:jlZOSGV8
freebsd4.2で、mysql4.1-client,server,scriptをportsからいれたのですが、


#su
ほげほげ
#find / safe_mysqld  -name -print
」しても、

safe_mysqldがみあたりません。。。どうすればいいんでしょう?
839NAME IS NULL:05/01/22 14:39:36 ID:???
>>838
ドキュメントを読め、と何度いえば分かるんだ。

http://dev.mysql.com/doc/mysql/ja/mysqld_safe.html
840NAME IS NULL:05/01/23 01:23:24 ID:F1RV0zE5
FreeBSD4.10使ってるので、linuxthreadオプション付けてportsからインストールしました。
で、まあこれでOKだとは思うのですが、linuxthreadで動いてるという確証?みたいなのを確認したいんです。
コンパイルオプションを表示できたりとか他の方法でもいいので、linuxthreadで動いてるよ、って分かる方法ないですか?
841NAME IS NULL:05/01/23 03:06:33 ID:???
>>840 psとかtopで見たときに、linuxthreadなしのやつはmysqlが一人しかいないけど、
linuxthreadだとmysqlがいっぱいいる。
842NAME IS NULL:05/01/23 05:14:13 ID:7eVUqPcY
FreeBSD 5.2-RELEASEで、MYSQL4.1をポートインストールしたのですが、/etc/my,cnfを書いても、

mysql> mysql -u root -p
warning: World-writeable config file /etc/my.cnf is ignored

といわれてしまいます。

どうすればいいのでしょうか?
843NAME IS NULL:05/01/23 06:42:23 ID:???
警告メッセージの意味は無視ですか、そうですか。
844NAME IS NULL:05/01/23 14:36:38 ID:???
>>841
おお!ありがとうございます。
確認してみます。
845NAME IS NULL:05/01/23 23:09:43 ID:TsryjGr9
このDB、ADO.NETプロバイダのドライバってないのですか?
846NAME IS NULL:05/01/24 00:10:02 ID:???
>>845
ちょっとぐらいスレ嫁。
847NAME IS NULL:05/01/24 01:10:09 ID:???
>>845
ない。
848NAME IS NULL:05/01/25 23:11:46 ID:N4uy5BXa
MySQLでOLAPしてみました。ブログも書いてみた。
http://coolwww.blogtribe.org/entry-da851233c4ce07b3b3cb1d1ec93920bc.html

MySQLのシンプルなところが魅力的。
OLAPしかしないなら凝ったトランザクション分離とかしないMySQLが適してそう。
849NAME IS NULL:05/01/26 01:42:55 ID:???
今2chのスレッド検索作っていて、
検索をlike '%検索ワード%' で検索すると10数秒かかってしまいます
どうにか早くする方法ないでしょうか?
850NAME IS NULL:05/01/26 01:46:57 ID:???
正規化する
851NAME IS NULL:05/01/26 01:58:24 ID:???
正規化はもう限界なのです、、
ちなみにttp://makimo.to と同じようなことをします
ここの検索も早いしマジでどうやってやってるのか・・・
852NAME IS NULL:05/01/26 02:13:29 ID:???
制約等極力外す
853NAME IS NULL:05/01/26 11:07:06 ID:???
indexを張る
854NAME IS NULL:05/01/26 11:24:21 ID:???
>>849
前後両方にあいまい検索かけるのはどうしても遅くなる。
853の言うようにその項目にindexを張るとかしかないね。

あとはnamazuみたいな全文検索エンジンとかSQL以外を選択するとか。
検索に特化して、特殊な索引を作るから、条件があいまいになるほど
SQLよか速くなる。(件の前後同時のあいまい検索とか)
855NAME IS NULL:05/01/26 14:20:25 ID:???
Kakasi とか Chasen で文字列分割した状態で保存して
binary 指定させれば日本語でもなんとか MySQL で全文検索ができるがどうなんだろうな
856NAME IS NULL:05/01/26 14:28:36 ID:???
>>848
内容はどれもショボく見る価値もない!!っが一番下のコメント記入フォームがなんで2つあるのかが知りたい。
857NAME IS NULL:05/01/26 14:55:41 ID:???
>>851
単純に鯖パワーの問題だろ。
Opteron250x2のメモリ4GB〜&15KSCSI-HDDを5台くらいでRAID-5のマシンを2台用意して、
WebとDBを完全に分離して動作させればttp://makimo.to なんざ目じゃないほどの超高速検索ができる。
858NAME IS NULL:05/01/26 15:13:03 ID:???
と妄想してみますた
859NAME IS NULL:05/01/26 16:05:37 ID:???
力技も嫌いじゃないが、極力頭を使うようにしないと
どんどん馬鹿になる。
860NAME IS NULL:05/01/26 19:12:48 ID:???
バイナリファイルを格納してそれを問い合わせたときに
それなりのアプリケーションにデータを流し込むことってどうやるんですか?
できればその回数をカウントしてそれもデータベースに
861NAME IS NULL:05/01/26 19:17:05 ID:???
まずそのアプリケーションの口をあけさせて、そこに最初はゆっくり、最後は一気に流し込む
862NAME IS NULL:05/01/26 19:19:26 ID:???
バッチファイルでできますか?
863NAME IS NULL:05/01/26 19:44:15 ID:???
アプリケーションの口をあけさせてるの?
864NAME IS NULL:05/01/26 23:49:25 ID:???
>>849
全文検索関係のスレで聞いたほうがいいでしょ。

MySQLでも全文検索がいちおうできるしパッチを作ってる人もいるみたいだけれど、
基本的にはRDBMSは全文検索するためものではないので。
865NAME IS NULL:05/01/27 00:04:38 ID:kLWE/KJf
>>860
問い合わせた奴に返す。
866NAME IS NULL:05/01/27 01:18:57 ID:yGFL5Wie
MySQL3.23.58を使っています。
文字コードはEUC-JPです。

ごくごく一般的な顧客管理のためのシステムを作っていて、
顧客マスタテーブルには「フリガナ」というフィールドが存在します。

フリガナを部分文字列検索したいのですが、
「は」や「ま」でSELECTした場合にはうまくいくのに、
なぜか「つ」や「や」ではうまくいかず、全件ヒットしてしまいます。

原因と対策をお教え頂ければ幸いです。
867NAME IS NULL:05/01/27 01:27:36 ID:???
もまいの使っているプログラムが
(与えられた文字数が少なすぎて)文字コード自動判定に失敗していると思われ。
868NAME IS NULL:05/01/27 07:24:01 ID:???
>>866
最初から3文字以下は検索対照からはずせ。
869866:05/01/27 09:33:21 ID:???
>>867
>>868
ありがとうございます。
そうですか・・・
1文字や2文字でのLIKE検索をすることはどうしても不可能ですかね?
870NAME IS NULL:05/01/27 15:50:48 ID:???
>>869
プログラムの方の作りをもうちっとマシにすれば
可能になるんじゃねーの。hiddenで長文列渡すとか。

MySQLの話じゃ無さそうだな。
871NAME IS NULL:05/01/27 16:35:59 ID:???
>>870
>>>869
>プログラムの方の作りをもうちっとマシにすれば
>可能になるんじゃねーの。hiddenで長文列渡すとか。
>
>MySQLの話じゃ無さそうだな。
長文渡さなくても「美乳」でOKだよ。
もっと言やあ「日」でOK。
(SJIS/JIS/EUC判定の場合ね)
872869:05/01/27 18:52:05 ID:???
>>870-871
ん?なんか誤解されてるような・・・
SELECT * FROM TABLE_NAME WHERE 'フリガナ' LIKE '%ま%'
はうまくいくのに
SELECT * FROM TABLE_NAME WHERE 'フリガナ' LIKE '%や%'
がうまく行かないのはなぜ?っていう話なんですが・・・
873NAME IS NULL:05/01/27 19:57:16 ID:???
>>866
カラム、もしくは、クエリにBinary属性つけてますか?
binaryついてないと、大文字、小文字、区別しないあたりの処理で
そんな感じになることがあります。
874866:05/01/27 20:16:34 ID:???
>>873
おぉ、ありがとうございます!
Binaryつけたらうまくいきました
875NAME IS NULL:05/01/27 21:18:31 ID:???
>>873
いや、DBをきちんとEUC-JPに設定してれば
そんなこと(binaryが必要)にはならんのだが。
不適正な設定(latinとか)になってるんでないの
876866:05/01/27 22:31:32 ID:???
>>875
ほんとだ!
character setがlatin1になってました・・・
877875:05/01/27 23:54:12 ID:???
追記しておくと
http://www.mysql.gr.jp/mysqlml/mysql/msg/8328
なハメになったりする。sjisの場合だけど。
878セキュリティアラート:05/01/28 09:38:50 ID:???
「Forbot」の新亜種、MySQLを標的に拡散
http://www.itmedia.co.jp/enterprise/articles/0501/28/news013.html
879NAME IS NULL:05/01/28 22:55:25 ID:/4DtIs8m
神様、哀れな初心者をお救いください。

重複するレコードを見つけるには、group by句を使うことは解ったのですが、
最終的にチョイスされるレコードに条件を付けることは出来ますか?
例えばですが、
-------------------------------
1,ダックス,オス,3才
2,ダックス,オス,2才
3,ダックス,メス,5才
4,チワワ,オス,3才
5,チワワ,オス,2才
6,チワワ,メス,5才
-------------------------------
とデータがあるとして、

犬主で group by して、チョイスされるレコードは、若い子順にしたいのです。

なので、検索結果をこう出したいのです。
-------------------------------
2,ダックス,オス,2才
5,チワワ,オス,2才
-------------------------------
よろしくお願いします。
880873:05/01/28 23:28:46 ID:???
あらま。間違ったこと教えてしまったようで。
ごめん。勉強になった。
881NAME IS NULL:05/01/29 00:01:04 ID:???
>>879
ORDER BY
882NAME IS NULL:05/01/29 00:49:12 ID:33SCGnuL
>>881
私が知る限りの order by だと、検索結果が対象であって、
group 内の order by ってできるんですか?
883NAME IS NULL:05/01/29 00:55:55 ID:???
ダックス,メス,2才がいたらどうなっちゃうちゃう?
884NAME IS NULL:05/01/29 01:03:24 ID:lXfHR+co
>>883
とにかく、group内の orderが決められればうれしいです、神様。
885884:05/01/29 01:12:48 ID:lXfHR+co
切羽詰っているので、連続ですまそですが、
HAVING 句 をうまく使うのかな・・・
886NAME IS NULL:05/01/29 01:59:11 ID:???
キーって何?どうやって使うと(゚д゚)ウマーになるの?
887NAME IS NULL:05/01/29 05:24:20 ID:???
>>879
若い順ではなく一番若いのを抽出したいなら、
自己JOINして自分より若くないやつがいないレコードを取り出す

SELECT a.*
FROM test a
LEFT JOIN test b ON (a.kind=b.kind AND a.age > b.age)
WHERE b.id IS NULL;

こんなんで答えになってるかな?
888884:05/01/29 08:38:13 ID:lXfHR+co
>>887
レス、ありがとうです!
希望通りの検索結果が出ました。
自己JOIN というものを勉強します。
どうもでした!
889887:05/01/29 09:27:18 ID:???
>>888
>自己JOINというものを勉強
つうか、キーワードは外部結合(LEFT JOIN)な。
たまたま外部結合を自分自身で行なうから自己JOINとか
言ってみただけだ。

最初の 「select a.*」 を 「select *」 に変えて、
「 WHERE b.id IS NULL」を外して結果を見てみると
LEFT JOINのしくみが解り易いだろう。

>>883が指摘したようなレコードを入れるとこのSQLの
結果はどうなるか、とかな。

具体的な課題があって、納期や締切りがあって切羽詰ってる時の
経験が一番勉強になる。がんがれ。
890NAME IS NULL:05/01/29 09:42:13 ID:???
先日、思い立ったようにmysqlを起動させて見たら
前にパスワードを設定していたらしく、そのパスワードがどうしても思い出せなく
ログイン出来ないのですが、どうしたらいいでしょうか?

OS linux Fedora Core2
891ベタにググってみれ:05/01/29 10:19:13 ID:???
892NAME IS NULL:05/01/29 12:27:38 ID:???
>>887
おぉっ、そんな手があったのか。
今までそう言うときは別にキー作ってたよ。
こんど試してみよう。
893NAME IS NULL:05/01/29 14:35:52 ID:???
いま、887のやりかたやってみたけど、件数が多いと速度が実用的じゃないな。
いいやりかたなんだが。
894NAME IS NULL:05/01/29 19:06:35 ID:???
>>893
IS NULLが引っかかってるんじゃね?

自身と結合するのは内部結合という気がするがまぁどうでもいいな
895ちょん:05/01/29 21:56:37 ID:+Zw8o1nC
MYSQLにVB.NET(ADO)で繋ごうと思っているんですが
繋げません・・コネクションすら張れません・・
どなかたお力添えお願いします

ADOバージョン  .2.8
MYSQLバージョン 4.1
ODBCドライバ   3.5
VB.NET(STD) 2003

MYSQLサーバー
WINDOWS XP OR WINDOWS 2000
charset SJIS
他は特にいじってません。

開発環境
WINDOWS XP Pro SP2
VB.NET(STD)

COMのインポート
MSDASC
ADODB

Dim adoCo As New ADODB.Connection
adoCo.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=127.0.0.1;" & _
" DATABASE=test;" & _
"UID=root;PWD=****;OPTION=3"
adoCo.Open() オープンでエラー(致命的なエラー)
              System.Runtime.InteropServices.COMException' のハンドルされていない例外が あるらしい
adoCo.Close()

Dim adoCo As New ADODB.Connection
adoCo.ConnectionString = "dns=*****"
adoCo.Open() オープンでエラー(DNS見つからないエラー)

adoCo.Close()

もちろんDNSは登録してあります。ODBCマネージャーでからのドライバーテストは成功しています。
VBのサーバーエクスプローラーからも致命的なエラーで登録不可です。
VB.NETってCOMコンポーネントって使えないんでしょうか?
ドライバーのトレースしたんですが見方がよくわかりません。自分なりの解釈ですと
接続ハンドルがアプリケーション側に渡って来ないようなんですが・・・
ODBCドライバーも入れ替えたりしたんですが接続できませんでした。

よろしくお願いします。










896NAME IS NULL:05/01/30 17:17:30 ID:kph/mXfc
FreeBSD 5.2-RELEASEなのですが、
ps -aux | grep mysql
すると、

2つのひっかかるのですが

/bin/sh /usr/local/bin/mysqld_safe --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/31.com.pid
usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/db/mysql --pid-file=/var/db/mysql/31.com.pid --port=3306 --socket=/tmp/mysql.sock

これって変ですか?
実は、mysqlコマンドでもブラウザからでもmysqlのDBにアクセスできなくて困ってます。
どうすればいいのでしょうか?
897NAME IS NULL:05/01/30 22:30:24 ID:???
お前らに質問。
phpMyAdminでselectすると文字が化ける。
これなんで?

環境
macosx, mysql 4.1.7 , php5.03 ,phpMyAdmin 2.5.7-pl1

my.cnf でujis ,php.iniでEUC-JPを設定。

phpMyAdminのmysqlの変数を見てみると、何故かセッション値とグローバル値が異なる。
ちなみに、terminal(macosxのコマンドライン)では日本語OKなんだ。

変数        セッション値 グローバル値
character set client latin1 ujis
character set connection latin1 ujis
character set database ujis ujis
character set results latin1 ujis
character set server ujis ujis
character set system utf8 utf8

分かる奴いる?
898NAME IS NULL:05/01/30 23:21:18 ID:???
>>897
ユーザ会のFAQ見てがんばれ
899897:05/01/31 00:19:49 ID:???
>>898
それどこ?
900NAME IS NULL:05/01/31 00:22:25 ID:???
>>1も読めないクソガキが沸いてまことに申し訳ございませんでした。
以下、今までのような普通のスレをご覧ください。
901897:05/01/31 00:56:54 ID:???
>>900
ああ、それね。
見たけど、のってないのよ。
902NAME IS NULL:05/01/31 01:15:53 ID:???
>>897
>分かる奴いる?

いる。俺が超ド素人の時に同様の現象でハマった。
903NAME IS NULL:05/01/31 02:17:29 ID:???
FAQの項そのものだと思うが?
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_14

PHPもMySQLの素の状態だとlatinで問題なければOKでしょ的な
供給側のスタンスがあるからね。自分で設定やりくりせにゃ。
904NAME IS NULL:05/01/31 05:04:44 ID:???
navicat6.0.7を使用期限解除する事に成功。
たった3箇所書き換えるだけで解除できた。
解除しようと思った経緯はあるエミュを動作させるのにmysqlが必要で、
dbを管理するのに適したnavicatのうざったい使用期限を無くしてしまおうと思ったわけです。
ついでにTRIALの字消しもした。
まず使用期限云々を消すのに一箇所をEBに書き換え、
あと2箇所をそれぞれ20 20 20 20 20で埋めた。
905NAME IS NULL:05/01/31 06:00:04 ID:???
日記はチラシの裏に...
906NAME IS NULL:05/01/31 14:14:28 ID:???
公式サイトから
Windows Essentials (x86)4.19をダウンロードして
インストールしたのですがBINの中に
winmysqladmin.exeが見当たりません。
いったいどこにあるのでしょうか?
907NAME IS NULL:05/01/31 15:39:43 ID:???
4.1系では廃止

一応互換性のためにインストールもできるけど、
肝心のconfig書き換えるツールがついてるから用なしということらしい
無理やり新規上書きされるからあれも使いにくいんだけどな
908ttt:05/01/31 16:03:50 ID:ylFPCCrs
トランザクション管理におけるロールバックの必要性を. 具体例を示しながら説明する ...
909NAME IS NULL:05/01/31 16:20:15 ID:???
とちゅーまで処理してたけど、やっぱりやめたって時にろーるばっく
910897:05/01/31 22:26:33 ID:???
>>902 ,903
↓これのこと?
mysqli_options(connection, MYSQLI_READ_DEFAULT_FILE, "/etc/my.cnf");
mysqli_options(connection, MYSQLI_READ_DEFAULT_GROUP, "php");

すまんが、今のオレではどこで使えばよいかわからん。
もうちょい、手取り腰取りお願いします。
911897:05/01/31 22:50:11 ID:???
さらにすまん。
↓これのことか。
●PHP(Ruby,Perl,C,...)のアプリの変更。サーバーに接続した後にすぐ、"SET NAMES キャラクターセット名" という SQL 文を実行する
●PHP(Ruby,Perl,C,...)の MySQL モジュールの標準キャラクターセットを、自分が使うキャラクターセットにする。これはアプリの変更はない。しかし、libmysql.dll, libmysqlclient のコンパイルし直しが発生する。

上でいきたいんだが、phpMyAdminではどうすれば。。。
すまんが、腰取りお願いします。
912NAME IS NULL:05/01/31 23:56:50 ID:???
>>911
何も考えなくて良いのはPHP(のMySQLクライアント)に
パッチがあたったものを使うこと。MyNAにあったと思う。
913912:05/01/31 23:58:44 ID:???
ああ、上か。

PHPのスクリプトをgrepして該当しそうなところを書きかえ。
取り合えず自分でやってみれ。
914NAME IS NULL:05/02/01 05:46:51 ID:???
データ入れたんだけど次なにすればいいのかにゃ?
915NAME IS NULL:05/02/01 08:22:12 ID:???
俺に聞かれてもなー。
916NAME IS NULL:05/02/01 13:46:18 ID:???
>>914
エロ画像やエロコピペをデータとして保存/取り出し(閲覧)できるようなプログラムを書き、君のPCの中にある膨大な量のエロ関係を移す。
で、MySQLにパスワードをかければ、君が死んでも名誉はまもられる。
917NAME IS NULL:05/02/01 15:47:36 ID:???
>>916
ロールモデルを提案してくれ。エロペグ5万枚+2000枚/月だ。
重複チェック機能とグロ&しょぼいの検出機能は必須な。
とりあえずトランザクションは全く考慮しなくていいのでMyISAMは確定な。
918NAME IS NULL:05/02/02 08:20:59 ID:???
重複チェックはmd5でいいだろう。
もしくはmd5+ファイルサイズ。
この重複チェックを抜けるのは誤差みたいなもんだ。
見たか見てないかすら判断付かない数だから気にしなくてOK
919NAME IS NULL:05/02/02 10:45:07 ID:???
sha1使って実際にやっているが、それ以前にMySQLだと同時接続周りがショボいので
多人数で使う場合にデカいファイルで取り出しに長時間かかるとダメだったりする。
920NAME IS NULL:05/02/03 01:41:05 ID:Etcvc3Ee
MySQL-4.0.22とかねやん1.43を使ってます
かねやんで新規ユーザ登録するために
ユーザー情報で必要事項入力した後に更新を押すと「更新に失敗しました」と出ます
どうしたら登録できるようになりますか?
921920:05/02/03 02:19:29 ID:???
結局、ユーザー登録はmysqlプロンプトからやりました
でも、かねやんからデータベース作成ができないです
「設定」→「データベース作成」でサンプルを作った後に
「設定」→「テーブル新規作成」を選択する事ができません
文字が半透明になっている状態です・・・
なにか設定が足りないんでしょうか?
どうしたら「かねやん」でできるようになりますか?
922NAME IS NULL:05/02/03 12:20:38 ID:???
かねやんってなんやねん
923NAME IS NULL:05/02/03 12:35:47 ID:???
>>922
>>3 参照

かねやんに限らず、この手ので「上手く動かない」は
libmysql.dllのバージョンの差異があったりする。
924920:05/02/03 15:43:59 ID:???
>>923
あの〜すいません
何も設定してないとlibmysql.dllはないですよね、今readme見ました
すいません、逝って来ますorz
925NAME IS NULL:05/02/04 02:36:05 ID:???
バージョン4.1.9
どう工夫しても、りテーブル名に2バイト文字を使ってはダメなのか・・・
my.cnfやmyodbcの設定ではどうにもならい。
なんとかなると思って、5時間も無駄にしてましった

926NAME IS NULL:05/02/04 10:59:17 ID:j4q4WnMV
Mysql 4.1.9 をコマンドプロンプト上で動かしています。
set names 文などでサーバとクライアントのキャラクターセットを同じにしました。
statusコマンドで確認しても

Server characterset: sjis
Db characterset: sjis
Client characterset: sjis
Conn. characterset: sjis

と表示されるのですが、それでも「ソ」など 5C のコードを
含む文字が上手く insert できません。(下記の様になります)
どなかた解決方法をご教授ください。

mysql> use test
Database changed
mysql> create table my_table(moji char(10));
Query OK, 0 rows affected (0.40 sec)

mysql> insert into my_table values('あああ');
Query OK, 1 row affected (0.04 sec)

mysql> insert into my_table values('ソソソ');
'>
927926:05/02/04 11:08:36 ID:j4q4WnMV
sjis の文字コードの関係で後ろの文字がエスケープされているのは分かるのですが、
できれば文字コードは sjis のままで動作させたいと考えています。
ちなみに、同様のことは今まで使っていた 4.0.18 では問題なくできていました。
928NAME IS NULL:05/02/04 11:48:18 ID:???
SQLにSJISは鬼門
929NAME IS NULL:05/02/04 12:27:39 ID:???
>>928
SJISとSQLには何の関係もないがな

日本語周りがダメなのはMySQLだけ!
ここは他のDBにない特長といえる

930NAME IS NULL:05/02/04 21:04:15 ID:???
質問です。PHPでランキングを作っているのですが、点数が重複しているレコード
のKeyを習得してくるクエリーでシンタックスエラーが出て困っています。
できればどなたか宜しくお願いします。DBはMySQLです。

//エラーのでるクエリー。大文字で書いてあるのはテーブル、フィールド名
select * from RANK where CNT = (select CNT from RANK group by
RNK having count(CNT) > 1);
931NAME IS NULL:05/02/04 21:05:23 ID:???
一つミスです。レコードのKeyではなく、レコードを習得してくる、でした。
932NAME IS NULL:05/02/04 21:15:53 ID:???
それだけで何が分かるというのだ、君!
933NAME IS NULL:05/02/05 19:49:38 ID:???
副問い合わせの予感…
934NAME IS NULL:05/02/05 19:54:32 ID:UAvLwy1D
date型のフィールドを2つ持っているのですが
これらの時間差を計算したいのですがどうすればよいのでしょうか?
例えば17:00:00から8:30:00をひいて8:30みたいにだしたいのですが・・
935934:05/02/05 19:55:21 ID:UAvLwy1D
失礼しました。
date型じゃなくてtime型です。
936NAME IS NULL:05/02/05 20:05:03 ID:???
DATE_SUBの予感…

てかそれくらいヘルプ読め
http://dev.mysql.com/doc/mysql/ja/date-and-time-functions.html
お気に入りに入れろ
937NAME IS NULL:05/02/05 23:52:31 ID:185xDm1w
上の方でmysqlのsjisが鬼門と聞いて怖いのですが
質問させて貰います。
winxpで
mysql4.1をaccess2003で操作しようと思ってmyodbc3.51.11をインストールしました。
accessからodbcでリンクさせると繋がるには繋がるんですけども日本語入力したら
エラー#1267と出てカラムの中の表示が全部?nameになります。

エラーメッセージでsjisっとlatin1_swedishの・・collationは駄目だよ、君
と英語で怒られます。

jdbc経由でjspやサーブレット(utf-8)から使っても普通に文字化けしないですが。
出来ればユニコードで統一したかったのですがコマンドプロントはsjis以外だと
文字化けで使えないの取りあえずはmysqlをsjisで使ってます
それで一応確認の為、mysqlのstatusのコマンドで見ても文字コードは全部sjisになってるし
accessはsjisが使えないのですか?それとも自分の知らない内にlatin1になってるでしょうか・・・?

頭の良い方、どうぞよろしく御願い致します。
938NAME IS NULL:05/02/06 02:10:48 ID:???
mysqlでっていうか、mysql4.1は日本語自体に難ありじゃなかったか?
939NAME IS NULL:05/02/06 04:16:24 ID:???
4.1.x はまだ文字コードに関して安定していない。
副問い合わせが必要でない限り 4.0.x を使う方がいい
940NAME IS NULL:05/02/06 04:33:57 ID:???
過去ログ嫁
マルチやめろ
941NAME IS NULL:05/02/06 14:13:47 ID:rLKYDgcs
Mysqlを4.1.9にしてデータをUnicode(utf-8)で保存し、webでの表示上は
問題ないのですが、Dumpファイルが文字化けしてしまいます。My.cnfの設
定が悪いのかと思い、[mysqld]セクション以外にも[mysqldump]セクション、
[mysql]セクションともに、default-character-set=utf8を設定してみまし
たが、全く変化がありません。

他の理由を教えてください。
942NAME IS NULL:05/02/06 16:02:18 ID:???
そのテーブルがどういうストレージエンジンか調べるにはどうやればいいんでしょうか?
describe XXXじゃ出てこないですよね。
943NAME IS NULL:05/02/06 18:59:55 ID:???
>>942
SHOW CREATE TABLEでtypeを見る かな。
http://dev.mysql.com/doc/mysql/ja/show-create-table.html
944NAME IS NULL:05/02/06 20:39:22 ID:???
>>940

頭の悪い奴には聞いてないから出てくるな

mysql4.1と5.0で文字コードをutf8にしたら
何故かaccess2003から日本語でも操作出来た。

意味不明だしコマンドプロントからだとsjisじゃ無いから当然文字化ける
がまぁaccessでもsq文で使えるからこのまま行く羽目に・・・
945NAME IS NULL:05/02/06 23:35:21 ID:???
過去ログ嫁
マルチやめろ
946NAME IS NULL:05/02/07 00:52:00 ID:???
>>943
サンキュー
947NAME IS NULL:05/02/07 11:48:00 ID:???
サーバの MySQL バージョンを 4.0.18 から 4.0.23 にバージョンアップしたところ、
localhost 以外のクライアントからのアクセスができなくなってしまいました。
(クライアントのバージョンは 4.0.18 のまま)
そこで元のバージョン(4.0.18)に戻してみたのですが、やはり同じでした。
インストールには何も問題はなく、権限テーブルも一切変更していません。
原因としてどのような事が考えられますでしょうか?
948947:05/02/07 11:50:38 ID:???
エラーメッセージは「ERROR 2003: Can't connect to MySQL server on '192.168.90.150' (10060)」という表示になります
949NAME IS NULL:05/02/07 12:20:28 ID:TEspFIfg
>>947
/etc/my.cnfの[mysqld]にskip-networking書いてない?
950NAME IS NULL:05/02/07 12:30:42 ID:???
>>942
ああ、こっち(SHOW TABLE STATUS)で一覧取って調べた方が楽かもしんない。
http://dev.mysql.com/doc/mysql/ja/show-table-status.html
951947:05/02/07 14:18:36 ID:???
>>948
レスありがとうございます。
my.cnf というファイルは特に作成していませんが、
MySQL インストール時に作成される C:\WINDOWS\my.ini にはskip-networking とは書いてありません。
my.ini の内容は↓です。

[mysqld]
default-character-set=sjis
basedir=C:/mysql
datadir=C:/mysql/data
[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-max-nt.exe
user=○○○○
password=□□□□
[mysql]
default-character-set=sjis
[mysqldump]
default-character-set=sjis
952NAME IS NULL:05/02/07 14:29:55 ID:???
サイト内検索を考えています。

サイト内検索を行おうとする際に、Database を利用するのがいいとの事です。
それには、サイト設計をきちんと行っていないと、いけないということですが、
DATABASEを利用するのに良い、サイト設計方法等ありますでしょうか?

953NAME IS NULL:05/02/07 14:48:44 ID:TEspFIfg
>>952
Googleつかえば?
954NAME IS NULL:05/02/07 14:57:26 ID:???
RedHat7.3にmysql-3.23.58-pc-linux-i686.tar.gzを
手動でインストールしたのですが、アンインストールの方法は
どうすればよろしいのでしょうか?

先にPHPがインストールされてましてあとからMySQLをいれて
PHPから利用したいのですが、PHPinfoみてもMySQLの
情報がでてきません。
955NAME IS NULL:05/02/07 15:27:52 ID:???
>>954
手動でアンインストール。

phpは--with-mysqlでコンパイル。
956NAME IS NULL:05/02/07 20:21:26 ID:???
MySQL4.1って本当に正式版か?
windowsでperlのdbd::mysql使ってsqlをいっぺんに登録するスクリプト書いたんだが、
えらい時間が掛かって変だなと思ったら、2.5Mのデータが3.2Mに増えやがった。(w

増えてたデータってのが主キーつけてなかった所ので重複登録されてやがんの。
957NAME IS NULL:05/02/08 03:54:09 ID:???
>>952 俺もグーグルがいいとおもうよ。
大手メーカーでも、例えばHONDAなんかはサイト内検索もグーグルだよ。
958NAME IS NULL:05/02/08 08:38:41 ID:???
Google使えば、部分的な検索の制御が難しくなる。
たとえば、現在の階層以下を検索する場合とか、BBSのスレッド内のみを検索とか・・・

DBを使えば、自由自在に組み込める。

>>952
上記のような、部分的に検索させるような検索じゃなきゃGoogleとか、可能ならnamazuとか使ったほうがいい。
サイト設計っていうか、普通のHTMLページからDB対応にするには、一から設計し直したほうがいい。
必要なデータ領域は、すべてDBに格納して、JSPやPHPから読み出して表示するように・・・
で設計ファイルはXMLとかにまとめると管理が楽。管理者専用の管理ツールも作れば更新も楽。

個人でやる分には、PHPとかが一番いいと思う。超簡単。
管理・メンテ重視で鯖のパワーがそこそこある場合は、やっぱりJavaServlet/JSP/EJBで構築するのが一番。

どのみち、データベースを使うにはWeb系プログラミングの知識は必須。

959NAME IS NULL:05/02/08 12:48:18 ID:???
>>944
Accessは97以降でUnicode対応だろ
960NAME IS NULL:05/02/09 03:29:49 ID:???
毎回のアクセスでDB接続となると、接続数増えてくるとMySQLじゃやばそうだな
961NAME IS NULL:05/02/09 08:10:09 ID:???
>>960
どんなシステムの設計だよ、オィ。
962NAME IS NULL:05/02/09 09:18:47 ID:???
>>961
普通にDB対応BBSとかだとそうなるだろ。
963NAME IS NULL:05/02/09 09:22:19 ID:???
>>960
最近のDBは、そんなに脆くないよ。
一昔前のMS-ACCESSとかだと、速攻でファイル破損が起きてあぼーんだったけど・・・ってMS-ACCESSは、DBソフトか・・・

少なくとも、普通にWebサイトとして考えられるようなアクセス(数秒に1ページアクセス・5DB接続程度)なら全然大丈夫。
964NAME IS NULL:05/02/09 11:07:55 ID:???
mysqlって接続数増やしすぎるとアボーンするんじゃなかったっけ?
965NAME IS NULL:05/02/09 11:24:09 ID:???
>>964
確かに馬鹿ほど増やすとアポーンすることは知られているが、
それはアポーンするほど増えないように制限するのが普通であって。
Apacheってプロセスの寿命長くするとメモリ占有量がパンパンに
なってアポーンするよねとか言ってるのと同じようなことかと。

Postgresとか100000ぐらいコネクション張るとどうなるん?


966NAME IS NULL:05/02/09 13:11:23 ID:???
話の流れを読まずにカキコ.

同じ日時の date 型と,datetime 型を比較すると,必ず datetime 型が大きいと
判定されることが分かりました.
例えば,
date '2005-02-09' < datetime '2005-02-09 00:00:00'

つうか,これが原因のバグに半日悩みました.畜生!
ちなみにバージョンは,MySQL 4.0.23-max (win2000)ですた.
967NAME IS NULL:05/02/09 13:25:35 ID:???
>>965
100000までは行った事ないけど、25000位なら余裕で耐えてる。
968NAME IS NULL:05/02/09 13:27:08 ID:???
>>966
当たり前。
969NAME IS NULL:05/02/09 13:52:22 ID:???
>>968
なんで?どういう原理なんだろう?よろしかったら説明キボンヌ.
970NAME IS NULL:05/02/09 14:27:41 ID:???
いろいろ試してみたけれど,DATE 型のカラムと,DATETIME 型のカラムは,
決してイコールにならない.
DATETIME の時刻が '00:00:00.0000' でも,DATE より後だと判定される.
'2005-02-09 00:00:00.0000' > '2005-02-09'
'2005-02-08 23:59:59.9999' < '2005-02-09'

何でこんな実装になっているのだろうか?

971NAME IS NULL:05/02/09 15:30:35 ID:???
文字列に変換して比較されていると見た。
972NAME IS NULL:05/02/09 15:48:43 ID:???
エッエー!内部表現は UNIX 時間じゃないの?!
973NAME IS NULL:05/02/09 16:21:46 ID:???
>>971
まさかと思ったが,正解かもしれない.

SELECT '2005-02-09 00:00:00.0000' > '2005-02-09 00:00:00'

SELECT
ADDDATE('2005-02-09 00:00:00.0000', INTERVAL 0 DAY)
= ADDDATE('2005-02-09 00:00', INTERVAL 0 DAY)
, ADDDATE('2005-02-09 00:00:00.0000', INTERVAL 0 DAY)
= ADDDATE('2005-02-09', INTERVAL 0 DAY)
, ADDDATE('2005-02-09', INTERVAL 0 DAY)
, ADDDATE('2005-02-09 00:00:00.0000', INTERVAL 0 DAY)

注意して使わないと,ハマるな,こりゃ.
974NAME IS NULL:05/02/09 18:15:14 ID:???
>>971
それだと時間差分計算ができないと思うが?
975NAME IS NULL:05/02/09 18:56:04 ID:???
>>970
>'2005-02-08 23:59:59.9999' < '2005-02-09'
↑は別に問題ないでしょ。

要するに、
'2005-02-09' < '2005-02-09 00:00:00.0000' < '2005-02-09 23:59:59.9999' < '2005-02-10'

ってこと?別にそんなに違和感ないけど。
'2005-02-09' = '2005-02-09 00:00:00.0000'

ってなって欲しい気もするが、そんなもんだといわれたら納得できるくらいだけど。


976NAME IS NULL:05/02/09 19:02:45 ID:???
>>975
うん、全く違和感ない。
つうかDATETIME型とDATE型を比較するような実装が…
977NAME IS NULL:05/02/09 21:09:58 ID:07btmO1N
MySQL4.1を使っています。
カラム1|カラム2
-------------
aaaaaa|111111
aaaaaa|111111
bbbbbb|111111
cccccc|111111
aaaaaa|222222
bbbbbb|222222

というようなデータがあるとき、カラム2を指定して
カラム1の値を重複させずに、レコード数を取得しているのですが
少し時間がかかってしまい困っています。
なにかアドバイスくださいませ。

[クエリ]
select count(*) as alias from(select distinct カラム1 from table_name where カラム2 = '111111') as alias
これで0.15秒かかり、数十回まわすので、3〜4秒かかってしまう。
978NAME IS NULL:05/02/09 23:39:59 ID:???
これでどうだろう?

SELECT COUNT(DISTINCT カラム1)
FROM TABLE_NAME
WHERE カラム2 = '111111'

もし,ループがカラム2の値によるものなら,

SELECT COUNT(DISTINCT カラム1)
, カラム2
FROM TABLE_NAME
GROUP BY カラム2

これでループなし,SQL一発で値が取れる.
979977:05/02/10 00:25:33 ID:???
>>978
ありがとうございます!
DISTINCTって COUNT() でも普通に使えたのですね orz
勉強不足でした。
前者のをループされたら、早くなりました。ありがとうございます。
980NAME IS NULL:05/02/10 10:46:33 ID:???
カラム出力の制御で
select * /* - (column1,column2,..) */ from table_name;
みたいなことって出来ますか?
つまり全てのカラム出力から特定のものだけ除いて出力する方法です
981NAME IS NULL:05/02/10 13:31:32 ID:???
初歩的なことで申し訳ありませんが質問させてください。
Windowsでmysql4.1.19を使っているんですが
shell> mysqldump --opt database > backup-file.sql
などで保存するファイルの保存先はどうやって変更すればいいのでしょうか?
またその情報はどこで管理されているのでしょう?
また、リストアする時は.sqlファイルの場所の指定などどうやればいいのでしょうか?
具体的なコマンドなどで教えてください、先生お願いします!
982NAME IS NULL:05/02/10 13:43:02 ID:???
>>981
それはMySQLの話ではなくてシェルのリダイレクトの話ではないか?
983NAME IS NULL:05/02/10 13:44:36 ID:???
>>980
『全てのカラム出力から特定のものだけ除く』=『必要なカラムだけ列挙する』


>>981
shell> rename backup-file.sql C:\hoge\hoge\backup-file.sql
とすればよろし。

shell> mysqldump --opt database > C:\hoge\hoge\backup-file.sql

ならなおよろし。


ところで質問です。
>>980-981
は釣りですか
984981:05/02/10 14:12:26 ID:???
>>983
素早いレスありがとうございます。
それで保存したファイルの場所指定はできました。
ただ、パス指定しないときのバックアップファイルのデフォルトの保存場所と
読み込む場所を変えたいのですがいい方法はないでしょうか?

>>982
すみません、シェルのリダイレクトって何ですか?初心者なのでよくわかってなくてすみません。
985anonymous:05/02/10 15:21:46 ID:QzwSdLEx
pdf データを MySQL サーバーの特定のフィールドに格納は可能でしょうか?
Web上から、pdfの番号を検索して、それに該当するpdfするpdfを表示するシステムを
希望します。
986NAME IS NULL:05/02/10 15:30:09 ID:???
>>984
分からないんならググれよ
987NAME IS NULL:05/02/10 17:52:09 ID:???
もしかして>>981
「>」から右がMySQLのコマンドとか引数とかと思ってるのかもね
988981:05/02/10 19:01:59 ID:???
シェルのリダイレクトでググって調べてみたらなんとなくわかりました。
デフォルトのファイル出力位置はMySQLで設定するものじゃないんですね。
勘違いだったみたいです。失礼しました。
989NAME IS NULL:05/02/10 21:56:54 ID:???
>>985
画像や音声データなどと同様にBLOB型を使って扱える。
まあPDFは中身はフォーマッテッドテキストなので、
きちんと文字コード等を合わせてやれば、テキストとして
扱えなくもないし、場合によってはその方が良いこともある。
PDFのフォーマットに関してはオープンにされてるので
色々資料を読むなりしてください。
990NAME IS NULL:05/02/11 00:32:46 ID:???
似たような疑問が出てるので便乗。
画像ファイルをMySQLに突っ込もうとしてるんですが
perlのDBI使って入れるぶんには出来てるんですが、
これをmysqlシェル上からやる構文、みたいのはないでしょうか?
あと、この画像をbashシェル上からバッチモードでselectした際
そのまま表示するビューアとかってないでしょうかね。
$mysql -u hoge -p < fuga.sql |xv
とかやっても無理でした。環境はLinuxです。
991NAME IS NULL
漏れもMySQLに格納されているバイナリファイルを問い合わせた後の
アプリケーションにバイナリデータが流れる過程について詳しく知りたし。