mysql ヘルプ!
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/01/22 16:08ID:kMbsTQE3状況を詳しく書きます
PHPが動くプロバイダーのディレクトリにおいた自分の家の
mysqlサーバを操作するPHPに
$db = mysql_connect("mysqlサーバのip:3306","ゆーざ","ぱす");
と書いたのですが、駄目でした。
どうすればいいのでしょうか?
くだらない質問に答えてくれてありがとう
私の理解度が乏しいから、確認しますけど
選手 日時 何打席目か 成績
A 10/27 1 三振
B 1 ホームラン
C 1 アウト
A 2 ヒット
B 2 アウト
C 2
・・・
こんな感じでしょうか
0732nobodyさん
04/10/27 21:12:11ID:???まあ、テーブルの設計が終われば八割終わりみたいなもんだから
DBプログラミングは、ひたすらがんがれ。
0733nobodyさん
04/10/28 12:21:42ID:y89QF6ZeInnoDB形式のテーブルでレプリケーションが
狂ってしまった場合、復旧させる方法はありますか?
MyISAM形式では、テーブルのファイルコピーで無理やり整合性を
保っていたのですが、InnoDBでも可能でしょうか?
0734nobodyさん
04/10/28 20:53:44ID:???書籍やサイトがあれば教えてください。
自分では、
「実践MySQL4」に、
少し書かれているのは知っています。
0735nobodyさん
04/10/29 19:25:07ID:???最近のスラッシュドットでそんな話があったよ。
MLでも議論されてたから検索してみれば?
http://slashdot.jp/comments.pl?sid=219444&cid=0&pid=0&startat=&threshold=0&mode=nested&commentsort=0&op=%CA%D1%B9%B9
0736nobodyさん
04/10/30 12:57:52ID:Gk5lEdxU例えば、あなたの趣味は?
■パソコン ■アウトドア ■読書 ■ドライブ
■スポーツ ■映画鑑賞 〜〜〜
こんな感じで、複数の項目にチェックしてもらってpostした情報はどんな風に
データとして格納すれば良いのでしょうか?
それぞれのチェックボックスをフィールド一つを割り当てて1か0で・・・てのは
アホくさ杉でしょうし。
また、レコードを修正するときに、フォームで登録時にすでにチェックされていたもの
を自動的にチェックが入るようにするのもわかりません。
radioとかtextだったら読み込み直す方法はわかってるんですが。
リファレンスのどこらへんを読めばよいのかだけでもいいので教えて下さい。
0737nobodyさん
04/10/30 14:07:52ID:x49/edM7mysqlを打ち込むと
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
またmysqladmin versionを打ち込むと
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
と表示されます。
指示の通りmysqlは稼働していますし、ソケットもディレクトリに存在しています。
最近変更した事と言えば
mysqlをインストールし直した(全く同じバージョンでアップグレード)のと
パスを通したことくらいです。
0739nobodyさん
04/10/30 15:04:11ID:x49/edM7ソケットファイルは0バイトのからファイルでいいんですよね?
今試したところ
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
だったエラーメッセージが
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
となりました。
また元のソケットに戻してみたところ
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
に戻りました。
う゛〜ん。。。
0741nobodyさん
04/10/30 16:48:01ID:N1vJ8kvjMySQLで重複したレコードを一括して削除する構文を教えて下さい。
0742nobodyさん
04/10/30 16:54:27ID:???0743nobodyさん
04/10/30 17:08:00ID:???AもBも両方とも消していいなら割と簡単だが
Aだけ残してBだけ消したいということになるといろいろ面倒かもしれん
0744nobodyさん
04/10/30 17:49:34ID:x49/edM7ソケットファイルの権限はrwxともにOKです。
mysqldの権限の変更、およびソケットファイルとのマッチング
を整える方法がわからないです。
0745741
04/10/30 18:38:13ID:N1vJ8kvjそれです。
perl使ってるので、DBIのメソッドでも構いません。
0746nobodyさん
04/10/31 00:13:12ID:R5h305R8普通に扱えていれば全く問題なく扱えますか?
いつも叩いてるSQL文で問題なく作業できるのなら
導入しようかと思っている者です。
微妙な違いなんかは存在するんですかね?やはり。
0747nobodyさん
04/10/31 00:14:47ID:???SQLの基礎が出来てれば、
リファレンス引いて命令文引っ張ってくるだけだから、出来ると思うよ。
文法はほとんど一緒。
0748nobodyさん
04/10/31 00:30:38ID:R5h305R8リファレンスをちらっと見たら
USE DB みたいなコマンドがあって困惑したので。
0749748
04/10/31 01:38:56ID:R5h305R8このdatabaseってのはoracleでいうスキーマにあたるもので、
oracleだとログイン時にどのスキーマを使うか選択するが
MySQLでは最初にuseコマンドで明示的にどのDBを使うか
決定してからテーブルなどの操作を行う必要がある。
って理解は合ってます?
0750nobodyさん
04/10/31 03:24:35ID:H+tIg089一般的にはどうするのでしょうか?
自分としては単純に、
id,order,valueのカラムを作って、
データの削除や移動があった時には
orderを順番に書き換えていく、という方法を考えたのですが、
少し面倒な気がします。
もっと画期的な方法はありますか?
0751750
04/10/31 18:34:08ID:???ループで回してクエリ出しまくりかと思って躊躇してましたが、
この方針でいってみようと思います
0752nobodyさん
04/10/31 22:51:28ID:???dump して unix/linux上でuniqして元に戻す。
しょっちゅうこれをやんないといけない場合には、
データベース設計にそも問題がある。
0754nobodyさん
04/11/03 22:23:52ID:r8FwY29Xselect * from table
で行数を数えると、瞬時に答えが返ってくるはずなのですが、
スロークエリログに多数、このSQLが残っています。
どんな原因が考えられるでしょうか?
0755nobodyさん
04/11/03 22:32:14ID:???じゃなくて?
0756754
04/11/03 22:53:07ID:???mysql_num_rowsで数えていました。
countに直して様子を見てみます。ありがとうございました。
0757nobodyさん
04/11/06 14:53:52ID:???この問題なんですがコンパイルを通すにはどうしたらよいでしょう?
Win版じゃなくてLinuxでやりたいんですが...
0758nobodyさん
04/11/07 11:49:12ID:w/j/GLX70759nobodyさん
04/11/07 18:31:21ID:???自動でMySQLのログインから処理、ログアウトまでをやろうと思っているのですが、
mysql -u ユーザ名- p
の入力後に
Enter password:
が着ますよね?
ここでリダイレクトを使ってpassを読み込ませるにはどうしたらいいんでしょうか?
0760nobodyさん
04/11/07 19:18:28ID:???そんなことしなくても。。。
mysql -u ユーザ名 -pパスワード
でできるよ
0761759
04/11/07 20:08:04ID:???もう一つ…
上記をバッチファイルに書き込んで、その後
DB選択>既存のテーブルを削除>新しく作成>
別のテーブルからランダムソートしたものを新しく作ったテーブルに挿入>ログアウト
という流れをバッチファイル開くだけで行うためには、
use DB;
drop table TB;
create table TB(...);
insert into TB (select * from TB2 order by rand());
exit;
であってますでしょうか?
バッチファイルに書いても、mysql > で止まってしまいます。
0763nobodyさん
04/11/07 21:21:04ID:???やりたい処理は全部 hogehoge.sql に書く
0764757
04/11/09 12:09:30ID:lXsYUd1Sしかしmysql_configが指定するリンクをいれても
コンパイルがどうしても通らないです
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbc): In function `my_compress_alloc':: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In function `my_uncompress':: undefined reference to `uncompress'
collect2: ld はステータス 1 で終了しました
どういった原因でしょうか..
どうしてもvariableでのcharacter_setが
latin1から変わらない。
Windowsでmy.iniの[mysqld]に
default-character-set=ujisにしてるのに〜
文字化けするよ〜〜(´・ω・`)
0766nobodyさん
04/11/14 04:41:09ID:B/SXTDdiマシンの再起動時にはちゃんとmysqlをstopしてくれるんでしょうか?
参考にしたサイトにも
終了時スクリプトについては書かれていないのですが。
0767766
04/11/14 04:41:49ID:???でした
0768nobodyさん
04/11/18 12:02:05ID:???ドス上でみたら2行になってすごいみずらいです
一行でドスのサイズにあわせて表示するコマンドかなんかあるんでしょうか?
どなかたご存知のかたおしえてください。
0769nobodyさん
04/11/18 17:02:00ID:E/PAFSQfa001 -> a002 -> a003 みたいな増加の仕方はムリポですか?
0770nobodyさん
04/11/18 17:02:50ID:???ともに重複したデータは不可能なんですよね?
0771nobodyさん
04/11/18 18:00:50ID:???数字と文字列は別の扱いだから無理。
>>770
ユニークは重複を許可しないだけ、
プライマリは複数のフィールドを関連づけることが出来る。
ざっくり言うとこんな感じだけど言葉で説明するのは難しい。。。
本とかで勉強して色々実験してみれば何となく分かってくるはず。
0772nobodyさん
04/11/19 09:25:47ID:???MySQLはドス上で見ないほうがいいです
>>769
まったく同じ質問を前に見たぞ。>>686 だ。回答は >>691
0774nobodyさん
04/11/25 17:09:19ID:???mysql -H < select.sql > result.html
start result.html
としてブラウザから見る派。
0775nobodyさん
04/11/26 13:19:37ID:???0776nobodyさん
04/11/26 13:20:14ID:???0777nobodyさん
04/11/26 17:08:56ID:LVzAOA0n次の様な内容で"sample"という名のテーブルの複合キーを定義しました。
//---------------------------------------------------
create table sample (
A varchar,
B integer,
primary key(A, B)
);
//---------------------------------------------------
それでこの複合キーを変更(削除)したいので
"alter table sample drop primary key(A, B);"
を発行してみたのですがエラーになってしまいます。
どなたか正式な複合キーの削除方法を教えて頂けないでしょうか?
よろしくお願いします。
0778nobodyさん
04/11/26 17:26:59ID:???0779nobodyさん
04/11/26 18:01:24ID:LVzAOA0nエラー内容を貼り付けます。
alter table sample drop primary key(A, B);
→ERROR 1064: You have an error in your SQL syntax near '(A, B)' at line 1
またCREATE TABLEのSQL文も間違っていました。
正式なSQLは次の通りです(すみません) 。
create table sam(
A varchar(10) not null,
B int not null,
primary key(A, B)
);
よろしくお願いします。
0780nobodyさん
04/11/26 18:06:03ID:???0781nobodyさん
04/11/26 18:07:52ID:LVzAOA0ncreate tableのテーブル名は"sam"ではなく"sample"です(すみません...)。
かねやんでアドミン設定・新規ユーザー作っても
LOCK TABLES権限ないじゃんか!!!
1時間悩んだじゃないか〜〜ばかぁ〜
0784NAME IS NULL
04/11/27 12:24:15ID:???通常はデーモンを起動すれば大丈夫です。
% safe_mysqld &
0785nobodyさん
04/11/28 11:07:21ID:???この場合、「あるイニングでの先頭打者」を検索することは可能でしょうか?
不可能であれば、どのような情報を追加すればよいでしょうか?
先頭打者かどうかは、アウト数を別に作って3の次とするか
すればいいんじゃ?
成績とリンクさせるなら、三振→アウト数+1
セカンドゴロ→アウト数+1と1つずつ作っていけばいいんじゃ?
良く分からないけど。
0788nobodyさん
04/11/29 02:38:21ID:???まあ好きにやれや
0789nobodyさん
04/11/29 10:39:50ID:???0790nobodyさん
04/11/29 14:40:43ID:???コールドの時は…
代打、代走、リリーフ…
一打席に複数のバッターが出たら…
盗塁死、牽制死はどうする…
FC、エラー…
投球内容とかいらんのか…
ってな辺りを考えてからの話だろ、というか野球のルールの話だろ、これ…
0791nobodyさん
04/11/29 23:37:27ID:???「選手」「日時」と合わせてこれらが主キーになるのかな。
0793nobodyさん
04/11/30 23:28:06ID:IAxT8j7Aブーリアン値は
ENUMのYとNにするしかないのでしょうか?
0794nobodyさん
04/12/01 00:12:29ID:???0795nobodyさん
04/12/01 15:48:05ID:???中身はTYNYINT(1)だが
0797nobodyさん
04/12/06 10:53:00ID:???webページデータとDBも含めて、使用できるHDD容量をwebページ上に表示させたいんです。
0800nobodyさん
04/12/06 11:40:10ID:???0801nobodyさん
04/12/06 12:17:17ID:???0802797
04/12/06 13:10:54ID:???ありがとうございます。
0803nobodyさん
04/12/06 21:07:12ID:???日中などは大丈夫なのですが、夜になってアクセスが多くなると
DBの接続エラーが多発してしまいます。
$linkid = mysql_connect(host,name,pass);
if(!$linkid)
{
echo "MySQL接続失敗";
exit();
}
こんな感じので、接続失敗が多発します。
何を直せば接続エラーを無くすことができるのでしょうか?
0805nobodyさん
04/12/06 23:13:29ID:???・アクセス量を日中と同程度に抑える。
・もう少しコネクションに余裕のあるサーバ/サービスに移行する。
・自分の管理下にあるサーバならmysql定義ファイルのコネクション上限を見直す。
場合によってはマシンスペックを上げる
0806803
04/12/07 12:56:03ID:???レスありがとうございます
サーバースペックなんですが、
OS:win2003server
メモリ:1G
CPU:P4-2.4G
です。
レンタルですが専用サーバーを使っています。
SQLdは、自分なりに値だけ大きく変更してみてるんですが、
エラーは消えないんです。
table_cache = 10000
max_connections = 50000
max_user_connections = 20000
など…やり過ぎですかね…
PHPのプログラミング方法によってもエラーがでたりとかするんでしょうか?
0808nobodyさん
04/12/08 16:29:57ID:???何か制限などあるんでしょうか?
0810803
04/12/08 18:58:45ID:???そこを見ればいいのでしょうか…(すいません
0811803
04/12/08 19:00:30ID:???mysqldのエラーログというのは、
どこを見ればいいのでしょうか…
0812nobodyさん
04/12/09 15:32:33ID:fa9vd1ze起動するたびに立ち上がって染まします。
0815nobodyさん
04/12/20 07:25:09ID:FA8OSGsZPHPからMySQLへのアクセスができません。
エラーメッセージは
mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in
となっています。
環境
WindowsXP
PHP4.3
MySQL4.1.8
Apache1.3
文字コードはMySQL以外はShift-JISにしています。
MySQLはインストールしてrootのパスを決めた以外は変更していません。
コマンドラインからのroot権限でのアクセスはできています。
0816nobodyさん
04/12/20 09:31:17ID:???PHP4.3.9以前はMySQL4.0とMySQL4.1のライブラリが別になってるんだよ(4.3.10では一緒になったらしい)
libmysqli.dllをシステムディレクトリにコピー
0817nobodyさん
04/12/20 16:48:07ID:???http://dev.mysql.com/doc/mysql/ja/Password_hashing.html
に該当。
でもこういうところに気が付かない(読まない)人は、
質問が出た時点で、回答としては「暫くMySQL4.0.x使っとけ」
とするのが現時点では最も正しい答えなのかも。
MySQl4.1.x使うなら、常に情報の入手に気を配れ。
0819nobodyさん
05/01/01 08:13:01ID:QrQCkT/aコマンドラインで
select count(*) form bbs_table;
と実行するとちゃんと「11」という結果が返ってくるのですが
PHPでmysql_query($sql, $conn);と実行すると
なぜか「8」(Resource id #8)と返って来ます。
当然同じデータベース・同じテーブルでやっているのですがどうしてでしょうか?
0820nobodyさん
05/01/01 09:17:19ID:QrQCkT/a$result = mysql_query("select count(*) from bbs_table");
$row = mysql_fetch_row($resutl);
print($row[0]);で「11」と表示されました。
これで私の思っている通りの結果にはなりましたが
データベースのカラム数(掲示板で言うとレス数)を求めるには上記の処理で合っているでしょうか?
0821nobodyさん
05/01/01 16:41:48ID:???> なぜか「8」(Resource id #8)と返って来ます。
この8というのはリソースのIDのことだよって書いてあるのに
何で件数だと思ったのか、こっちが聞きたいくらいですから。
残念!
0822nobodyさん
05/01/02 17:22:22ID:MfYqAlNXPHPで使っているのですが、他のDBでも使えるようにif ( $a )の形式でチェックできるように
したいのですが、ENUM('true','false')だとチェック時にif( $a == 'true' )のように
文字列比較をしなくてはならないのでTINYINTで0か1が良いのかとか色々と考えています。
もちろんこれでやればできるのですが、経験豊富な方に伺いたいと思いましてどうかよろしくお願い致します
0825822
05/01/05 00:15:38ID:???ありがとうございましたm(__)m
0826nobodyさん
05/01/05 14:47:11ID:???java側からはMySQLに、UnicodeをShift-JISに変換して書き込めるのですが
MySQL側からデータをJava側に読み込むとShift-JISからUnicodeに変換
されずに、文字化けしてしまいます。
データを書き込めるのですが、それを読むと文字化けしてしまう状況です。
一応、JDBCドライバを呼び出す時は
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=sjis
&mysqlEncoding=sjis
とし、
my.iniにも
default-character-set=sjis
と記述しています。
それでも文字化けしてしまうのです。
無事に変換できて文字化けしないようにするにはどうすればよいのか
でどうか対処法を教えてくださいませ。
0827nobodyさん
05/01/08 07:40:40ID:???テーブルfreemailの中は空。
$mailにはフォームから登録したメールアドレスが入ってるとし、仮にaa@bbとします。
$str_mail=strstr("$mail","@");
$str2=mysql_escape_string($str_mail);
$rs=mysql_query("select * from freemail where freemail='$str2'");
$res=mysql_fetch_array($rs);
$f_res=$res['freemail'];
この状態で
$str_mail、$str、$f_resをそれぞれprint文で出力すると。
全部が同じ出力になる…この場合@bbになるとしたら、原因は何処にありますか?
これは判定だけで、テーブルfreemailに追加はしてないです。
0828nobodyさん
05/01/08 07:42:35ID:???print文で出力するのは
$str_mail
$str2
$f_res
です。
0829nobodyさん
05/01/08 12:23:13ID:???0830nobodyさん
05/01/15 00:33:23ID:NZnuK1eg直接PHPファイルに書くのに抵抗があります。
聞く話によるとMD5ハッシュ化したパスワードで接続することが出来るらしいのですが、
検索してもやり方がわかりませんでした。
どのようにすればMD5ハッシュ化したパスワードで接続できるのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています