トップページ⇒db
1001コメント358KB

MySQL 総合 Part3

レス数が1000を超えています。これ以上書き込みはできません。
0001NAME IS NULL04/10/04 06:18:21ID:???
快速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 にある筈
0002NAME IS NULL04/10/04 06:19:23ID:???
■ 前スレ
[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/
0003NAME IS NULL04/10/04 06:20:16ID:???
■ 関連ツール、アプリケーション
[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
0004NAME IS NULL04/10/04 07:23:38ID:???
>>1 乙です
0005NAME IS NULL04/10/04 10:10:49ID:???
乙。まあコレといってネタは無いんだが…
0006NAME IS NULL04/10/04 21:20:29ID:???
物質スレで 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
ここを見ても、漠然としていてよく分かりません。

どなたか、どうかお教えください。
0007NAME IS NULL04/10/05 18:56:49ID: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
0008704/10/05 19:08:21ID:z90Cepph
試しに一個適当なデータベースを作って消したら普通に消えました。
mydbだけ無理なようです。どうしてでしょうか?
0009NAME IS NULL04/10/05 20:01:01ID:IgcG9IUi
>>8 mydb って自分でつくったデータベース?
0010704/10/05 20:32:44ID:???
>>9
はい自分で作ったやつです。以前は問題なくけせましたが、いきなり消せなくなりました;
そもそも消せないデータベースなんて存在しまsんよね。
mysqlですら確か消せたはずですし

どうすれば消せるでしょうか?
0011NAME IS NULL04/10/05 20:33:17ID: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'

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

0012NAME IS NULL04/10/05 22:04:21ID:???
>>11
で、

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

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

ファイルシステム上で何かロックが掛かってない?
0014704/10/06 01:56:21ID:???
>>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
0015NAME IS NULL04/10/06 16:02:59ID:CAYkiHre
mysql 4.0.18
コマンドプロンプトから
C:\mysql\bin> mysql -u root -p mydb < query.sql

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

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

ちなみにquery.sqlの中身は初期設定です。
0016NAME IS NULL04/10/06 17:54:31ID:???
>>15
mysql> source query.sql
または
mysql> \. query.sql
0017NAME IS NULL04/10/06 19:05:56ID: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)するのが普通でしょうか?
0018NAME IS NULL04/10/06 19:15:30ID:???
>>17
insert into table_b (no, b) values (LAST_INSERT_ID(), 'bbb');
あるいは、アプリケーション側でmysql_insert_id()を使ってIDを取得しておいてからinsertする。
00191704/10/06 19:49:39ID:???
>>18
ありがとうございます!!
言われて調べたら、MySQLマニュアルに載ってますね orz。
お手数おかけしました。

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

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

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

このPHPを二つ同時にアクセスしているのですが、ロックされているテーブルにさらに他のプロセスがロックしようとすると
エラーが返ってくると思っているのですが違うのでしょうか・・。
0029NAME IS NULL04/10/09 20:12:49ID:???
書き忘れていました、スマソ。↑では何も表示されません。
0030NAME IS NULL04/10/09 22:59:35ID:???
>>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 となる。
0031NAME IS NULL04/10/09 23:20:36ID:???
>>30
順番が回ってくるまでそこでprocess Bが待たされているんですね。
分かりやすく説明していただいてありがとうございます^−^
flockみたいにロックできなかったらエラーを返すと思っていました・・・。
00323004/10/09 23:35:23ID:???
ロックできなかったよ、アクセスできなかったよといってqueryがすぐ
返ってきちゃう実装だと、プログラムするのがかなーり面倒くさく
なっちまうわけで。>>31
0033NAME IS NULL04/10/11 01:43:58ID:???
memberlist(リスト)
+-------+
| member|
+-------+
| 梅0号  |  
+-------+
| 梅1号 |
+-------+
| 梅2号 |
+-------+
| 梅3号 |
+-------+

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

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

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

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

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

今、私が作ってるデータベースがあるのですが、上記の様な状態になりました。
これは『ORDER BY RAND()』を使う場合はやむを得ないのでしょうか・・・。
もし解決策があったらご教示下さい。
0042NAME IS NULL04/10/12 19:34:08ID:???
>>41
seedを同じにする。
0043NAME IS NULL04/10/12 19:48:13ID:???
mysqlで正しくInnoDBが正しく入っているか
使用できる状態か確認するコマンドはありますか?
00444104/10/12 19:56:52ID:???
>>42
即レスありがとうございます。
seedについてマニュアルで調べたところ、『RAND(seed)』と発見しました。
今までPHPに記述していた『RAND()』の代わりに『RAND(seed)』と記述してみます。
ありがとうございました。
0045NAME IS NULL04/10/13 10:38:57ID:???
43です。
解決したのでレスを取り下げます。
無駄レススマソ。
0046NAME IS NULL04/10/13 12:24:01ID:/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で書き換えようかと思ったのですが
スマートじゃないですね・・
お力添えしていただけるとうれしいです。
0047NAME IS NULL04/10/13 13:16:46ID:???
>>46
UPDATE test SET block='1' WHERE place='場所の名前';

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

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

ぇっと・・mysqlマニュアルを読み漁ってました・・ゴチャゴチャになってしまったのかな。
0049NAME IS NULL04/10/13 18:48:51ID:???
まず基本的なことから勉強した方がいいと思われ
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3sql.htm
0050NAME IS NULL04/10/13 22:25:21ID:???
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

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

CPU Pen3 1.2G 1個
MEM 768M

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

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

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

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

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

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

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

インデックスが壊れていたのかなぁ。
0061NAME IS NULL04/10/15 16:49:28ID:???
show fields from A
0062NAME IS NULL04/10/17 13:56:09ID:???
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自体に何か問題があるかと思うのですが、
解決方法をご存知の方が居ましたらご教授頂ければと思います。
0063NAME IS NULL04/10/18 00:08:41ID: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でダンプを取るときも上記のように符号化したいのですが、
どのようにすればよいでしょうか?
マニュアルを読んだ限りではそれらしいオプションが無いのですが。
0064NAME IS NULL04/10/18 01:03:35ID:???
WindowsServer2003でnonインストーラーバージョンのMySQL 4.0.21を設置して、
XPとかと同様の操作でセットアップしたんですが、どうもサーバーは正常に動いてるんですが
他のアプリからDBに接続することが出来ません。何か特殊な設定が必要なのでしょうか?
0065NAME IS NULL04/10/18 10:18:49ID:???
>>64
>どうもサーバーは正常に動いてるんですが
>他のアプリからDBに接続することが出来ません。

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

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

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

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

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

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

まず、テーブルとスクリプトの文字コードを一致させる。
できない場合は問い合わせるキーワードをテーブルの
文字コードに合わせる。
また、日本語で比較するときはbinary演算子を付けると
幸せになれるかも。
0078NAME IS NULL04/10/20 23:10:08ID:???
>>76 カラムをbinary設定してみる。
0079全文検索ヲタク04/10/20 23:57:03ID: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
0080NAME IS NULL04/10/21 01:24:29ID:yiQrtLs2
すいません、教えてください。
オートインクリメントをリセットする方法ってないでしょうか?
オートインクリメントを解除する方法はあっても、リセットする方法って探しても出てこなくて・・・
どなたか、ご存知の方お願いいたします。
0081NAME IS NULL04/10/21 01:30:56ID:???
>>80
そんなことするな
0082NAME IS NULL04/10/21 02:20:17ID:???
>>80 truncateするとリセットされます
00837104/10/21 06:49:31ID:???
mysqld コマンド行オプションって何でしょうか?
ttp://web.kuicr.kyoto-u.ac.jp/manual/mysql/manual.ja_Command-line_options.html
ここでSHOW DATABASESって特権をなくセルみたいなこと書いてあるのですがいまいちわかりません。。

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

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

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

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

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

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

でもどうせ

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

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


# つうかそこでXPathが出てくるか普通?
0104NAME IS NULL04/10/22 00:16:30ID:???
>>102
php.iniをいじれなくてもini_set() で設定すればいいだろ。
0105NAME IS NULL04/10/22 00:40:48ID:???
>>103
シンプルなデータを扱いときに便利だよ>XML
01067304/10/22 01:53:41ID:???
スクリプトの文字コードと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を選択してテーブルを作成しました。
0107NAME IS NULL04/10/22 03:21:26ID:6g/IdAI6
ソフトエージェンシーにライセンスについての質問メールを
出したのですが、無視されてしまいました。
本名書いて丁寧な文章にしたのですが、無視が基本なのか
困りました。返事が貰えないと社内システムで使えるかどう
か判断つかない・・・。
0108NAME IS NULL04/10/22 03:57:41ID:???
>>106
俺は問い合わせの返事もらえてるけど?
どんな内容か知らないが、貴方の日頃の行いが…なわけねぇか。
どっち宛(一般/MySQL)に出したん?
0109NAME IS NULL04/10/22 04:40:04ID:6g/IdAI6
>>108
返事もらえてるんですか・・・・やっぱり日頃の行ないが・・・orz

問合せ先は licensing です。
「ライセンス供与に関するご質問は[email protected]にお問い
合わせください。当社からアドバイスをさせていただきます。」
と書いてあったので。
改めて別なアドレスに出してみます。
0110NAME IS NULL04/10/22 05:33:12ID:???
>>109
それってMySQL AB宛のアドレス(それもインターナショナル)だから、
英語で書かんといかんでしょ。向こうも日本語で貰っても当惑しちまうよ。
日本語で問い合わせたいなら、国内代理店宛。
俺はMySQL AB直とソフトエイジェンシー以外からは買ったことがないが、
今はソフトエイジェンシー以外の国内代理店が複数ある。
(それぞれ、分野毎で住み分けてるみたいだけど)
0111NAME IS NULL04/10/22 05:45:38ID:???
>>110
ありがとうございます。お恥ずかしいかぎりです。
国内代理店宛に聞いてみます。
ありがとうございました。
0112NAME IS NULL04/10/22 08:46:42ID:???
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でログインするには、どうしたらいいんでしょうか?
0113NAME IS NULL04/10/22 15:24:41ID:Adho7nKC
          ;' ':;,,     ,;'':;,
         ;'   ':;,.,.,.,.,.,,,;'  ';,
        ,:'           : :、
       ,:' \  ,,. 、./  ノ( ::::::::',
       :'  ●     ● ⌒   :::::i.
       i  ''' (_人_) '''' *   :::::i    ぬるぽー!!!
        :    {+ + +}      :::::i
       `:,、   ̄ ̄      ::::::::: /
        ,:'        : ::::::::::::`:、
        ,:'         : : ::::::::::`:、
0114NAME IS NULL04/10/22 20:58:52ID:???
>>112
かねやんMySQLAdminのそのバージョンとMySQL5.0.1での動作実績&対応は?
MySQL4.xあたりでは同様の操作で問題なかったか?
MySQLのコマンドラインでやった場合はどうよ?
011511204/10/23 04:06:29ID:???
>>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)
ローカル環境でやっています。
0116NAME IS NULL04/10/23 10:20:16ID:???
mysq.liniにキャラクタセットの指定がないからじゃない?
011711204/10/23 11:25:32ID:???
>>116
ごめんなさい、その通りでした。
もっとよく考えてからくるべきでした…すみません。

今のところ問題がなさそうなので、このまま製作続けます。
…なんか後1つ2つ壁がありそうなんですけど、その時にまた来てもいいでしょうか?
0118NAME IS NULL04/10/23 22:46:39ID: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
0119NAME IS NULL04/10/24 00:19:06ID:???
>mysql -u uname -p
でパスワード入れたら落ちるの?
0120NAME IS NULL04/10/24 07:06:30ID:WaBYIAQk
ssssc
0121NAME IS NULL04/10/24 11:21:58ID:???
118は、mysqlとは関係がないwindowsレベルの話でしょう
0122NAME IS NULL04/10/24 13:44:16ID:???
http://dev.mysql.com/doc/mysql/ja/Problems_with_NULL.html
count(コメント)と指定した場合、カラムコメントがNULLのレコードは数えないって書いてあるんだけど

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

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

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

Linuxの場合はClientのみインストール可能のようですが、Windowsの
場合は不可能なのでしょうか?
0124ff04/10/24 17:50:03ID: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し直しましたが、どうしても上記現象を繰り返します

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

mysql> show databases; <cr>

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

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

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

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

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

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

(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をダウンロードしろ。
0143スレ違いだったら申し訳ないです。04/10/26 04:00:04ID:???
>>142
ううぅ。ありがとうございます。
上司の命令で『覚えろ』って。ううぅ。
中途採用して頂いて、他の先輩方が今一番忙しい
時期で、仕事を教えている暇がないから、今の内に独学で
覚えておきなさいとの事で、『出来ません・無理です』なんて
口が裂けてもいえるわけがなくって…_| ̄|○

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.0にもどそう
0187NAME IS NULL04/10/28 16:54:33ID:???
って検索すると4.1は文字化けたくさんひっかかって
化けるのが普通らしいですね・・・
0188NAME IS NULL04/10/28 18:06:13ID:???
ヴァヂョンを4.0.20から4.1.7にしたら
既存のテーブルのvarcharフィールドが
勝手に切りつめられたよ!
気をつけれ!
0189NAME IS NULL04/10/28 18:11:43ID:???
>>188
メジャーバージョンを上げるのにchange logも読まんのか?
その調子じゃバックアップもとってなかったりしてw
0190NAME IS NULL04/10/28 22:54:11ID:???
コード指定の話やVARCHARの話は、前々から散々パラ
気をつけることと、MLに出てる話題なんだが…
0191NAME IS NULL04/10/28 23:03:29ID: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)
);
よろしくお願いします。
0192NAME IS NULL04/10/28 23:16:26ID:???
>>191
MySQLの初心者以前に、プログラミングの初心者?
"insert into weight values(0, year, month, day)"という文字列が
引数に与えるつうことは、int型で設定されてるフィールドに"year"とかの
文字列を指定することでしょ。

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

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

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

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

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

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

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

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

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

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

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

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

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

>遅い方のDBを一度ダンプ&リストアしてみたら?
なるほど、明日試して見ます。
序に両方のダンプリスト出力して比べてみます。
0215NAME IS NULL04/11/04 00:52:29ID:???
単にindexこわれてるんじゃないか?
myisamなら、myisamchkで直してみるのがいいかと。
0216NAME IS NULL04/11/04 03:42:54ID: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

ほかになんか指定しないとダメですか?
0217NAME IS NULL04/11/04 12:06:19ID:???
>>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
この辺を疑ってる。
0218NAME IS NULL04/11/04 21:52:45ID:???
索引を作りたいんですが、日本語で詰まってます。
A、B、Cなどアルファベットはwhere name like 'a%' などで簡単にできたんですが
日本語はどうしたらいいんでしょう?
できれば、アルファベット以外のひらがな、漢字、カナはまとめて出したいんですが…
すみませんがご教授くださいまし。
0219NAME IS NULL04/11/04 22:34:30ID:???
>>218
「読み」が入っているカラムを作成すべし。
022021804/11/05 01:16:31ID:???
>219
それはあるんですけど、ほとんどの名前が英語なので
読み順ではあまり意味がなく…

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

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

innodb_data_file_pathでテーブルごとにパスを書いていく事になるのでしょうか。
よろしくお願いします。
0227NAME IS NULL04/11/05 22:06:53ID:???
>>223
黙って走らせれば魔法のように正規化してくれるスクリプトかwww
0228NAME IS NULL04/11/06 20:38:52ID: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あたりの
構文エラーだと思うのですが何処が間違っているのか分からない状態です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

その点、雑誌などでちゃんと値札がついているものは普通の日本語なので分かり
やすいです。苦労してネット探すより本買ったほうが早い事がよくありますね。
0284NAME IS NULL04/11/14 23:50:33ID:1mWZicRn
>>278
ありがとうございます。今日買う予定だったのに仕事が長引いちゃって買えずじまい。
でもほとんど同じ内容ならあまり買う必要ないですね。
今度立ち読みして決めます。情報ありがとうございます。
0285NAME IS NULL04/11/15 11:32:38ID:???
>>282
そんなわけで、複合インデックスの張り方でクエリーのスピードがかなり変わる。
explain必須。
# 環境によってexplain結果が違うのが気になるけど。
0286NAME IS NULL04/11/15 19:10:56ID:???
結局Mysql4.1.7でコマンドラインからsjisで日本語入力に成功した人いないんだね
028728604/11/15 19:12:17ID:???
ソースからコンパイルしたmysqlでの話ね
0288NAME IS NULL04/11/15 19:40:53ID:???
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性能以前に根本的なところがだめすぎ

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

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

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

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

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

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

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

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

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

�@負荷分散
�A対障害用
0298NAME IS NULL04/11/17 02:40:24ID:???
>>296 ネタ?きもいっす
0299NAME IS NULL04/11/17 08:50:59ID:???
それかなりのスレにはられてるから無視で
0300NAME IS NULL04/11/17 14:09:29ID:g21dnorJ
auto_incrementは順に+=1になっていきますが、+=2にしたり+=3にしたりするには
どのようにしたら良いのでしょうか?
0301NAME IS NULL04/11/17 16:01:37ID: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をしても切断されます。

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

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

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

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

>>301
ping localhost はどうなる?
0306NAME IS NULL04/11/18 07:46:17ID:???
>>295
PostgreSQL 8.0からWindowsネイティブサーバ版が出るし、
アーカイブログやテーブルスペース、バックグラウンドライタ、
Point In Time Recoveryなどの機能面の強化も著しいし、
俺はもう完全に乗り換えモードに入ってる。
0307NAME IS NULL04/11/18 08:53:36ID:???
問題は今すぐにGOする仕事だ
cygwinなんつーお遊びにしか使えないものやベータはお話にならないからね
0308NAME IS NULL04/11/18 09:04:52ID:???
そりゃそうだ
0309NAME IS NULL04/11/18 09:34:31ID:???
なんでwindowsOSなんか使ってるの?
0310NAME IS NULL04/11/18 10:53:08ID:???
なんでwindows使っちゃいかんの?
0311NAME IS NULL04/11/18 11:02:27ID:???
LAMPが一蓮托生な一つのシステムだから。
0312NAME IS NULL04/11/18 11:19:13ID:???
なんだ馬鹿なのか。
0313NAME IS NULL04/11/18 12:54:01ID:???
>311
Linux+Apache+Mod_perl+PostgreSQLでLAMP
0314NAME IS NULL04/11/18 13:42:34ID: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;
というやり方の違いを教えてください。本などでは、下の方のやり方が
載っているのですが、結果はどちらも同じなので、どっちを使っても
良いのでしょうか?
0315NAME IS NULL04/11/18 13:53:35ID:???
>>314
逆に「差があるかもしれない」と思った根拠を
400字詰め原稿5枚以上で聞きたい。
031631404/11/18 14:01:10ID:???
>>315
もしかしたら、自分の想像以上の場面で差が出てくるのではないかと
勝手に妄想していました。違いはないのですね。
ありがとでした。
031730104/11/18 16:05:33ID:???
>304
hostsには登録されており、Apacheを起動してhttp://localhost/にアクセスすることはできます。
>305
Pingとおります。
ちなみに、Win2000でWinMySQLadminでは緑ランプが着いています。

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

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

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

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

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

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

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

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

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

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

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

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

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

お手軽なMysqlは4.0までで死んだと思っていい
いまだ改善されるような気配はまったくなし
0328NAME IS NULL04/11/20 08:52:03ID:???
>>327
> 機種依存文字やMS932特有のマッピングとかがだめってことさ
MySQL ABに文句言わなきゃ永久に改善されない。
現状でもヨーロッパのマイナーなエンコーディングは豊富だ。
奴らの眼中にはMS932なんか入ってない
0329host の照合04/11/20 08:53:23ID:FkeuyIou
接続の段階で、まずホストとユーザの組み合わせが
照合されます。このときホストとして %.ore.no.domain
とか ore.no.domain.% (これはあんまり実用できでない)
のように記述できますが、DNS で逆引きして照合している
ということなのでしょうか?
0330NAME IS NULL04/11/20 11:15:33ID:???
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だと問題は無いんですけどね。
033132604/11/20 11:50:33ID:7DJGkDc+
>>327
>>328

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

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

4.1.4あたりまではバグ大量にあった希ガス
0340NAME IS NULL04/11/20 17:06:04ID:YR3w1XCn
MySQLコマンドに日本語が入力できなくて困っています。
ttp://www.atmarkit.co.jp/flinux/rensai/mysql01/mysql01.html
↑このサイトの通りインストールしてみたのですが、なにがどうおかしいのか
さっぱりです。
MySQL4.1.7でFedoraCore2を使っています。
0341NAME IS NULL04/11/20 17:13:55ID:???
>>336
開発用のローカルサーバですよ。
まさか本サーバ使って開発するわけにもいきませんでしょ。

>>337>338
漏れに言われてもなぁ。
漏れが入れたわけじゃないし元から有ったシステムだし。
別に4.1.1に合わせたわけでも無いし。
同じDBで他に動いてるシステムも有るし。
0342NAME IS NULL04/11/20 17:16:53ID:FkeuyIou
>>341
> 漏れに言われてもなぁ。
> 漏れが入れたわけじゃないし

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

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

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

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

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

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

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

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

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

次いこ、次。
0374NAME IS NULL04/11/21 16:55:56ID:???
>>372

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

そのバグが再現するようなダミーテーブルをアップしてもらえれば、
テスト環境を持っているLinuxユーザに追試してもらえるかも。
俺はあいにく4.1.7は使っていないので協力できないが。
043733004/11/23 03:08:04ID:???
>>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;
な感じで。
0438NAME IS NULL04/11/23 03:46:09ID:???
>>434
機能増にあわせて確かにサイズが大きくなる傾向はあるが、
そんなに増えてないよ。単体で大体4MB
Windowsのアーカイブが大きいのはWin9x/NT/組み込み版/Debugとかの
バイナリーが全部入ってるため。そのバイナリーも4.0以降だと
InnoDBサポートがデフォになってるんで、もっとMyISAMだけとかに
限定してビルドすれば、もちっと小さくなる。
組み込みのlibmysqldが3.5MBだしね。
043929704/11/23 06:13:19ID:???
>>362
レスどうもです。

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

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

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

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

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

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

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

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

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

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

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

俺っておばか。

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

とりあえず462さんのおっしゃっていることを調べてみようと思います。
046446204/11/25 18:08:35ID:???
俺の時はsyntax error
\/・
だかなんだかってエラーだったような気がする
ちゃんと覚えてないけど。
0465NAME IS NULL04/11/26 11:33:20ID:???
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の設定かなんかで、
なにかやらかしてるんじゃないかと考えたのですが、
パフォーマンスアップのアドバイスをお願いします・・・。
0466NAME IS NULL04/11/26 11:34:58ID:???
天気がいいのでちょっとドラクエ買ってきます
0467& ◆LMRaV4nJQQ 04/11/26 20:29:12ID:RcXyH7zp
>>465

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

# ln -s mdb.master_t master_t

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

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

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

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

MySQL Front
http://mysql-front.com/
0477NAME IS NULL04/11/29 13:03:35ID:???
たまに>>476のような書き込み見るが、こういう香具師は毎回スレ立てする人は同じだと思っているんだろうか
0478NAME IS NULL04/11/29 17:39:07ID:???
>>476みたいなカキコミは950過ぎてからじゃないと意味ないな
047945204/11/29 22:03:17ID: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'});
こんな感じです

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

DBI は INST_VERSION 1.46
DBD::mysql は INST_VERSION 2.9004

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

4.1.7では完全にばけないようなDBは難しいかもしれない
4.0.*はさくっといく
0482NAME IS NULL04/11/29 23:22:37ID:???
mysql.cnfはどーなってる?
048345204/11/30 00:39:09ID:bbv+nqA1
my.cnf には
[mysqld]
[mysqldump]
[mysql]
で
default-character-set = ujis
を記述しています

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

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

とりあえず現在はshow create tableで見てテーブル名を変えて新しく作る
というやり方をしているのですが、なにか良い方法はありますでしょうか?
(MySQL4.1.7)
0486NAME IS NULL04/11/30 17:54:53ID:???
>>485
create table hoge select * from foo;
048745204/11/30 22:57:36ID: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にコネクトする時に、漢字コードを指定したりできますか?
0488NAME IS NULL04/11/30 23:13:48ID:???
手持ちの動画やら画像やらを全部MySQLで管理したいんですが
入力がめんどい。入力支援アプリとかありますか?
0489NAME IS NULL04/11/30 23:41:14ID:???
queryごとjcodeか何かで文字コード変える。
ってか、テーブル名をascii文字だけに変えろ。
0490NAME IS NULL04/12/01 01:20:26ID:???
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では接続できました。なんで?

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

PHPは使ったことないですが、PHPからどうなるか試してみようと思います
0492NAME IS NULL04/12/01 10:42:00ID:???
>>488
お前まだできてないのか?
ずいぶん前から同じこと逝ってるみたいだが
0493NAME IS NULL04/12/01 23:04:46ID:???
質問させて下さい。
/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 ファイルは存在しませんでした。
0494NAME IS NULL04/12/01 23:44:29ID:???
>>490
ODBCドライバを入れて、ODBCでつなぐ。
MySQL4.x系のlibmysql.dllのライセンスが、LGPLからGPLに変わった、という
話があって、cseは新しいlibmysqlには対応していない、っぽい。
##googると作者のメールがでてくる。
0495NAME IS NULL04/12/01 23:59:04ID:???
>>493
力になれるかどうか分からんが。
/etc/init.d/ だっけ、sysv系のサーバ起動設定があるよな。
そいつ使うとどうなる?
049649304/12/02 00:18:55ID:g8vNek+S
起動時のオプションを/etc/my.cnfに記述する形でしょうか?
手順は、このサイトを参考にインストールしたのですが、

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

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

/etc/init.d/mysql start

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

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

sudo /usr/local/bin/mysqld_safe --user=mysql &
とかは?
050049904/12/02 01:27:32ID:???
ごめん。
sudo /usr/local/bin/mysqld_safe --user=mysql
と打って、パスワードを入れてC-z、bgかな。
050149304/12/02 02:06:52ID: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
050249304/12/02 02:09:52ID: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
050349904/12/02 02:44:20ID:???
>>501
mysqlというユーザーは作ってある?
WindowsとかMac OS X のユーザーじゃなくてMySQL(-u rootで起動)で
作成されたユーザーのことだよ。

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

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

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

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

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

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

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

4.0まではMysqlはそれなりに使いやすかったけど
4.1の問題の多さからもその辺考えるならPostgresにいったほうが楽だな
0524NAME IS NULL04/12/03 14:40:03ID:suEyEb2+
MySQLってTRIGGER使えるの?
0525NAME IS NULL04/12/03 18:40:11ID:???
実装されてない。と言うかViewとTriggerはさっぱりやる気無しな悪寒。
0526NAME IS NULL04/12/03 20:10:01ID:???
トリガは、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)
0527NAME IS NULL04/12/03 20:17:39ID:???
5.xよりさっさと4.1で日本語をちゃんととおるようにしる
0528NAME IS NULL04/12/03 21:59:02ID:Y2kchYKl
>>517
>>519

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

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

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

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

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

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

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

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

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

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

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

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がまずいのでしょうか・・?
0541NAME IS NULL04/12/05 20:34:58ID:???
Postgres8なんてあったのか・・・
054254004/12/05 21:30:13ID:???
MySQL 4.0にしました・・・
うまくいきましたのでコレで行きます・・・
0543NAME IS NULL04/12/05 22:30:20ID:igY4mK2i
MERGEテーブルを作りたいのですが、createの時にカラムを省略して、unionするテーブルと
同じ型にするにはどのようにしたら良いでしょうか?

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

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

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

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

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

後、かねやんで新規アカウントを作るのは辞めたほうが良い
055555304/12/06 17:44:33ID: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
こんなかんじにエラー出てしまいます。

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

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

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

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

どうも"ホスト"の概念が理解できてないように思う。
上の場合のエラーは本人は別の端末から接続してるつもりなのかもしれないが
エラーを見るとlocalhostからの接続になっている。
下の場合、ホストの指定はクライアントから接続"先"のホスト(MySQLサーバ)を
指定するオプションであって、接続"元"を定義する訳ではない。
0565NAME IS NULL04/12/07 00:16:42ID:???
show table status;で表示される
Auto_incrimentの値をPHPで取ってきたいんですが
どのような方法がありますでしょうか?
0566NAME IS NULL04/12/07 00:59:48ID:???
>>565
mysql_query("show table status");
で返って来る結果はSELECT文と同じ扱い。
通常のSELECT文と同じやりかたでPHP側は情報を取得できる。これを使う。
056754604/12/07 07:17:52ID:???
>>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とかはあまり使い慣れない(使うときはほとんどサンプルのコピペ)ので、もう少し考えてみます。
0568NAME IS NULL04/12/07 11:11:30ID:2Ky/TsZq
Aという列がnullのデータだけひっぱってきたい場合は、

Select * From TableName Where A

の後何て書けばいいんでしょうか…。
0569NAME IS NULL04/12/07 11:26:41ID:???
>>568
名前欄・・・
0570NAME IS NULL04/12/07 11:26:52ID:???
A IS NULL
0571NAME IS NULL04/12/07 11:32:58ID:???
>>568-569
爆笑したw
057256804/12/07 11:37:57ID:2Ky/TsZq
ホントだ(爆)
無事皆様に笑いを与えることができますた。
有難うございました(´Д⊂
0573NAME IS NULL04/12/07 13:01:20ID: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
でやりましたが上手く出来ませんでした、根本的に間違っているんでしょうか?
057457304/12/07 13:01:47ID:???
sage忘れスイマセン。
0575NAME IS NULL04/12/07 13:20:36ID:e8qZACAq
Like 'オ%' を検索すると 'ナ' がヒットするよ、、orz
0576NAME IS NULL04/12/07 13:40:39ID:???
オナ% で検索すると ニ がヒットするよ(*´Д`*)
0577NAME IS NULL04/12/08 01:17:14ID:wTGp1/m/
oracle→MYSQLにデータを移行したいのですが一番いい方法はなんですか?
�@Oracle→オブジェクトブラウザー又はアクセスでCSV→そのCSVをPHPプログラムでMYSQL
0578NAME IS NULL04/12/08 11:22:04ID:???
今初心者用の本を読みながらPHPとMYSQLの勉強をしているのですが
アパッチのサイトが見れなくてアパッチがインストールできません。
http://www.apache.jp/misc/download.html
どこかほかにインストールできるとこしりませんか??
0579NAME IS NULL04/12/08 12:17:28ID:vav5ho8n
>>577
WindowsクライアントにODBCを設定し、Navicatで接続してMySQLへエクスポート
0580NAME IS NULL04/12/08 13:14:54ID:???
>578

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

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

今日はちょっと時間が無いので、明日にでも
再現条件が確定してるSQL文を載せますね。
0590NAME IS NULL04/12/09 17:36:03ID:eosrnkcl
お祭りが始まる予感
0591NAME IS NULL04/12/09 22:02:49ID:???
>>588
ありが�d�d!(・∀・)
059258204/12/10 12:34:12ID: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

成功します。
059358204/12/10 12:36:04ID: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;

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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


ツカエネー
0644NAME IS NULL04/12/18 06:22:08ID:3dqMZ2Yk
4.0でサブクエリーが使えないのは仕様ですよね?
0645NAME IS NULL04/12/18 10:31:46ID:???
>>644
仕様です。
064663504/12/18 19:37:29ID:???
ウホッ、良い男(^ε^)
0647NAME IS NULL04/12/18 19:56:14ID:???
>>635
そういや同じ質問(バグレポート)を本家のMLで投げてる香具師がいたな。
0648NAME IS NULL04/12/20 16:57:26ID:???
すいません、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です。
0649NAME IS NULL04/12/20 17:21:09ID:???
>>648
create table test1 (field1 char(10)); して無い気がする。
またはconnect test; する前に CREATE TABLEしたか。
065064804/12/20 17:32:09ID:???
create table test1 (field1 char(10));はしました。
試しにもう一度実行したらもう出来てるとでてきました。
WinMySQLAdminで確認しても存在しているみたいです。
でもなぜかinsert into tast1 values("TESTDATA!"); を実行すると
error1146:table 'test.test1'doesn't exitとでてしまいます。
0651NAME IS NULL04/12/20 19:01:27ID:???
>>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」と"正しく"直っちゃってるのでは?
0652NAME IS NULL04/12/21 19:03:47ID:TwMFdK75
Aテーブルの構造で
Bテーブルを作成するプログラムを書きたいのですが、
mysqldump -d だとAテーブルの名前がそのまま
create table文に入っているので、Bテーブルを作る事ができません。

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

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

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

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

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

ま、外部にはMySQLだってこと黙ってるがな(ワラ
0670NAME IS NULL04/12/23 10:30:42ID:???
いや、どんどんみんな4.0 --> 4.1に移行してくれい。
それで、マニュアル FAQの不備とかバグとか不都合とか
ごるぁしてくれい。でないと、いつまでたっても4.1系は収束
せんぞ。
0671NAME IS NULL04/12/23 12:15:07ID:???
なんでそこまでMySQLに固執するのか疑問。
4.0までは低機能だが速い良くできたDBだったが、4.1なんて糞だろ?
0672NAME IS NULL04/12/23 16:38:19ID:???
最近の子を与えられたものを享受することしか考えないのかね。
オープンソース振興とかいっても末端の意識がこれじゃねぇ。
0673NAME IS NULL04/12/23 17:06:11ID:???
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 の間違った解釈が修正されたのだろう.
0674NAME IS NULL04/12/23 17:25:59ID:???
修正されるのはいいのだが、従来のアプリが動かなくなるというのはそれはそれでダメだと思う

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

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

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

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

俺は遅くてもかしこい処理系が好きだ.選ぶなら間違いなく PostgreSQL だが,
残念ながら,DBMS を選定できる立場にいない.何もわかっていない人間が
流行りという理由で選定した MySQL を使わされている.だから MySQLが
まともな DBMS に少しずつ近づいていることを喜びたいんである.
0676NAME IS NULL04/12/23 19:21:58ID:???
>>674
それを言ったらPostgresなんてバージョンちょっと上がっただけで
動かなかったりするっすよ。
その点ではまだMySQLのほうがマシ。
0677NAME IS NULL04/12/23 19:25:10ID:???
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から使ってるが安定性とか癖もわかってるので扱いやすい
複数のバージョンを扱うとき面倒だけどね
0678NAME IS NULL04/12/23 21:38:18ID:???
>>677
え、Postgresってそんなに速くなってる?
コネクションが増えると悲惨だった記憶が……。
あと、バージョン間の非互換問題とかどーなの?
最近の事情は知らないもので。

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

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

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


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

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

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

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

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

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

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

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

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

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

0687NAME IS NULL04/12/24 11:08:54ID:???
>>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 位ですが、スレッドライブラリが改善されればベストグループに
仲間入りするはずです。
0688NAME IS NULL04/12/24 12:50:58ID:???
x86Solarisではないのね
0689NAME IS NULL04/12/24 23:36:32ID:???
4.1系で サーバ側の文字コードを UTF-8 にして使っている方,SQLの発行や
テーブルの編集にはどんなツール(Windows上の)を使っておられますか?
当方は今までのところ,ちゃんと使えたことがありません.

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

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

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

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

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

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

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

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


MS-SQLからMySQLへ移行しようと思ってる
0700NAME IS NULL04/12/25 14:36:47ID:???
>>699
> MS-SQLからMySQLへ移行しようと思ってる
正直今はお薦めしない。
0701NAME IS NULL04/12/25 14:41:08ID:???
>>700
なんで?
0702NAME IS NULL04/12/25 15:23:24ID:???
>>701
ちっとは過去レス読みましょう。
MS-SQLサーバ使ってるようだけど今まで文字コード周りを
意識してシステム構築してるの?
0703NAME IS NULL04/12/25 15:30:56ID:???
varcharで問題多発してるんだよ
0704NAME IS NULL04/12/25 15:31:36ID:???
MSSQLからならPostgresのほうがよくないか?
今RC2でたところだが、カバーする範囲はそっち方面が多いだろう
0705NAME IS NULL04/12/25 20:59:55ID:???
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;
と言われてしまいます。
これはこういう仕様になったの? それともバグですか?
0706NAME IS NULL04/12/25 21:07:09ID:???
MySQLもうだめぽ
0707NAME IS NULL04/12/25 22:42:20ID:???
>>705 バグというかなんつか分からんが、
SELECT (INTERVAL(7,2,4,8,16)) + (INTERVAL(3,1,3,5,7));
なら動く。
0708NAME IS NULL04/12/25 23:11:20ID:???
4.0 --> 4.1 移行手順のdocが糞で、あっちこっちに話が
とっちらかっていて、なにか大切なのか分かりにくい。
http://www.mysql.gr.jp/のFAQも参考になるが、
これとマニュアルのどこがどう繋がるのか追うのしんどい。
0709NAME IS NULL04/12/26 01:22:51ID:???
MySQLの勉強を始めようと思いWinXPsp2にインストールしたのですが
WinMySQLadminでMySQLに接続できません。
EnviromentのタブのMyODBCのところが
「Not Found Driver 3.51 Not Found」
となっているのですが、よろしければどなたか解決方法
教えてください。
0710NAME IS NULL04/12/26 02:06:45ID:???
>>709
>「Not Found Driver 3.51 Not Found」
それはODBCドライバーの状態なので、例えばAccessなどから
ODBC接続するなどの場合以外には関係ない。

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

0714NAME IS NULL04/12/27 20:00:27ID:???
>>713
ここが参考になるかも。

http://www.pahoo.org/e-soul/webtech/mysql01/mysql03-01.shtm
0715NAME IS NULL04/12/28 04:10:27ID:???
多分匿名でログインしてるんだと思うよ
0716NAME IS NULL04/12/29 07:07:59ID:???
サーバー:MySQL 4.1.7 (Linux)
くらいあんと:win2k

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

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

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

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

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

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

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

今度はこんなエラーが
makeinfo: Removing output file `include.info' due to errors; use --force to preserve.
なんのことだかわからない・゚゚(´□`。)°゚。ワーン
include.texi から include.info を生成する時に何かがおこってるのかな
位にしか思えなくて、会費手段不明
0725NAME IS NULL04/12/30 13:16:17ID:???
>>724
makeinfo に -force をつけてやれば通るのでは?
072671704/12/30 15:15:50ID:???
>>725
ごめん、もう4.0.22を入れちゃった
0727NAME IS NULL05/01/01 13:37:31ID:???
>>724
./configure --without-docs
0728NAME IS NULL05/01/03 18:15:54ID: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無)
0729NAME IS NULL05/01/03 18:37:15ID:???
申がsjisで0x90 0x5cなのでその後ろの文字がエスケープされてる
073072805/01/03 18:44:02ID:nFrxyPU7
>>729
ありがとうございます。そういうことだったんですね。
ところで、こういう文字ってたくさんあると思うんですが、
一つ一つ潰していくのが大変だと思います。
なんかうまいやり方ありませんか?
0731NAME IS NULL05/01/03 18:52:55ID:???
どうしたらいいか少しは自分で調べたり考えた方が勉強になるぞ
0732NAME IS NULL05/01/03 18:54:39ID:???
余計なお世話だったら無視してくれ。教えるのは簡単だけどさ。
0733NAME IS NULL05/01/03 22:37:14ID:???
>php:5.0.3
>OS:Windows XP

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

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

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

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

PHP自体は動く(WIKI等)のですが、これは何が原因なんでしょうか?
0741php板より参りました05/01/05 10:34:20ID: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です。
0742NAME IS NULL05/01/05 11:04:27ID:???
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); 付近と出てしまいました
0743NAME IS NULL05/01/05 14:38:55ID:???
>>742
SELECT word FROM TempTable WHERE word NOT IN
(SELECT ng FROM ngTable);
こうしてみてくださ〜い
0744NAME IS NULL05/01/05 14:54:54ID:???
4.0ってサブクエリ対応してた?
0745NAME IS NULL05/01/05 15:18:15ID:???
>743 まったく同じエラーが出ましたー・・・・・
>744 サブクエリ対応は4.1系統のみなのでしょうか?
0746NAME IS NULL05/01/05 15:28:39ID:???
>>745
多分4.1から
0747NAME IS NULL05/01/05 15:30:25ID:???
MySQL バージョン 4.1 以降では、標準 SQL で規定されているサブクエリのすべての形式と操作に加え、MySQL 固有のいくつかの機能をサポートしています。サブクエリを使用する主な利点は次のとおりです。

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

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

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

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

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

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

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

困った。
0758NAME IS NULL05/01/06 17:19:45ID:???
>>756
だった。間違い。
075975505/01/06 20:13:16ID:???
私の場合,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)
0760NAME IS NULL05/01/07 00:45:42ID:XMHN25LK
以下の手順でうまくいったことがあります。
Windowsディレクトリ直下に、my.iniが残っている場合があるので消してしまう。
サービスは、ServiceManager(フリーウェア)を使って削除。
0761NAME IS NULL05/01/07 19:47:58ID:FJEeP9Vp
すんません、スレ違いだったら誘導して頂けるとありがたいです。

ServletからJDBCでMySQLを検索する練習してるんですが、
検索結果が沢山あるときに、検索サイトみたいに10件くらいずつ
表示するようにしたいんですが、これってどうやればいいんですか?
毎回検索してはじめのデータを捨てるんですか?
0762NAME IS NULL05/01/07 20:28:11ID:???
>>761
SQLで limit を使う。
0763NAME IS NULL05/01/07 21:12:41ID:???
>>717
遅レスだが、gmakeで難なく通った@FreeBSD4.10
0764NAME IS NULL05/01/08 02:42:44ID:???
あるvarcharのカラムに対して、小文字のiだけ入れると大文字に変わるの私だけですかね・・
aiを入力->ai(そのまま) iを入力->I(大文字に)こんな具合に化け(?)ます。
ふと思うところがあって、SQLを直接発行したら逝けました・・。
ODBC経由で入れたらまずかったみたい。首津ってきます。
0765NAME IS NULL05/01/08 09:23:10ID:PRicmdjx
%
と
mysql>
はなにが違いますか?
0766NAME IS NULL05/01/08 10:07:06ID:???
文字が違う
0767NAME IS NULL05/01/08 11:20:14ID:???
>>764
日記は、焼きミスったCD-Rにでも書いとけ!
0768NAME IS NULL05/01/08 12:29:42ID:???
>>764
日記は包皮の裏にでも書いとけ!
0769NAME IS NULL05/01/08 14:06:39ID:???
>>765
上はshellのプロンプトの可能性が高く、
下はmysqlの対話モードのプロンプトの可能性が高い。
どちらも変更可能だから、あくまでも可能性。
0770NAME IS NULL05/01/08 14:21:03ID:???
>>761
そう、全部取って捨てる。
捨てないである程度次回に再利用できるJDBCドライバもあったはず。
MySQL4.1でLIMIT掛けてFOUND_ROWS()使う方法もあり。
0771NAME IS NULL05/01/08 19:04:35ID:MUIjcyKf
ねえねえ、CGIのFormで、ユーザとパスワードを入れさせて、
SQL文にかませるんだけど、データをデコードしなければ、
英数字以外って、16進数だから、

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

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

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

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

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

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

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

“件数”と“limit掛けたデータ”の両方が欲しければ、
FOUND_ROWS()使えばいいわけだし。
0793NAME IS NULL05/01/11 20:45:09ID:???
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
0794NAME IS NULL05/01/11 23:08:16ID:a9o+a9pA
Windows XP SP2にするとMySQL自体が動かなくなりました。
mysqladminとかmysqldとか全部が・・・・・
SP2にした人で原因がわかる方、ヒントでいいのでお願いします
0795NAME IS NULL05/01/12 00:43:04ID:???
問題なく動くよ
079676105/01/12 01:33:36ID:wVszRYBC
>>792-793
limitとSQL_CALC_FOUND_ROWSでなんとかできてきました。
はじめのFORMのあるページにhiddenで隠して開始番号と表示件数をパラメータにして
それをサーブレットで受け取るようにしてみました。
次のページにも検索文字列と一緒にそのパラメータもGETで渡すようにしてみてます。
でも、GETで送る日本語パラメータがちゃんと受け取れなくて困ってます・・・
URLEncoder, URLDecoderを使ってもうまくいかない・・・
0797NAME IS NULL05/01/12 01:46:05ID:???
パラメータに#が入ってるとIEの場合だけ問題が起こるよ
0798yamayasu05/01/12 09:18:25ID:???
MySQL-Front
http://www.mysql-front.com/

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

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

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

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

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

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

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

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

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

dbは
mysqladmin create testdb
で作成いたしました。
0806NAME IS NULL05/01/13 23:15:16ID: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の最適化を知らない素人だと思われるかもしれませんが。

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

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

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

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

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

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

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

ありがとうございます
0821NAME IS NULL05/01/16 18:24:46ID: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を使用した接続でも、同様なエラーがでました。

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

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

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

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

0825NAME IS NULL05/01/19 01:57:01ID:YeGNeTDn
MySQLってどのくらいまで大きくして大丈夫なのでしょうか?
あとDBを大きくし過ぎるとどんなマズイことが起こるのでしょうか?
0826NAME IS NULL05/01/19 01:59:32ID:???
>>825
もう少し要件が具体的なほうがよろし。
0827NAME IS NULL05/01/19 02:04:54ID:???
1ファイル4GB以上になるばあいは、create tableするまえに設定が必要。
一応そのぐらい。
あと、テーブル数があまりに多いと、OS自体の動作が遅くなる。
あとは、無駄にでかいテーブルはキャッシュのききが悪くなるかな。
0828NAME IS NULL05/01/19 02:26:07ID:???
動画と静止画と音声データをごっちゃにして(タイムスタンプ順にする)テーブルに入れるときの
データタイプって何がいいんですか?仮に別々にするとどうですか?
0829NAME IS NULL05/01/19 02:49:20ID:???
動画も静止画も音声データも、DBからみたらみんないっしょ。
マルチメディアデータをDBに格納するのは、メリットよりデメリットの方が上回る気が。
メリットっても精精、管理が一緒なのでバックアップが楽なぐらい。
そのバックアップの楽さも、別に管理しても極端にめんどくさくなるわけでも無いしね。
0830NAME IS NULL05/01/19 04:43:30ID:???
>827
MySQL3で1データベース中に4万テーブルってのは見たことあるけど
普通に動いてたよ?
0831NAME IS NULL05/01/19 07:26:30ID:???
要素じゃなくてテーブルの数が4万か・・・
083282505/01/19 14:49:51ID:YeGNeTDn
かなり大丈夫なのですね。
安心しました、どもです。
0833NAME IS NULL05/01/19 17:38:05ID:???
テーブルが4万かよ...。
0834NAME IS NULL05/01/19 19:48:22ID:???
テーブル4万で普通に動くと聞いて俺もちょっと安心した
0835NAME IS NULL05/01/19 21:27:08ID:???
すいません、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です。
0836NAME IS NULL05/01/20 14:02:50ID:UoPbFkOB
batchモードで実行時、
エラーなどの標準出力をログファイルとして出力する方法はありますか?
0837NAME IS NULL05/01/21 08:17:00ID:???
エラーは標準エラー出力じゃね?リダイレクトすればいいじゃん
0838NAME IS NULL05/01/22 12:58:56ID:jlZOSGV8
freebsd4.2で、mysql4.1-client,server,scriptをportsからいれたのですが、

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

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

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

といわれてしまいます。

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

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

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

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

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

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

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

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

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

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

なので、検索結果をこう出したいのです。
-------------------------------
2,ダックス,オス,2才
5,チワワ,オス,2才
-------------------------------
よろしくお願いします。
088087305/01/28 23:28:46ID:???
あらま。間違ったこと教えてしまったようで。
ごめん。勉強になった。
0881NAME IS NULL05/01/29 00:01:04ID:???
>>879
ORDER BY
0882NAME IS NULL05/01/29 00:49:12ID:33SCGnuL
>>881
私が知る限りの order by だと、検索結果が対象であって、
group 内の order by ってできるんですか?
0883NAME IS NULL05/01/29 00:55:55ID:???
ダックス,メス,2才がいたらどうなっちゃうちゃう?
0884NAME IS NULL05/01/29 01:03:24ID:lXfHR+co
>>883
とにかく、group内の orderが決められればうれしいです、神様。
088588405/01/29 01:12:48ID:lXfHR+co
切羽詰っているので、連続ですまそですが、
HAVING 句 をうまく使うのかな・・・
0886NAME IS NULL05/01/29 01:59:11ID:???
キーって何?どうやって使うと(゚д゚)ウマーになるの?
0887NAME IS NULL05/01/29 05:24:20ID:???
>>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;

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

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

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

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

OS linux Fedora Core2
0891ベタにググってみれ05/01/29 10:19:13ID:???
ttp://www.google.com/search?sourceid=mozclient&ie=utf-8&oe=utf-8&q=MySQL++%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89+%E5%BF%98%E3%82%8C%E3%81%9F
0892NAME IS NULL05/01/29 12:27:38ID:???
>>887
おぉっ、そんな手があったのか。
今までそう言うときは別にキー作ってたよ。
こんど試してみよう。
0893NAME IS NULL05/01/29 14:35:52ID:???
いま、887のやりかたやってみたけど、件数が多いと速度が実用的じゃないな。
いいやりかたなんだが。
0894NAME IS NULL05/01/29 19:06:35ID:???
>>893
IS NULLが引っかかってるんじゃね?

自身と結合するのは内部結合という気がするがまぁどうでもいいな
0895ちょん05/01/29 21:56:37ID:+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ドライバーも入れ替えたりしたんですが接続できませんでした。

よろしくお願いします。










0896NAME IS NULL05/01/30 17:17:30ID: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にアクセスできなくて困ってます。
どうすればいいのでしょうか?
0897NAME IS NULL05/01/30 22:30:24ID:???
お前らに質問。
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

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

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

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

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

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

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

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

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

0926NAME IS NULL05/02/04 10:59:17ID: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('ソソソ');
'>
092792605/02/04 11:08:36ID:j4q4WnMV
sjis の文字コードの関係で後ろの文字がエスケープされているのは分かるのですが、
できれば文字コードは sjis のままで動作させたいと考えています。
ちなみに、同様のことは今まで使っていた 4.0.18 では問題なくできていました。
0928NAME IS NULL05/02/04 11:48:18ID:???
SQLにSJISは鬼門
0929NAME IS NULL05/02/04 12:27:39ID:???
>>928
SJISとSQLには何の関係もないがな

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

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

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

てかそれくらいヘルプ読め
http://dev.mysql.com/doc/mysql/ja/date-and-time-functions.html
お気に入りに入れろ
0937NAME IS NULL05/02/05 23:52:31ID: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になってるでしょうか・・・?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

つうか,これが原因のバグに半日悩みました.畜生!
ちなみにバージョンは,MySQL 4.0.23-max (win2000)ですた.
0967NAME IS NULL05/02/09 13:25:35ID:???
>>965
100000までは行った事ないけど、25000位なら余裕で耐えてる。
0968NAME IS NULL05/02/09 13:27:08ID:???
>>966
当たり前。
0969NAME IS NULL05/02/09 13:52:22ID:???
>>968
なんで?どういう原理なんだろう?よろしかったら説明キボンヌ.
0970NAME IS NULL05/02/09 14:27:41ID:???
いろいろ試してみたけれど,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'

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

0971NAME IS NULL05/02/09 15:30:35ID:???
文字列に変換して比較されていると見た。
0972NAME IS NULL05/02/09 15:48:43ID:???
エッエー!内部表現は UNIX 時間じゃないの?!
0973NAME IS NULL05/02/09 16:21:46ID:???
>>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)

注意して使わないと,ハマるな,こりゃ.
0974NAME IS NULL05/02/09 18:15:14ID:???
>>971
それだと時間差分計算ができないと思うが?
0975NAME IS NULL05/02/09 18:56:04ID:???
>>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'

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


0976NAME IS NULL05/02/09 19:02:45ID:???
>>975
うん、全く違和感ない。
つうかDATETIME型とDATE型を比較するような実装が…
0977NAME IS NULL05/02/09 21:09:58ID: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秒かかってしまう。
0978NAME IS NULL05/02/09 23:39:59ID:???
これでどうだろう?

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

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

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

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

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

>>991
バイナリでもそれ以外でもデータの流れは同じ。
0993NAME IS NULL05/02/11 17:39:12ID:???
mysql のバックアップをしたいんですけど、
/usr/local/mysql/data/
以下にファイルがありました。

???-bin.001〜始まったファイル
それぞれのDBフォルダ
上記すべてを保存すればいいのでしょうか。
0994NAME IS NULL05/02/11 17:50:04ID:???
>>993
3系は、それでバックアップ・復元ともに可。復元は上書き保存するだけ。
4系以降はしらん。
0995NAME IS NULL05/02/11 21:25:45ID:???
次スレ

MySQL 総合 Part4
http://pc5.2ch.net/test/read.cgi/db/1108124655/
0996NAME IS NULL05/02/11 21:28:56ID:???
|  (;'                  (;'               `;)
|/ミ''l アレ? ダレモ     ♪   /ミ''l                /ミ\ ♪
|ノハヾヽ イナイノカナ?      ノノハヾヽ  ブギウギ♪    ♪ 〃ノノハヾヽ  ハシリタァ〜イワァ〜♪
| v�V从 ヨーシ,「ブギトレ」  σ(�Vv�V从  チューチュー♪     从�Vv�V从⊃
|⊂)   シチャウゾ!!      ヽ` ⊂ ヽ♪ メルヘンカ〜イドゥ♪  (⊃ Y ,;)´ ヤァナタトォフタリデェ♪
|___>            <_________>             <_________>
|_)               (_/\_)              (_/(___)
0997NAME IS NULL05/02/11 21:30:12ID:???

                                ノハヽ☆
     | ̄ ̄ ̄|     | ̄ ̄ ̄|     | ̄ ̄ ̄|  (^ー^*从 <梅立ててみました。
   _|  梅  |   _|  梅  |   _|  梅  | ⊂  と)
   \|___|   \|___|   \|___|  .(__(_つ
0998NAME IS NULL05/02/11 21:31:38ID:???
        _              _
      /  \/⌒⌒ ̄ ̄ ̄ヽ、 /_.\
      | (⌒)             (_) | |
      \_ ノノ ノ,,, ノ丿 丿 ),,,ノ ノ 、_ノ
        ./:.( ○ヽ、ヽ   ノ○ )∪:::::|
        .|U::: / ___ \    ::::::::|
        |:::::::  /  |   U.::::::::::::| <MySQLだけでその4かぁ…
        ヽ::::::...├--┤  ....:::::::::::ノ
0999NAME IS NULL05/02/11 21:32:20ID:???
|
|
| =  n n   ずってーん
| = ( ノハヽ
| =  ヽっ・ 。.・)っ <1000げっとなの〜
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
1000NAME IS NULL05/02/11 21:34:41ID:???

 ∋oノハヽo∈
♪ ( ´�D`) やったー、1000なのれす
 = ⊂   )
 = ミ三三彡 タッタッタ・・
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。