TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
( ´_ゝ`)流石だよな俺らin DB板(´く_` )
データベースなんか作れるかよ!
(^^)BTRIEVE(^^)
Oracle 質問総合スレ13
DBのキャラ、ここが好きだ!
(^^)BTRIEVE(^^)
オブジェクトデータベース LINQ, DLinq のスレ
DBってドラゴンボールの略だよね?
DB設計を語るスレ 10
CSVファイルのスレ
MySQL 5.0
- 1 :04/04/13 〜 最終レス :2017/12/29
- このスレッドの執筆時には、まだバージョンもアルファ段階で正式リリースされる
まで程遠いが、これから新しい機能を試してみたいとかボラクルに取って代わり
低コストで次世代データベース開発のために利用したいエンジニアは今こいう時だから
こそver.5.0に着目したいところだ。
5系がまだアルファ段階だからといって敬遠するの良いが、テストマシン上で独自に開発を
して、テストマシン等で実運用するのも一つの道であろう。
開発の成果は、MySQLやOpenBSDに随時報告することが重要だ。
- 2 :
- 2グッシ!
- 3 :
- MySQL 5.0
テスト運用ではなく
個人情報(クレジット情報含む)のデータベースとしてバリバリ本稼動させてます
- 4 :
- よっ、漢!
- 5 :
- @ITの今日の記事見てきたけど
4.1からユニコード使えたっけ?
4.1か5の区分も棒グラフでわかりづらいのだが・・・。
当方4.1ではJavaでMS932のデータは格納できず
Shift_JISのみ格納できると結論付けているが・・・。
認識違いだったらスマソ。
- 6 :
- >>3
どっかの会社から受けたオンラインショッピングでも作ってんの?
- 7 :
- >>5
部分的な不具合はアルファだから残ってるけど、
機能として盛り込むという点ではMySQL4.1から
http://dev.mysql.com/doc/mysql/en/Nutshell_4.1_features.html
- 8 :
- >>7
レスありがとん。実は勘違いしてました。
4.1じゃなくて4.0はおろか3.2356で動かしてた。
音符が入るのに何でかっこ株入らんのかいな?
ってひとりで混乱してた・・・。失礼しました。
- 9 :
- 5.0使つてみたが、特にこれといつたバグは見つからんかったな。日本語を扱ふときはEUC-JPで良いんだろ。レコード単位でのロックは、だふしたら良ゐのかな。
- 10 :
- >>9
失礼しました。DBのキャラクタセットsjisでした(泣
プログラムでEUC-JPに変換したときと
DBの設定でEUC-JPにしたときの違いなどが認識不足でした。
そのあたりも含めて
総合スレに逝ってログ見て勉強しなおしてきます・・・。
- 11 :
- 問題は一つのテーブルにつき何行まで対応しているかだな。
- 12 :
- >1
ところでなんでOpenBSDに報告なんですか?
- 13 :
- 5.0が正式にリリースされるのは何時頃よ。
- 14 :
- >>13
来週MySQL ABの社長が日本に来るから聞いてみたら。
- 15 :
- それより何より、レプリケーションですよ。
マルチマスタが出来ないと、実際の運用が厳しい。
はやく組み込まれないかなぁ
- 16 :
- MySQL ABは何故、この先一般大衆に広まるまで相当な時間を有するであろ4.1とか5.1を敢えて開発という名目で出したのか分からん。
- 17 :
- 5.0以降は、オラクル並みの機能を備えたDBMSになるのかなぁ。
- 18 :
- どうかな?
でもSAP DBにある機能は付くんじゃないの?
- 19 :
- 質問させてください。
version: 5.0.1-alpha-standard-log
を使用しています。
stored procedureの機能を確かめたくて使ってみたんですが、procedureがcall出来ません。
例)
delimiter //
CREATE PROCEDURE test()
BEGIN
SELECT "hoge" as hage;
END
//
delimiter ;
--
として、
call test();
としたら、
ERROR 1304 (42000): PROCEDURE hoge.test does not exist
となります。
show procedure status;
で確認すると
hoge DBに test procedureは存在します。
どういう事なんでしょうか?
#ちなみにdrop procedureも同様のエラーで動作しません。
- 20 :
- delimiter //
Drop procedure IF EXISTS test //
CREATE PROCEDURE test()
BEGIN
SELECT "hoge" as hage;
END;
//
call test()//
- 21 :
- そろそろβ?
- 22 :
- もうベータ
- 23 :
- もうそろそろ出そうなふいんきなわけだが、新機能についてまとめてあるページない?
- 24 :
- これじゃ駄目なん?
ttp://dev.mysql.com/doc/mysql/en/mysql-5-0-nutshell.html
- 25 :
- ふーん。
普通のDBMSになるんだなw
その分スピードが犠牲になるんだろうなぁ。
- 26 :
- 新機能を使わなきゃスピードが犠牲になったりはしないんじゃね?
そういう感じの拡張になってたはずだけど。
- 27 :
- >>25
テーブル形式で各々が使うファイルとロジックが完全に分離されている。
だから、唯一定評のある MyISAM の速度はほぼ昔のままだよ。
といっても SQL の解析ロジックは 4.1 以降拡張されてるけどね。
とりあえずソースファイル嫁。
- 28 :
- エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
- 29 :
- >28
http://www.amazon.co.jp/exec/obidos/ASIN/4861670136/qid=1131202033/sr=8-1/ref=sr_8_xs_ap_i1_xgl/249-1853259-3047516
買ってね
- 30 :
- >>28 この板から消えろ 馬鹿すぎ
28 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 23:07:24 ID: urZZ/Ba6
エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
50 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 23:07:55 ID: urZZ/Ba6
エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
763 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 22:51:01 ID: urZZ/Ba6
エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
- 31 :
- そういえば、いつだかのWindows Updateから、MS-AccessからMySQLのODBC
使えなくなったのって、今は直ってるのかな。
ちょっとまえは、Window UpdateであがってしまったMDACのバージョンを元に戻せ、
という話しか見つからなかったが。
会社で使おうと思ったとき、会社のPCのセキュリティポリシーから、MDACのバージョン
古いのを使うわけにはいかず、MySQLを使うのをあきらめたものもある。
- 32 :
- つ M$のいやがらせ
- 33 :
- マク版エクセル、ダメ元でMySQL繋いだらイケた。
MS製なのにiODBC使ってるのが泣かせる。
- 34 :
- mysql-5.1.4-alpha-win32テスト運用中で
MyODBC-3.51経由でアクセスしてるんだけど
マニュアル読んで、
c:\my.cnf
[mysqld]
skip-character-set-client-handshake
default-character-set=cp932
とかやっても"ソ表"みたいに2バイト目が\な文字が化ける。
良く分らん。
- 35 :
- grantでユーザを作りました。
use mysql;
select USER();してもrootしか表示されず、
作ったユーザが表示されませんでした。
mysql5は故障してますか?
- 36 :
- >>35
select * from user;
- 37 :
- select count が遅いのですが、仕様ですか?
- 38 :
- >>37
where句に何か書いてる?
あと、innoDB? MyISAM?
- 39 :
- >>38 innoDB にしてます。 where句は、書いても書かなくても変わりませんでした。
- 40 :
- ttp://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html
の真ん中へんにあるように、InnoDBはrowの数を保持してないのですよ。
(MyISAMは保持してるので速い)
>To get a fast count, you have to use a counter table you create yourself
>and let your application update it according to the inserts and deletes it does.
とか書かれちょります。
あとは「更新頻度が低いならクエリキャッシュを使え」とか、
正確でなくていいならSHOW TABLE STATUSを使うのもいいんじゃねとか、そんな感じ。
MyISAMのほうが速いのを利用して、レプリケーション先をMyISAMにして
そっちでcount(*)する技もないではない。
お好きな方法をどうぞ。
- 41 :
- >>40
お調べいただいて、ありがとうございます。
LOAD DATA した後に確認したかったんですが、
それほど重要なデータでもないので、しばらくは
SHOW TABLE STATUSで確認することにします。
- 42 :
- ※重要
我々のファウソダーは15糞ルールというのを守り続けています。
それは15糞以内に、ダウンロード、インストール、使用ができることです。
これ以上かかるようならトイレに流してください。
- 43 :
- 差・共通集合演算は未対応ですか
- 44 :
- ISAM可愛いよぼくのISAM
- 45 :
- 今更ISAMなんて使うんじゃねーよ。
MyISAMの何が不満なんだよ!
- 46 :
- >>45
あんた野暮だね
- 47 :
- いや、マジで困ったんで。。。>今更ISAMな奴
- 48 :
- InnoDB可愛いよぼくのInnoDB
- 49 :
- >>48
InnoDBはOracleに乗っ取られますた。
- 50 :
- >>45
野暮ついでだがそこは
InnoDBの何が不満なんだよ!
のtypoかと思はれ
- 51 :
- おっす!オラ悟空
MySQL 4 から MySQL 5 へのデータベースの移行は
一度フルダンプして持って行くことになるのかな?
- 52 :
- 4.1ならそのままで大丈夫だと思う。
4.0なら、文字コードの扱いによってはそのままで大丈夫なはず。
ここが参考になると思います。
ttp://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40
- 53 :
- JavaサーブレットからMySQLに接続するプログラムを作成しているのですが、
上手く接続出来なくて困っています。
以下ソース
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn=DriverManager.getConnection( "jdbc:mysql://localhost/user_db", "", "" );
上記のようなソースで、connがnullになってしまいます。
環境は
OS・・・centOS 4.3
jdk・・・1.5.0_06
Apache・・・2.0.54
Tomcat・・・5.5.16
JDBC・・・mysql-connector-java-3.1.12-bin.jar
です
御教授の程、宜しくお願いします。
- 54 :
- ユーザー名とパスワードはNULL?
あと、接続処理部分だけをコピペしてテスト用のクラスを作って実行して、
そのエラーメッセージは確認した?
- 55 :
- C言語で作成したプログラムでデータ挿入、取得しています。
Shift-Jis文字列のデータを挿入し、mysql_fetch_rowで取得しましたが、
Shift-Jis文字ではないものが返ってきているようです。
Shift-Jis文字で取得する方法はないでしょうか?
- 56 :
- 解決しました。
プログラムのくだらないバグでした。
とくになんの設定もなく取得できました。
- 57 :
- >>54
レスありがとうございます
ttp://www.mysql.gr.jp/mysqlml/mysql/msg/8552
上記の掲示板の内容を見ながら、同じように
ユーザ名とパスワードを入れて、
localhostの部分をcentosのPC名(ホスト名かな)に変更したら接続出来ました
- 58 :
- だめだ、MySQLサーバがまたダウンorz
どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない?
- 59 :
- 356 名前: NAME IS NULL Mail: 投稿日: 2006/06/22(木) 04:15:41 ID: 1d2hPd6+
だめだ、MySQLサーバがまたダウンorz
どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない?
357 名前: NAME IS NULL Mail: sage 投稿日: 2006/06/22(木) 04:19:30 ID: ???
>>356
ロリ。サーバー1台じゃないが。
358 名前: 356 Mail: 投稿日: 2006/06/22(木) 11:48:29 ID: AgHOUkWe
レスTHX。
実はいま使ってるのがロリ。。。orz
MySQLはさくらとかの方がいいのかな?
359 名前: NAME IS NULL Mail: sage 投稿日: 2006/06/22(木) 13:07:06 ID: ???
>>356
ロリポップはレスポンスが悪いので、移転中です。
移転先はさくら。
年6,000円。
- 60 :
- FedoraCore5のMySQLのバージョンは調べた結果5.0.18でした
これからFC5を使いたいと思っています
yum update
すると
MySQLのバージョンはいくらに更新Sれるでしょうか?
- 61 :
- おいおい、まだ匿名ユーザ消してないのかよ。
この状況を理解してる?
さっさと匿名ユーザを消したソースを配布白。
15分ルールとか言ってるぐらいならくだらんことさせるなよ。
- 62 :
- 誰か、俺の質問を受けてくれないかな?
root のパスワードを設定したんだ。しかし、その後なぜか拒否される。
それで、mysqlを確認してみようと思いmysqlユーザで接続した。
[root@localhost etc]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
[root@localhost etc]# mysql -u mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.25-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+----------+
| Database |
+----------+
| test |
+----------+
1 row in set (0.00 sec)
mysql>
あれ、mysqlデータベースがないじゃないか!
さて、どうしたらいいんだおるか?
- 63 :
- >>62
# mysql -u root -p
- 64 :
- MySQLにあるデータベースのテーブルをAccessでを表示させようとするのですが
ODBCでデータソースを作ってテスト接続もOKなのにテーブルを表示しようと
するとエラーになります。
MySQLはVersion5でAccessは2002なのですが何か設定でもあるのでしょうか?
教えてほしいです。お願いします。
- 65 :
- 通りすがりのエスパーですが、何のエラーなのか透視できませんでした
- 66 :
- エラーを書くのを忘れていました…。
エラーなのですが
ODBC--呼び出しが失敗しました。
[MySQL][ODBC 3.51 Driver]User cancelled.(#0)
と表示されます。
どうすればいいのでしょうか?
- 67 :
- その前に、マルチはやめろ
http://pc8.2ch.sc/test/read.cgi/db/1148936556/950
- 68 :
- age
- 69 :
- PHPからMYSQLに接続したいのですがどうしてもつながりません。
mysql_connect関数を使い接続しようとしたのですが、
Call to undefined function mysql_connect()
というエラーが出て、接続できません。誰かわかる方教えてください。
- 70 :
- >69 マルチやめれ
http://pc8.2ch.sc/test/read.cgi/db/1123011800/287-289
- 71 :
- 俺には>>69が馬鹿だという事しかわからない
- 72 :
- それで充分
- 73 :
- >>69
エラー嫁
- 74 :
- 断る!
- 75 :
- エラーは嫁にしたくない
- 76 :
- 質問おねがいいたします。
昇順ソートでnullのレコードを最後にしたいのですが
Select * from tablename order by field desc nulls first/last
mysqlでは語尾のコマンドが指定できませんか?
case文を書いてやらねばならないんでしょうか?
- 77 :
- すみません。descはascの間違いです
- 78 :
- 使い終わったら mysql_free_result を呼ぶ ってのは
習慣づけた方がいい? どうでもいい?
- 79 :
- >>78
すぐ終わるプログラムならどうでもいい。
ずっといすわるプログラムで mysql_free_result を呼ばなければメモリリーク。
- 80 :
- httpで受けわたされた title, player, yearをそれぞれデータベースに挿入したいのですが、
下記のやり方ではうまく行きません。
$query = "insert into cds (titel, interpret, jahr)";
$query .= "values ({$_GET['title']}, {$_GET['player']}, {$_GET['year']});";
恐らく二行目が悪いとは思うのですが……
ご教授お願いします。
- 81 :
- php使いって裾野が広いんだなぁとw
- 82 :
- cygwinのC言語でmysqlを使いたいのですが質問です。
cygwinのC言語で、winsowsにインストールしたmysql
を使いたいんですが、これは難しいでしょうか?
ネットで調べているんですが、cygwin環境でmaysqlをビルドして、
Cのライブラリをリンクすればできるようなことが
書いてありましたが、cygwin環境でmysqlをビルドできたという
ページが見つかりませんでした。
mysqlのメーリングリストのログもcygwinで検索したんですが、
できてなかったみたいです。
mysql徹底入門でビルドの仕方みて、自分もやってみようと思いますが、
初心者なのでもっと無理と思います。
cygwinのperlからだと難しく無いんですが。PostgreSQLはcygwin版がありますし。
なにか方法ありましたらご教授お願いします。
- 83 :
- ところで、MySQL総合スレNo10をたてる人はいないのか?
それとも、ここを総合スレNo10で消化するのか?
- 84 :
- >>82
cygwin使っているやつに聞いたほうがいいじゃないか。
Cygwin使っている人いますか? その17
http://pc8.2ch.sc/test/read.cgi/unix/1154022733/
- 85 :
- >>84
ありがとうございます。
行ってみます。
- 86 :
- >>82
つ ttp://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?mysql%A4%F2%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB
つ ttp://www.his.kanazawa-it.ac.jp/~idurumi/blog/archives/001105.html
- 87 :
- >>80
1行目こそタイポだらけw
- 88 :
- >>80
どううまくいかないのかの根拠を具体的に提示すること
- 89 :
- >>86
ありがとうございます!!!
すごい感謝です。
1ヶ月ぐらいcygwinのc言語からmysql使えたらいいなー。
と思ってました。
cygwinのコンパイルのエラー回避できる方法あるんですね。
違う紹介していただいたページには、mysqlはWIN32バイナリを使うようにして、
コンパイルはライブラリを作って使うためにだけ、にした方が良いともありますね。
っていうことは、cygwinにそのライブラリをリンクしてC言語を使うと、
windowsにインストールしたmysqlが使えるということなんでしょうか。
なんとなく不思議な感じですが、これができるとほんとうれしいです。
とにかく手がかり教えていただいたので試してみます。
- 90 :
- 89です。
ソースをコンパイルしてライブラリができますが、
それをリンクして、cygwinのgccでmysql徹底入門のサンプルプログラムを
コンパイルしたらできました。
windowsにインストールしたmysqlに接続してみると
データも正常に追加できました。
cygwin板に引っ越しましたが、ご報告させていただきました。
ありがとうございました。
- 91 :
- サーブレットからMySQLサーバにアクセスするために、MySQL用のJDBCドライバをインストールしようとして、
?http://www.mysql.com/downloads/connector/j/?から
mysql-connector-java-5.0.4-bin JARファイルをダウンロード
してきましたが、本には%CATALINA_HOME%/common/lib にコピーする
ように書いてあるのですが、該当ディレクトリが存在しません。(古い本のせいでしょうか。)どこにコピーしたらよいのかわからず途方にくれています。どなたか教えてください。よろしくお願いします。
- 92 :
- 泣けるぜベイベー
- 93 :
- >>91
Extensionsのディレクトリに置けばよい。
それでもわからなければ、下のあたりのスレで聞けば?
くだすれJava(超初心者用)
http://pc8.2ch.sc/test/read.cgi/tech/1126470659/
- 94 :
- >>93
レスありがとうございます。行ってみます。
- 95 :
- 単発の書き込みならロックは不要?
- 96 :
- なわけ無いじゃん。
- 97 :
- >>96
下のサイトに書いてある意味は違うのかな?
「更新を1回のクエリでしか実行しないのであれば、
書き込みロックは不要。」
http://www.ecoop.net/memo/cat_mysql.html
- 98 :
- ロックが不要も何も、MyISAMは書き込みする際にテーブルロックしちゃうぞ
- 99 :
- エンジンとして、InnoDBじゃなくてBDBを使うメリットってあるん?
パフォーマンスがBDBの方がいいとか?
- 100 :
- >>98
ロックするつうか、クエリーってのは
アトミックなものじゃないのか?
- 101 :
- >>99
InnoDBは行レベルロック、BDBはページロック
InnoDBのほうが、その他の機能で人気が高い。
BDBは、導入が早いが不人気で不安定 だったと思う。
- 102 :
- InnoDBかMyISAMの2択でええんだな。
- 103 :
- その2択でええ。
で、ファイナルアンサーはどちら?
- 104 :
- OLTP→InnoDB
DSS→MyISAM
でええんちゃう?
- 105 :
- >>104
それでええ。
- 106 :
- テーブルのタイプで言えば、
マスタ型→MyISAM
トランザクション型→InnoDB
ヒストリカル型→MyISAM
ってところかな。
- 107 :
- MySQLってデータはどういう形で持ってるの?
- 108 :
- 所詮ファイル
- 109 :
- 亀だが、>>95のように疑問を思うヤシが
まさか世間に出てるものを書いてないだろうな・・・
- 110 :
- >>95だが、言いたいことがあるならはっきり言って下さい、>>109さん。
- 111 :
- 泣けるぜベイベー
- 112 :
- >>95氏はこの5年間に、約150社に対してクライアントサーバーシステムを
納品した実績を持っています。 内その90%は現在も基幹システムとして
順調に稼働しております。
- 113 :
- >110≠>95
いや、書いてなければいいんだ。
ま、mysqlなシステムだったらどっちでもええけど
- 114 :
- >>112
残り10%はまともに動いていないんだなw
- 115 :
- >>113
こんなところで憂さ晴らしか、
小さいぞ。
- 116 :
- 総合スレがレベル低くなりすぎて廃スレになったのに、
こっちまで廃スレにするつもりかよ・・・・・
厨房避けの初心者スレ作らないとダメか?
- 117 :
- いや自治に走るのはいいんだが、
myでまともなネタあるか?
- 118 :
- 最近更新遅いよね。
重大なバグがあるのか?5.1は??
無理して急がれても迷惑だけどね。
- 119 :
- ネタが無いというのでとりあえず振っておく
http://enterprise.watch.impress.co.jp/cda/software/2006/11/02/8973.html
実際にモノを見たわけじゃないけど、livedoor型のクラスタを実現する為のキットかな?
MySQL ENTERPRISEと競合しそうな気もするが。
- 120 :
- >>119
MySQL Enterprise は名前を変えただけで、いままでのMySQLサーバと同じだから
競合はしないのではないかと思う。
- 121 :
- >>120
まぁこれを導入するだけのとこは、
担当するSIがoracleを勧めるんじゃないかなぁ・・・
俺自身はここ1年oracle触ってないけど
- 122 :
- 1つのテーブル(A)からデータを取得する際、
そこに入っているある値(userだとします)の数字と、
異なるテーブル(B)に入っている数字の値が同じ場合、
Bからidという値とAの値すべてを取りだしたいのですが可能でしょうか?
簡単に書くと
SELECT `auto`,`num` FROM `A`
SELECT `id` FROM `B` WHERE `user`=(numの値)
これを一度に結合して出来ないでしょうか?
- 123 :
- >>122
どっちかつーとプログラム板じゃねぇ?
select a.auto,b.id from a inner join b on a.num = b.id
- 124 :
- >>123
122じゃないけどサンクス
これってcountすることもできるの?
select a.auto,b.count(id) from a inner join b on a.num = b.id
だとできなかったけど
- 125 :
- >>124
group by で集計単位付加
とりあえず自分でSQL書けないヤシは
Accessでテーブル作ってクエリで結合したSQLを参考に。
- 126 :
- ACCESSにそんな機能あるのか
確かに、MS系のツールだったら、クリックしていくだけでSQL出て来そうだよなぁ 遅くて汚くても
- 127 :
- ビルえもんが作ってくれます
- 128 :
- 遅くて汚いというより
込入った難しいものは出来ない感じ
- 129 :
- やり方はあるのかも知れないけど
「いいよ。もう俺がSQL書くよ」
そんな感じ。
- 130 :
- Access使ってる時点で
利用の範囲はたかが知れてる に1票
- 131 :
- データベースってC:\mysql\dataでしか作れないの?
E:\Web\につくりたいんだが
- 132 :
- つくれつくれ
- 133 :
- 作り方わからなすwwww
参考書でも買ってみるかな
- 134 :
- >>133
そうそう
悩めば悩んだ分だけ身につくもんだ
ちなみに参考書も手当たり次第に買うのは非効率
・入門書(インストや設定ファイルの設定法などが載ったヤツ)
・データベース構築法(PHPとの組み合わせがデフォ)
・リファレンス(SQL標準のより種類は少ないがMySQL専門の方がよい)
性格の全く違うこの3分類からそれぞれ自分に合ったヤツを探すべし
- 135 :
- Access使ってる時点で
MySQLを使わずに付属DB(ジェット何たらだったかな)で
ええでないか に100,000,000票
- 136 :
- >>131
もしかして、M$のOSは
アメリカではC:¥mysql¥dataがC:$mysql$dataという表記になるのか?
どちらにしても、気色悪い感じだなw
- 137 :
- >>134
ある程度PHPをいじれるようになってきたんで、
MySQLとの連携を考えていて・・・
自分にとっては2番目のが良さそう
とりあえず参考書代稼ぐためにバイト探します
- 138 :
- >>136
なんで$だよ
/だ
- 139 :
- >>138
アメリカとドルマーク掛けたんじゃね?
- 140 :
- 通貨記号で区切るのがM$
- 141 :
- >>136
そう言われてみると。。。
日本以外のキーボードって「\」ってあるの?エスケープ文字とかどうするの?
エスケープも「/」?
じゃぁ日本でも「\」の他に実は「/」でエスケープできるの?
- 142 :
- バックスラッシュ(\)
- 143 :
- >>138
/なんて使ったらダメだろ。
そもそも、2バイト文字と1バイト文字の見分けがつかないような環境が胸糞悪い。
- 144 :
- >>143
すまんスラッシュの向き間違えた
- 145 :
- /(^o^)\なんてこった
- 146 :
- \(^o^)/オワタ
- 147 :
- おれは「参考に」
と書いたんだが、思い込みの激しいやつばっかりか・・・
- 148 :
- 誰か、総合スレの続きを頼む
[MySQL 総合 Part10]
快速 RDBMS、MySQL の総合スレです。
前スレ[MySQL 総合 Part9] http://pc8.2ch.sc/test/read.cgi/db/1155794342/
[関連スレと過去ログ]
http://find.2ch.sc/index.php?STR=MySQL
http://makimo.to/cgi-bin/search/search.cgi?D=db&q=MySQL&sf=0&link2ch=on
[MySQL Developer Zone] http://dev.mysql.com/
[MySQL 日本語リファレンスマニュアル] http://dev.mysql.com/doc/mysql/ja/
[MySQL Internals Manual] http://dev.mysql.com/doc/internals/en/
[MyNA] http://www.mysql.gr.jp/
[MLja] http://lists.mysql.com/mysql-ja
・関連ツール及びユーティリティ
・関連書籍
>>2
- 149 :
- 建てんのか?
立てるなら厨房避けスレの方がよさげ
- 150 :
- こちらを初心者用としてテンプラに入れるとか。
- 151 :
- おまえら教えてください。
SQLクエリによるアクセスではなくテーブルに直接アクセスすると
速いときいたことあるんですがやり方がさっぱりわかりません。
- 152 :
- BerkleyDBなら、それ自体がSQLではないアクセス方法だし。
- 153 :
- トランザクションって
Aさんが
{
トランザクションスタート
セレクト
とってきたデータを見ていじったりして
アップデート
コミット
}
してる間に
Bさんが
{
セレクト
}
で読むことはできないってことでいいんですよね?
- 154 :
- そりゃロックだ。
- 155 :
- でわ
AさんのセレクトでFOR UPDATEいれたら
Bさんからは読めないようにできるんですか?
AもBも同じテーブルの同じレコードをセレクトしてるということなんですけど
- 156 :
- 実際にやってみりゃいいじゃん。
- 157 :
- >>151
HANDLERのことか?
- 158 :
- gikoがhoge1かhoge2かhoge3にあるかを
今はこうやってるんですが、もっといい書き方ありますか?
(hoge1 like giko) or (hoge2 like giko) or (hoge3 like giko)
- 159 :
- >>156
できなかったんですけど
どうやったら>>153みたいな
Aさんがいじってる間は
Bさんはいじれない状態にできるんでしょうか?
- 160 :
- >>157
それだ!
助かりました!ありがとうございます!!
- 161 :
- >>159
つ ロック
つ セマフォ
- 162 :
- >>159
Bさんのセレクト時も、select * from てーぶる for update ってすれば、
Aさんが終わるまで読めない。
- 163 :
- >>162
>>161
よくわかりますて
ありがとうござまいした
- 164 :
- mysql-gui-tools-5.0にしたら
MySQL Administratorのバックアップが使えなくなってしまった…
オプションいろいろ変えても
An Error occurred while executing the backup.
Error while analyzing an SQL statement.
って出てしまう。。
しかも古いバージョンがもう落とせない。。。
- 165 :
- サーバに出てるエラーログを見るのじゃ
- 166 :
- >>165
エラーログは何も出てないです…
最新のMySQL Administrator 1.2.5 rc でバックアップツールちゃんと動いてる人いますか?
- 167 :
- MySQLのrootのパスワードを忘れてしまいました。
パスワードのリセット方法などの解決手段はなにかありますでしょうか?
あればぜひアドバイスをお願いします。
- 168 :
- >>167
--skip-grant-tableオプション
やりかた云々はマニュアル参照のこと
(パスワードを忘れた時の方法として項がある)
- 169 :
- >>168
レスありがとうございます。
早速調べてみます。
- 170 :
- すみません、質問させて下さい。
MySQL 5.0.24で運用しております。
テーブルから一定時間以上前のデータを削除したいと思っているのですが
時間比較の書き方がわかりません。
テーブル構造は下記になります。
CREATE TABLE `c_condition` (
`c_condition_no` int(10) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,# No
`c_condition_name` varchar(32) UNIQUE NOT NULL default '',# 状態名
`c_condition_up_date` datetime NOT NULL default '0000-00-00 00:00:00',# アクセス日時
`c_condition_reg_date` datetime NOT NULL default '0000-00-00 00:00:00',# 登録日時
`c_condition_del_flg` tinyint(1) unsigned NOT NULL default '0'# 削除フラグ
) ENGINE=InnoDB DEFAULT CHARSET=ujis;
delete from table where `c_condition_up_date` > NOW()
と単純に現在日時以前のデータを削除する書き方はわかりましたが、
現在日時より2日前のデータを削除するのは、どのように書いたらよろしいでしょうか?
宜しければお力添えを頂ければ助かります。
- 171 :
- >>170
http://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html
演算子でやっても良いけど(むしろそっちの方が一般的)
- 172 :
- MySQL総合スレ じゃないと盛り上がらないね。
- 173 :
- >>64-66
遅レスだけど
ここで話題に?
>>31-32
- 174 :
- 5.0.27のソースをmakeしてmake testしたのですが、
ctype_ucs_binlog [ fail ]
となってしまいます。
ググってみたのですが、それらしい情報も見つかり
ませんでした。何か対策をご存じですか?
- 175 :
- .configのオプションは?
- 176 :
- >>175
返事ありがとうございます!
--prefix=/usr/local/mysql
--with-charset=ujis
--with-extra-charsets=all
です。
もしかすると最後のallをcomplexにすれば
何か変わるんでしょうか?
- 177 :
- うちではそのエラーは出ませんでした
- 178 :
- >>177
確認、お手数おかけします。
白箱のDebianにインストールしようとしているのですが
環境によるものでしょうか…。
帰宅後にパラメータ変えてチャレンジしてみます。
- 179 :
- >>176
ujisなら問題無し
- 180 :
- インデックスだけをあらかじめメモリに読み込んでおくことって出来ないの?
- 181 :
- >>179
ご協力いただきありがとうございます。
ちょっとこれ以上追求するのも時間がかかりそう
なのでポスグレのほうでチャレンジすることにしました。
解決しないのはキモチワルイのですが諦めも肝心ですね。。
- 182 :
- 「ほぼ」定型の XML 文書をRDBにマップして格納しようとしています。
具体的には集めてきた RSS/ATOM フィードを RDB に格納して処理しようとしています。
ただし、サイトごとに独自の XML 名前空間に属する要素で拡張されて
いる記述があるので、その部分は XML 文書のまま特に解釈せず
格納しようとしています。
このように XML 文書の断片を特に解釈せずに格納するときは、
varchar や blob で格納するのが常套手段なのでしょうか?
それとも MySQL には XML 文書の断片を扱うために特に用意された
手段があるモノなのでしょうか?たとえば XPath による
断片の抽出に対応してくれるとか。
- 183 :
- 結局、自分でたてました。。。
MySQL 総合 Part10
http://pc8.2ch.sc/test/read.cgi/db/1164490501/
- 184 :
- phpmyadminについて質問なんですけど
よろしいでしょうか?
フィールド型をENUMに設定した
フィールドを追加しようとすると必ずエラーが出てしまいます。
エラーが出るのはENUMだけなんですが、
このフィールド型を設定するには
事前に設定等がひつようなんでしょうか?
- 185 :
- >>184
エラーが出てるならそれを書かないとだれもわからんだろ。
- 186 :
- 5.0.27のWin版をインストールしたのでが、WinmysqlAdmin.exeが見当たらないのですが、どこにありますか?
- 187 :
- >>186
おまわりさんに聞くと良いんじゃないかな
- 188 :
- みなさんはDBの定義とかするのにWinmysqlAdminとCUIとphpMyAdminのどれが好きですか?
- 189 :
- >>188
phpMyAdmin が好き。
APC 入れればサクサク。
- 190 :
- >>186
最近のverにはもうない
4.0あたりまでじゃなかったかな
確かに知らん間になくなったな
- 191 :
- >>188
コンソール
- 192 :
- >>189
APCって何ですか?
- 193 :
- Apache2
- 194 :
- PHPのアクセレータのひとつ。
pear に入ってたっけ?
- 195 :
- 120万件のデータが入ったテーブルをalter table作業している最中に、selectかけたらメモリ食いつぶすんだけど。
テーブルのファイルサイズは780Mくらいなのに。2.5Gのメモリを使っても検索されずにout of memory...
そもそもalter中にselectするなって事なんですかね?
- 196 :
- なんでテーブル変更してる最中にデータ取り出すんだよw
- 197 :
- >>192
American Power Conversion
- 198 :
- >>192
Armored Personal Carrier
- 199 :
- >>192
http://cyber.apc.co.jp/?banner_id=ga001
- 200 :
- 質問させて下さい。
WinXP Pro Sp2
MySQL 5.0.24で動かしています。
CREATE TABLE `vote_total` (# パーソナルデータ
`vote_total_fileNo` int(10) unsigned NOT NULL PRIMARY KEY,# ファイルNo
`vote_total_judge_yes` int(10) unsigned NOT NULL default '0',# 評価(良い)
`vote_total_judge_no` int(10) unsigned NOT NULL default '0',# 評価(悪い)
`vote_total_reg_date` datetime NOT NULL default '0000-00-00 00:00:00',# 登録日時
`vote_total_del_flg` tinyint(1) unsigned NOT NULL default '0'# 削除フラグ
) ENGINE=InnoDB DEFAULT CHARSET=ujis;
上記の様なテーブルで情報を入れる際に、
1:`vote_total_fileNo` = 1レコードが在れば`vote_total_judge_yes` + 1をアップデートし、他のカラムはアップデートしない。
2:`vote_total_fileNo` = 1レコードが無ければ、`vote_total_fileNo` = 1と`vote_total_judge_yes` + 1をインサートする。
この処理を1回の接続(一つのsql文)で行いたいと思いまして、mysqlドキュメントを読みつつ、
replaceを使えばいいかなと思ったのですが、replaceを使うと、`vote_total_judge_yes`以外のカラムが初期値に上書きされてしまいます。
そこで色々読みあさっているとWHEN 〜 THEN 〜 ELSEならできるかなと思ったのですが、
少しSQL文が複雑になってしまうので、できればreplace構文のような形式で他のカラムが初期化上書きされないような方法は無いでしょうか?
宜しくお願いします。
- 201 :
- すみません
# パーソナルデータ
ってのは関係ないので気にしないで下さい。
- 202 :
- ふむふむ、パーソナルデータね
- 203 :
- だれかご教授お願いします。
ACCESSでMysqlをODBC経由で接続したいのですが、
MYSQLにローカル接続する時は上手く行きましたが、
ネットワーク経由で接続する時に上手くいきません。
[CONNECTER/ODBC]の設定で、恐らくSERVERの項目を
変える必要が有ると思うのですが、DBサーバーの
コンピュータ名を入力しても駄目でした。
宜しくお願い致します。
- 204 :
- インスコして、mysqladmin ping実行しても10061エラーばっかり/(^o^)\
サービス見ても 自動 開始 で実行されてる/(^o^)\
どなたか御指摘お願いします
MySQL 5.1
- 205 :
- 追記
mysqladmin ping -u root -p
Enterpass:root
mysqld is alive
と、上記のようにはできました。
また、mysqlshowでもエラーが返ってきます
/(^o^)\ナンテコッタイ
- 206 :
- >>204
Verを書けよ
- 207 :
- 質問です。
MySQL5.0系をwin環境で使用しています。
DBの用途はMTブログのみです。
MySQLをインスコしてデフォルトのキャラクターセットで使用していましたが、phpmyadminで文字化けする為文字を2バイト文字の使用できるutfやeucに変更しようと頑張ってます。
もし変更出来たとして、変更前に書き込まれてるデータの文字は変換出来るのでしょうか?
変換されないとすれば、新たにデータベースをutfなどで作り、元のデータをインポートすれば表示されるものなのでしょうか?
何分MySQL初心者なものでして、ご教授願えれば幸いです(´・ω・`)
- 208 :
- 自動的に変換されない
全部自分で直す
- 209 :
- >>204
つまり、rootでログインしてたら実行できるけど、ログインしていない状況では
エラーになる、ということで悩んでるの?それなら、MySQLは正常に動いてると思う。
逆に、その状態が異常だと何処で教わった?
- 210 :
- >>203
まず、ネットワーク経由でのアクセスを許可してるよね?
- 211 :
- >>208
たいした量じゃなかったんでMTのデータテキストで書き出し
新しいDBにしてから読み込みで解決です。
時間かかったwww
おかげで年越しです。
- 212 :
- >>208
上の柿>>207です。
名乗るの忘れてました(^_^.)
- 213 :
- VC7でMySQL 5.0.33がコンパイルできませぬ。
バイナリ配布してくれなくなったからorz.
sql_yacc.cc(13646): warning C4065: switch 文に 'default' はありますが 'case' ラベルがありません。
sql_yacc.cc(27193): warning C4102: 'yyerrorlab' : ラベルは 1 度も参照されません。
c:\mysql-5.0.33\libmysqld\sql_yacc.cc(13759): warning C4700: 値が割り当てられていないローカルな変数 'MYSQLlval' に対して参照が行われました。
C:\mysql-5.0.33\sql\sql_select.cpp(8953): warning C4291: 'void *Sql_alloc::operator new[](size_t,MEM_ROOT *)' : 初期化コードが例外をスローすると、'new' 演算子を使用しているとメモリを解放しません。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C3209: '????' : Unicode 識別子は現在サポートされていません。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : '}' が、識別子 '????' の前に必要です。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : ';' が、識別子 '????' の前に必要です。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): fatal error C1075: 左側 中カッコ '{' に対応するものが '\mysql-5.0.33\sql\sql_locale.cpp(40)' で見つかる前に EOF が検出されました。
C:\mysql-5.0.33\sql\sql_cursor.cpp(154): warning C4291: 'void *Sql_alloc::operator new(size_t,MEM_ROOT *)' : 初期化コードが例外をスローすると、'new' 演算子を使用しているとメモリを解放しません。
C:\mysql-5.0.33\sql\sql_cursor.cpp(213): warning C4291: 'void *Sql_alloc::operator new(size_t,MEM_ROOT *)' : 初期化コードが例外をスローすると、'new' 演算子を使用しているとメモリを解放しません。
C:\mysql-5.0.33\sql\net_serv.cpp(286): warning C4101: 'count' : ローカル変数は 1 度も使われていません。
C:\mysql-5.0.33\sql\net_serv.cpp(286): warning C4101: 'ready' : ローカル変数は 1 度も使われていません。
c:\mysql-5.0.33\libmysqld\lib_sql.cpp(285): warning C4244: '=' : 'unsigned long' から 'char' に変換しました。データが失われているかもしれません。
c:\mysql-5.0.33\libmysqld\lib_sql.cpp(829): warning C4244: '初期化中' : 'my_ulonglong' から 'uint' に変換しました。データが失われているかもしれません。
c:\mysql-5.0.33\libmysqld\lib_sql.cpp(1044): warning C4102: 'err' : ラベルは 1 度も参照されません。
C:\mysql-5.0.33\sql\item_cmpfunc.cpp(1795): warning C4101: 'buff' : ローカル変数は 1 度も使われていません。
C:\mysql-5.0.33\sql-common\client.c(1787): error C2373: 'cli_mysql_real_connect' : 再定義されています。異なる型修飾子です。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C3209: '????' : Unicode 識別子は現在サポートされていません。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : '}' が、識別子 '????' の前に必要です。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : ';' が、識別子 '????' の前に必要です。
C:\mysql-5.0.33\sql\sql_locale.cpp(40): fatal error C1075: 左側 中カッコ '{' に対応するものが '\mysql-5.0.33\sql\sql_locale.cpp(40)' で見つかる前に EOF が検出されました。
c:\mysql-5.0.33\sql\sql_locale.cpp(40): error C3209: '????' : Unicode 識別子は現在サポートされていません。
c:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : '}' が、識別子 '????' の前に必要です。
c:\mysql-5.0.33\sql\sql_locale.cpp(40): error C2146: 構文エラー : ';' が、識別子 '????' の前に必要です。
c:\mysql-5.0.33\sql\sql_locale.cpp(40): fatal error C1075: 左側 中カッコ '{' に対応するものが 'sql_locale.cpp(40)' で見つかる前に EOF が検出されました。
mysqlserver fatal error LNK1181: 入力ファイル '\mysql-5.0.33\mysqldemb\release\mysqldemb.lib' を開けません。
test_libmysqld fatal error LNK1181: 入力ファイル '\mysql-5.0.33\lib_release\libmysqld.lib' を開けません。
- 214 :
- >>213
mysql-5.0.33フォルダをデスクトップに置いてコンパイルした結果をもう一度
教えてくださいw
- 215 :
- てすつ
- 216 :
- >>214
なぜデスクトップ?
- 217 :
- ムーバブルタイプ、MySQLでやろうとしたらこんなん出ましたw
Data too long for column 'template_text' at row 1
- 218 :
- ヴァージョン4と5の違いって何ですか?そんなに違うものですか??
- 219 :
- ガッテム!
- 220 :
- >>218
全然違う。
ネットで調べればすぐわかる。
つか、なんで今さらそんな話を。。。
- 221 :
- >>218
うちの嫁と隣の嫁ぐらいの違いがある
- 222 :
- そうですか!>>221さんは両方とも使ったことが
あるんですね! どっちがよかったですか?
- 223 :
- 隣の嫁
- 224 :
- ジーザス!
- 225 :
- 複数カラムのJOINって無理ですか?
id,flg,reason
id,koyo,kousei,kenkou
の二つを合体させたいんですが、
flgは無し、アリ、申請中で、reasonは理由です。
- 226 :
- >>225
>複数カラムのJOINって無理ですか?
なにを聞きたいのか、全然わからん。
わからんが、とりあえず答をぶっぱなしてやる。
つ LEFT OUTER JOIN
- 227 :
- 5.0.41にしたらアプリケーションがことごとく動かなくなった。
いろいろ試してみたら5.0.27より後のバージョンでNGになってる。
大幅な仕様変更があったんでしょうか。
- 228 :
- >>222
隣の芝生は青く見える。
- 229 :
- スレ違いかもしれんが、10年以上前に秋葉原で購入した
マハーポーシャのパソコンにNetBSDインストールして
MySQL5.2を入れて見ようと考えてます。バージョンが安定してないのと
ハードのスペックが余りにも古いのでデータベースがきちんと
動いてくれるのか不安です。
用途は、8000人分の個人情報を管理することです。
- 230 :
- >>229
スペックで考える前に
8000人分の個人情報を預かる責任として考えろ
- 231 :
- >>229
警察から連絡があったでしょ?OSが不正コピーかどうかの確認。
- 232 :
- マハーポージャってなに?
オウムのやつ?
- 233 :
- すみません。
MySQL 5.0.41 をインストールしたのですが、
my.ini を編集しようとして、開こうとしても、他のプロセスによって書き込みが禁止されていますといわれて、編集できません。
mysqladmin -uroot -p**** shutdown
で、シャットダウンを済ませたのですが、それでも書き込みが禁止されています。
my.ini はどうやって編集するのでしょうか。
- 234 :
- 自己解決しました。
Vistaの変なセキュリティ機能の所為でした。
ファイルの上書きでなんとか書き換えました。
- 235 :
- MySQLに接続するために
日本語サーバー対応版 libmysql.dll
を探しているのですがSoft Agencyのサイトからは
ダウンロードできなくなってるみたいです。。
どこか別のサイトでダウンロードできるところはないでしょうか?
- 236 :
- 公式の奴はあかんの?
- 237 :
- http://tv11.2ch.sc/test/read.cgi/geinin/1182857971/90
- 238 :
- すいません、教えてください。
gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
e:\MySQL\bin\mysql.exe Ver 14.12 Distrib 5.0.37, for Win64 (unknown)
です。
以下のような簡単なプログラムを書いてコンパイルしたところ
undefined reference to`_mysq_init'といわれてしまいました。
何が足りないのでしょうか。
====================ソース=========================
#include<stdio.h>
#include"mysql.h"
int main()
{
MYSQL *mysql;
if(mysql_init(mysql)==NULL)
{
fprintf(stderr,"Cannot init MySQL");
return 1;
}
return 0;
}
==================コンパイルオプション==================
gcc -Ie:/MySQL/include \
-Le:/MySQL/include \
-Le:/MySQL/lib/opt \
-lmysqlclient \
-llibmysql \
test.c
- 239 :
- すいません。
コンパイルオプションに変な改行が入ってますが、
無いものとして考えてください。
- 240 :
- つ-lzlib
- 241 :
- test.cよりあとに、-lつける
-lの順番と位置には意味があるので
- 242 :
- >>240-241
レスありがとうございます。
test.cよりあとに-lをつけたのですが駄目でした。
ライブラリの順番もいろいろ入れ替えてみたのですが。
ところでstringsでmysqlclient.libをみてみたら
以下のようになったのですが、_mysql_init@4の@4とは何なのでしょう?
bash-3.1$ strings mysqlclient.lib | grep mysql_init
_mysql_init@4
_mysql_init_character_set
_mysql_init@4
_mysql_init_character_set
_mysql_init@4
_mysql_init@4
_mysql_init_character_set
- 243 :
- _関数名@数字なら、stdcallの関数で、数字は引数のバイト数
stdcallの関数って教えないと駄目じゃないかな。
- 244 :
- >>243
レスありがとうございます。
mysql.hを覗いてみたところ以下のようになっていました。
#ifdef __CYGWIN__ /* CYGWIN implements a UNIX API */
#undef WIN
#undef _WIN
#undef _WIN32
#undef _WIN64
#undef __WIN__
#endif
#if !defined(__WIN__)
#define STDCALL
#else
#define STDCALL __stdcall
#endif
実はCygwinでやっているのですが、Cygwinだと__stdcallが取り除かれるようです。
リンクするライブラリを間違えているということでしょうか。
ためしに無理やり__stdcallを付けてみたら山のようにリンクエラーがでました。
- 245 :
- 環境をCygwin&gccからコマンドプロンプト&VCに変えたら
上手くいったのでとりあえずこれでやることにします。
レスありがとうございました。
- 246 :
- mysql-test-run 及び make testは失敗するのがデフォルトですか?
CentOSのmysql-5.0.48.src.rpmからrpmbuildでrebuildしたんですが、make testの段でエラーになります。
specの中身は、
CFLAGS="-O2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv"
CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions"
CC=gcc(ver3.4.6-8) CXX=g++(ver3.4.6.8)
./configure --with-readline --with-openssl --without-debug --enable-shared --with-bench --localstatedir=/var/lib/mysql \
--with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user="mysql" --with-extra-charsets=all \
--with-innodb --with-ndbcluster --with-berkeley-db --enable-local-infile --enable-largefile --enable-thread-safe-client \
--disable-dependency-tracking --with-named-thread-libs="-lpthread"
とこうなってます。
で、%build(make)セクションは問題なく進んでいるようですが、make testに入ってから、
Logging: mysql-test-run.pl
MySQL Version 5.0.48
Skipping ndbcluster, mysqld not compiled with ndbcluster
Skipping SSL, mysqld not compiled with SSL
Using MTR_BUILD_THREAD = 0
Using MASTER_MYPORT = 9306
Using MASTER_MYPORT1 = 9307
Using SLAVE_MYPORT = 9308
Using SLAVE_MYPORT1 = 9309
Using SLAVE_MYPORT2 = 9310
Using IM_PORT = 9312
Using IM_MYSQLD1_PORT = 9313
Using IM_MYSQLD2_PORT = 9314
Killing Possible Leftover Processes
Removing Stale Files
Creating Directories
Installing Master Database
Installing Master Database
Installing Slave1 Database
mysql-test-run: WARNING: running this script as _root_ will cause some tests to be skipped
=======================================================
Starting Tests in the 'main' suite
TEST RESULT TIME (ms)
-------------------------------------------------------
mysql-test-run: WARNING: Process 8991 died
alias [ fail ]
ERROR: Failed to start master mysqld 0
Aborting: alias failed in default mode. To continue, re-run with '--force'.
Stopping All Servers
mysql-test-run: WARNING: caught exit of unknown child -1
mysql-test-run: WARNING: Forcing kill of process 8991
と出て、いきなりFaild出ています。
- 247 :
- そこで、src.rpm中のtar.gzを、自分で展開して、
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
(mysql4.1マニュアルにあったまんま)から、makeしてみたんですが、
・item_cmpfunc.cc:861: 警告: converting of negative value `-0x000000001' to `ulonglong'
・sql_show.cc:1467: 警告: キャストによってポインタから異なるサイズの整数となります。
上の二件警告がでて、コンパイル自体は通るんですが、で、make testとしたら、上と全く同じエラーがでます。
とりあえずmake installして、./script/mysql_install_dbしてから、./bin/mysqld_safe & で起動して、
./bin/mysql -u root で入って、select,create table,insert,delete 等は一応動いてるようです。
でもそこで mysql-test/mysql-test-runしてみるとやはり上記のエラーが・・・。
途中でこけるんではなくて、いきなり一発目のテストからこけてる。
ちなみに --force オプションつきでやってみると、ものの見事に全てのテストが Faildします。
その時、別のターミナルからtopでプロセス監視してると、mysqld<defunct>が二個くらい出てきては
数秒したら消えるの繰り返しでした。
’Failed to start master mysqld 0’とあるので、テスト用のmysqldが正常に起動できてない(ゾンビプロセス化)
ような気がしますが、mysql-ABや、MLで’Failed to start master mysqld 0’とか’mysql-test-run’とかで
検索かけても、マニュアルには「全てのテストは通ります。」としか書かれてないし、
ggったところ一件だけ同じ症状(ver5.0.41だけど)があったんですが、
そこにも「通る気配がないので、make installして起動さしますた。」ってことになってます。
こちらの皆さんは、ソースからmakeしてmake testとか、script/mysql-test-runとかちゃんと通りますか?
あと、rpmからの時は、起動してるとき ps -A | grep mysql で mysqld_safe と mysqld の二つしか
プロセスHitしないのに、ソースからmake install して ./bin/mysqld_safe した時は、mysqldプロセスが
八匹くらい常駐してるんですが、これも正常なんですか??
- 248 :
- rpmbuildでのtest全失敗はやったことある。
> mysqld<defunct>が二個くらい出てきては
> 数秒したら消えるの繰り返しでした。
いっしょいっしょ。
iptablesで塞いでるからかなーとか考えて
そのときは深く追求しないで寝てしまった。
あと
関係ないけど5.0.48は大バグがあるから使っちゃだめ。
| MySQL Enterprise 5.0.48 Binaries Withdrawn
| After the recently released MySQL Enterprise 5.0.48 binaries
| were made available for download, it was discovered that they
| are affected by Bug #31001.
|
| Because of this, it was decided that MySQL Enterprise 5.0.48
| binaries should be withdrawn from the MySQL Enterprise Server
| download page, and they have now been removed. The previously
| released MRU, MySQL 5.0.46, has been made available in its place.
- 249 :
- お返事ありがとうございます。
そうですか。
本スレ?でも書いたんですが、5.0.48.src.rpmからではなくて、本家の5.0.45.tar.gzからmakeしても、全く同じ症状がでてます。
ちなみにtop監視してて気づいたこと、mysqld<defunct>以外にndb-なんちゃらってのが出てきては消えを繰り返してたので、
クラスターエンジン(?)がらみかなーとかとも考えてみたんですが、よくわかりません。
> あと
> 関係ないけど5.0.48は大バグがあるから使っちゃだめ。
うはー、さっきBug#31001をチラッと見に行きましたが、かなり重大っぽいですね。
CentOSのrpmにはいくつかPatchがあたってるようなので、ちょっと調べてみます。
- 250 :
- --with-mysqld-ldflags=-all-static
これがついてるとNPTLじゃなくてLinuxThreadになるらしい。
なのでtopとかでスレッド数のぶんプロセスがあがってしまう。
mysql-test-run.plは調べ中だけどrootでやると確実に失敗する模様。
元々mysqldはセキュリティ上root権限ではあがらないため。
明示的に--user=rootとすればあがるのでmysql-test-run.plに
パッチをあてて実験中。
SRPMのリビルドの過程ではmake testはしないのが普通なのかなあ。
あらかじめ
| export MYSQL_RPMBUILD_TEST=no
するとmake testを飛ばすみたいね。
- 251 :
- > 明示的に--user=rootとすればあがるのでmysql-test-run.plに
> パッチをあてて実験中。
test通った。ので原因確定。
結論として、
MySQLのSRPMはrootでなくて一般ユーザでrpmbuildすべし。
一般ユーザでrpmbuildしたらパッチなくてもtest通った。
参考 http://memo.blogdns.net/rpmbuild.html
ねる
- 252 :
- >>250,251
わざわざ検証ありがとうございます。
実はこっちでもちょっと前に、一般ユーザーでテスト通りました。
mysql-test/var/log/master.errに
’Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!’
ってあったんで、マニュアルの"Security"部分眺めながら、--user=rootでやっみたんですが、それでもFailedになったんで、
sudo -u mysqlでやって、今までとは違うエラー内容(mysql-test/var/以下にファイル作れません)でたので、
chmod 775 -R mysql-test/でやってみてテスト進みました。
ぬわんてこった〜〜!!って真剣思った。
rpmbuildかける時はずっとrootでやってたんで、まさに灯台本暗しとゆうかなんとゆうか・・・。
> --with-mysqld-ldflags=-all-static
> これがついてるとNPTLじゃなくてLinuxThreadになるらしい。
> なのでtopとかでスレッド数のぶんプロセスがあがってしまう。
これは知らなかった。これもサンクスです。
あと、Centの5.0.48には、当該のPatch当たってなかった。
さすがにorder by desc と asc で並びが同じ(w)ってのはまずいですね。(myisamはちゃんとなるみたいだけど)
これから一般ユーザーでrpmbuild試してみようと思いましたが、眠いので明日にします。
- 253 :
- すいません。>>252は246の間違いです。
しかもあげてしまった・・・orz。
- 254 :
- mysqlの文字列の型で、charとvarcharとtextとありますが、
それぞれ、どのような文字列の場合に使用するものなのでしょうか?
たとえば、高速化をはかりたい場合はcharで、ディスクの容量を節約したい場合は、varcharで
といった具体に目的に応じて、使用する型を選ぶと思うのですが、
その判断方法を教えていただきたく、ごきょうじゅお願い致します。
- 255 :
- 固定長・・・・・・・・CHAR
可変長・・・・・・・・VARCHAR
256文字以上・・・TEXT
でいいんじゃね?
- 256 :
- MySQLのVARCHARは64KB入るよ。
CHARは余った末尾は空白埋めされる。
VARCHRは空白埋めされない、末尾に空白を入れても削られる。
TEXTは空白埋めされないけど、末尾に入れた空白はそのまま残る。
なので
CHAR:何か固定桁のIDを入れる
VARCHAR:何かの名前を入れる(末尾の空白はいらない!)
TEXT:文章を入れる(末尾に空白を残したい人がいるかもしれない!)
っていうのがお作法じゃね?
性能差はたぶん測定不可能だと思う。
- 257 :
- >>256
5.0からvarcharの末尾空白は削られなくなったというような話をどっかで聞いたような気がする。
- 258 :
- ほんとだorz
しらんかった
- 259 :
- ありがとうございます。
結局、varcharとtextはでもどっちでもよいという話ですね。
- 260 :
- MySQLって、primary keyをselectすると、
そのレコードの全てのカラムのデータをひっぱってくるという話を
聞いたことがあるのですが、これは事実でしょうか?
事実とした場合、4000文字程度のデータが入るカラムをtext型として
データベースに追加することを考えた場合、
既存のテーブルに追加すると性能が落ちる気がするので、
同じprimaryキーの別のテーブルを新しく作成して、
そこにtextのカラムを追加したほうがいいのかなと考えたのですが、
この考え方はあっていますでしょうか?
よろしくごきょうじゅお願いします。
- 261 :
- >>260
http://www.mysql-ucj2007.jp/session/index.html
セッションJ25の下の資料のP13〜15、17〜18を読めばいいんじゃない?
興味があったらセッションJ14のP18〜19も読めばいいと思うよ。
- 262 :
- >>260
たぶんいろいろ勘違いしてると思われ。
- 263 :
- >>261
ありがとうございます。読んでみますm(_ _)m
- 264 :
- 変則的な使い方だと思うのですが、ビューについて質問させてください。
<条件>
共通のカラムをもった別のテーブルを2つ以上用意する。
(カラムは共通のもの以外にもある可能性がある。例として共通カラム:ID,NAME)
<質問1>
これらのビューを作成するときには、
create or replace view view_name as select ID,NAME from * where 条件式;
で作成可能でしょうか?
<質問2>
上記SQL文でビューに組み込まれるテーブルは少なくともID,NAMEカラムを持っていることが条件となり、
ID,NAMEカラムの片方だけを持つテーブル→ビューには組み込まれない。
ID,NAMEカラム以外にもカラムを持つテーブル→ビューに組み込まれる。
となるのでしょうか?
<質問3>
元のテーブルのデータがUPDATE,INSERT等で更新し、ビューを意図的に更新しない時ビ
MySQLではビューの検索ではどのような挙動になるのでしょうか?
具体的には、
NAMEフィールドが更新された→検索に引っかかるのは更新前の文字列か更新後の文字列か?
レコードが削除された→検索には削除されたレコードも引っかかるのか?
以上です。
よろしくお願いします
- 265 :
- いいからマニュアル読めよ。
http://dev.mysql.com/doc/refman/5.1/ja/create-view.html
1はできん。
3は意味不明。
VIEWってなんだか理解してる?
- 266 :
- kMOIOg <a href="http://qktiebmtyoyx.com/">qktiebmtyoyx</a>, [url=http://koqpvsirptcc.com/]koqpvsirptcc[/url], [link=http://lhokxhsphplc.com/]lhokxhsphplc[/link], http://ozgxkrnwwczo.com/
- 267 :
- Hi! Nice site! <a href=http://ozzyosbournemusic.blogspot.com/ >hi </a> [URL=http://ozzyosbournemusic.blogspot.com/ ] lol wut???[/URL] http://ozzyosbournemusic.blogspot.com/
- 268 :
- AqyHQz <a href="http://yoqqrkalkrud.com/">yoqqrkalkrud</a>, [url=http://vdkyeaqetvrq.com/]vdkyeaqetvrq[/url], [link=http://aheagorqsotp.com/]aheagorqsotp[/link], http://atpwdxejmkva.com/
- 269 :
- http://gkinyn.cn mp3 dmusic downloads ipod
- 270 :
- http://ksrajt.cn/olympia-green-fuels.html Olympia green fuels
http://ksrajt.cn/dj-green-lantern.html Dj green lantern
http://ksrajt.cn/cello-design-rug.html Cello design rug
http://ksrajt.cn/web-design-ribble-valley.html Web design ribble valley
http://ksrajt.cn/crane-river-fish-study.html Crane river fish study
- 271 :
- http://ktmyve.cn/escort-monique-new-york.html Escort monique new york
http://ktmyve.cn/laser-vaginal-rejuvenation-new-york.html Laser vaginal rejuvenation new york
http://ktmyve.cn/fetish-restaurant-new-york.html Fetish restaurant new york
http://ktmyve.cn/pda-cube-x-serial-rubik-pocket-pc.html Pda cube x serial rubik pocket pc
http://ktmyve.cn/ear-piece-for-blackjack-pda.html Ear piece for blackjack pda
- 272 :
- 5がいかに人気が無いか分かるな
- 273 :
- MySQL5系からトリガという機能が追加されたらしいのですが、
このトリガって具体的にどのようなシチュエーションで利用されるものなのでしょうか?
(#トリガの説明聞いただけでは、いまいち何の役にたつのかわからないのです。。)
- 274 :
- >>273
サマリテーブルの更新。
- 275 :
- >>273
このへん読んでみたらどうか
http://www.techscore.com/tech/sql/14_02.html
- 276 :
- QueryBrowserで、右側のテーブル名ダブルクリックすると、上のクエリ窓に
SELECT * FROM [テーブル名] [テーブル名のイニシャル]
が出ますよね?
それで、ある一部のテーブル名だけ
SELECT * FROM '[テーブル名]' [テーブル名のイニシャル]
とシングルクオートで囲まれて出てきます。
このせいでアプリケーションでの検索ができません。
何が原因でしょうか?テーブル作成時もほかのテーブルと同じように作ったのですが・・・
- 277 :
- >>274
>>275
ありがとうございます
- 278 :
- v8NGgX <a href="http://vfmgfkqvuyub.com/">vfmgfkqvuyub</a>, [url=http://wylrgaydxuvp.com/]wylrgaydxuvp[/url], [link=http://cljwxffwlhfp.com/]cljwxffwlhfp[/link], http://ldpsnlauqwzc.com/
- 279 :
- MRgoyb <a href="http://efuiqwatnglf.com/">efuiqwatnglf</a>, [url=http://zwmqqnuyvkyz.com/]zwmqqnuyvkyz[/url], [link=http://aenphnyjgyvo.com/]aenphnyjgyvo[/link], http://npmlelkodlnx.com/
- 280 :
- DELETE FROM userlist;してしまった…。バックアップが見つからないorz
- 281 :
- 自宅のパソコンでPHPやJavaを勉強してるんだけど。
MySQLにPHPやJavaから接続したいんだけど、
PHP用のデータベースはEUC-JP、Java用のデータベースはWindows-31Jにしたいんだけど
データベース作成のときのCREATE DATABASE構文でCHARACTER SET CP932 とかUJISとかに
すればひとつのMySQLの中で別々の文字コードを持ったデータベースってできるの?
教えてえろい人。
- 282 :
- でけるよ
- 283 :
- thx >>282
明日やってみるYO!!!
- 284 :
- shutdownして再び動かそうとしたら
プロセス残ってるよとか言う意味のエラーが出て起動できねえ糞
- 285 :
- >>284
pid ファイルが残ってるんじゃないの
- 286 :
- >>285
pidファイル探したが見つからなくて途方に暮れてる
- 287 :
- リブートしたら治るかなあ
- 288 :
- >>286
OS は?
- 289 :
- linuxです
MySQL3と4を共存させてます
- 290 :
- strace してみて、エラーメッセージ直前でどんなシステムコールを発行しているか
見てみると良いかもね。特に fstat とか open 辺りを中心に。pid ファイルなら
それで見つかると思う。
あとは普通に mysqld のエラーログを端から眺めてみるとか。
- 291 :
- それっぽいpidファイル見つかったけど中身のプロセスidは
psで確認してみたら動いてるっぽいし…(すでにmysql3が動いてるのでそれの?)
- 292 :
- 言い忘れてましたがすでにMySQL3は動いています
起動できないのはMySQL4です
- 293 :
- >>292
新しいほう(v4)のcnfで、data_dir、pidの場所、mysql.sockの場所、bindするPort
全て異なる設定にする。
- 294 :
- >/var/lib/mysql4/bin/mysqld_safe -u root -p -P3307 --defaults-file=/var/lib/mysql4/data/my.cnf --pid-file=/var/lib/mysql4/data/mysql4.pid --datadir=/var/lib/mysql4
>Starting mysqld daemon with databases from /var/lib/mysql4
>STOPPING server from pid file /var/lib/mysql4/data/mysql4.pid
>080508 17:25:20 mysqld ended
orz...
- 295 :
- MySQL4はあきらめてで5を入れて試してみます。
回答してくれた方ありがとうございました。
- 296 :
- >>295
> /var/lib/mysql4/bin/mysqld_safe ・・・・
のところの、-u root いらない。(ってか、確かroot権限でmysqldは起動できないはず)
あと、--defaults-file= 指定するなら、その後ろ側にある各種コマンドラインオプションも.cnfに書いてしまえ。
もうひとつ、予想だけど、/var/lib/mysql4 はほんとにdatadirかな?/var/lib/mysql/dataではなくて?
- 297 :
- >もうひとつ、予想だけど、/var/lib/mysql4?はほんとにdatadirかな?/var/lib/mysql/dataではなくて?
そのとおりでした。/var/lib/mysql4/dataでした
ただ、そのへんを直しても同じエラーでこけるっす・・・
- 298 :
- >>297
もう少しエスパーしてみる。
そのPathからして、多分ソースから、--prefix=/var/lib/mysql4 としてコンパイル&インストールしたんだと思われるけど、
まず、動いてるほうのmysql3を止めてから、4のほうを起動出来るか試してみる。(cnfは二つ目起動させる設定で)
それで起動出来なければ、単独とか2つ同時起動とか関係ない。そもそも起動の仕方が間違ってる。
で、予想としては、mysql権限テーブルが作成されていないとか、datadir以下のパーミッション絡みかな。
ここら辺は詳しくは、本家のmanualなりdocument見てくれ。
ここいらがわかってないと、5.0入れても多分起動できない。
逆に、上の段階で起動出来てしまったら、原因ようわからん。(オレではお手上げ)
ちなみに、ウチの環境で、>>293の通り即席でやってみたら、2つ同時起動はできた。(v4とv5でだけど)
ちゃんと別々に動作してるのも、ps と それぞれにconsolから接続して確認した。
- 299 :
- すみません、上司と相談した結果MySQL4をアンインストしてMySQL5を入れることになりました
それでmysqld_safeで無事起動できました
結局大本の問題は解決できませんでしたが色々相談に乗ってくださってありがとうございました
- 300 :
- エスパーですまん。
なにがなんだかわからん。
同じテーブルをアクセスしているが
PHP経由は大丈夫で
突然、JDBC でおかしくなった。
昨日までOKだった。
OS再起動までした。
以下、mysql.log
080602 21:23:40 5 Connect root@localhost on
5 Query SET NAMES ujis
5 Init DB test
5 Query select * from tab1 order by number
5 Quit
--------------------------------------------------------------------↑ PHP で接続
--------------------------------------------------------------------↓ JDBC
080602 21:29:04 6 Connect root@localhost on test
6 Query 闃爿931,蹌/..%#4/2蹣!6!逡鉐鉚琥爛6)3)/.篁36.逎6)3)/.=珸 閠
玻!2)!",%.!-%瓔膃!.'5!'%艢燹2)!",%.!-%瓔瑯.%472)4%4)-%/54艢燹2)!",%.!-%瓔瑯).4%2!#4)6%4)-%/54艢燹2)!"
,%.!-%瓔瑯7!)44)-%/54艢燹2)!",%.!-%瓔瑯#(!2!#4%23%4#,)%.4艢燹2)!",%.!-%瓔瑯#(!2!#4%23%4#/..%#4)/.艢燹2)!"
,%.!-%瓔瑯#(!2!#4%23%4艢燹2)!",%.!-%瓔瑯#(!2!#4%23%43%26%2艢燹2)!",%.!-%瓔瑯48)3/,!4)/.艢燹2)!",%.!-%瓔瑯42!.3!#4)/.)3/,!4)/
以下 カット
なにか ヒントでいいからお願い。
- 301 :
- 経過
他のJDBC アプリでログが出力されていたので
アプリのソースってことがわかりました。
しかし、ゴミになるってことはなに?ソースを追うしかないのか?
- 302 :
- 自己れす 解決
connect まではログにでているので、select 文を べた書きにしてうまく流れたので
元に戻して 確認。
jdbc のバージョンがでるところからおかしくなっていたのでJDBCなのか?
そうなのか?
- 303 :
- 質問させて下さい。
これまで、Linux上で動作させていたphpスクリプトをWindowsに以降しようとしているのですが
phpからMySQLにINSERT文を行ったのですが、文字化けしてしまいます。
どうすれば直りますでしょうか?
・WindowsXP(Pro)
・php-5.2.5-Win32.zip
・mysql-5.0.45-win32
1※
mysql> SET CHARACTER SET SJIS;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'character_set%';
| Variable_name | Value
| character_set_client | sjis
| character_set_connection | latin1
| character_set_database | latin1
| character_set_filesystem | binary
| character_set_results | sjis
| character_set_server | latin1
| character_set_system | utf8
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\c
- 304 :
- 続きです。
2※phpスクリプト内部でINSERT文を実行する前に次のコードも入れています。
mysql_query('set character set sjis',$dbHandle)
3※組み立てられたSQLを画面上に print(""); で確認すると正常に日本語が入力されています。
4※MySQLのデータ操作を行う際にCSEも使っているのですが、CSEよりテーブルを開き直接日本語
を登録すると、その値は正常に日本語で登録されています。しかし、phpにて一覧出力すると ??? という
具合に文字化けしてしまいます。
あと、追加で質問させて頂きたいのですが、コマンドラインからMySQLを再起動するには
何というコマンドを実行すればよいのでしょうか?ぐぐっても中々ヒットしませんでした。
因みに、GUIツールとして MySQL Query Browserを使用しているのですがここから再起動とかも出来る
のでしょうか?
- 305 :
- >>303,304
まず、my.iniの設定から見直してみよう。
その show variables の結果から、サーバがLatin1で起動されてるのが分かる。
create databaseやcreate table時の指定が分からんからなんともだが、そのまま作成したとしたなら、
仮に、"set names cp932"したところで、変更されるのは"connection"と"client"のみ。
なので、mysqldがデータを受け取った時に、内部の保存コードである"latin1"に変換をかけてしまう。
そこで、当然cp932(ms-sjis)はlatin1にマップ出来ないので文字列が壊れる。
回避策は、以下の件とも絡むので後述。
> コマンドラインからMySQLを再起動するには
の件だけど、恐らく、>>303のpathから見て、インストーラでデフォルト設定でinstallしたんだろうけど、
それだと多分、Windowsのサービスに登録されてるはず。その場合はDos窓から、
nat start mysql (mysql5かも?) で起動、
net stop mysql (同上) で停止。
多分自動起動になってると思われるから、Winを立ち上げると同時に起動してるはず。
コントロールパネル→管理ツール→サービスからでも起動、停止が行える。
(QueryBrowser等GUIツールは使ったことないんで、ようわからん。すまん)
起動だけなら、install_pathのmysqld-nt.exeをダブルクリックか、Dos窓から、直接そのmysqd-nt.exeを叩けばよい。
停止は、install_path/bin/mysqladmin shutdown で。
- 306 :
- 続き
で、その起動時にオプションで、設定ファイル(my.ini)を読み込ませたり、charset他各種設定オプションを渡したりできる。
サービス登録の場合も、上記の「管理ツール」→「サービス」から、起動時のコマンドラインオプションを設定できる。
なので、charset等適切に編集したmy.iniを読み込ますように起動させればよい。
具体的な設定方法などは、本家のManual等を参照してくれ。
ちなみにWin版のバイナリ版phpは、php_mysql.dllがlatin1でコンパイルされてるので、
上記のことをやってなお、接続時に全てのクエリの前に "set names cp932" 等の処置が必要。
又は、上記の設定ファイル中で書くやり方もある。
それでは、がんばってくれ。
- 307 :
- ごめん。一つうそついてしまった。
php_mysql.dllじゃなくて、正確にはmysqlに付属のlibmysql.dllが、
デフォルトコードLatin1でコンパイルされているの間違い。
(まあ、phpバンドルのlibmysql,dllも同じことなんだけど)
- 308 :
- >>305さん
ご丁寧にレスありがとございます。
色々とお教え頂いた様に試してみたのですが相変わらず、文字化けしてしまします。
1.my.ini
[client]
default-character-set=sjis
[mysql]
default-character-set=sjis
[mysqld]
default-character-set=sjis
skip-character-set-client-handshake
2.文字コード
mysql> SHOW VARIABLES LIKE 'char%';
| character_set_client | sjis
| character_set_connection | sjis
| character_set_database | sjis
| character_set_filesystem | binary
| character_set_results | sjis
| character_set_server | sjis
| character_set_system | utf8
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\
- 309 :
- 続きです。
3.php内部での文字コードの設定部分
mysql_query("SET NAMES sjis");
4.phpでテーブルより取得した値をsjisに変換した上で画面に出力
while($row = mysql_fetch_array($rs))
{
/* 内部文字エンコーディングからSJISに変換 */
$str = $row["NAME"];
print("文字チェック1:[ ".$str." ] <br/>");
$str = mb_convert_encoding($str, "SJIS");
print("文字チェック2:[ ".$str." ] <br/>");
↓出力結果
文字チェック1:[ ?????l ]
文字チェック2:[ ?????l ]
- 310 :
- 自己解決しました。
・・・MySQLってなかなか一癖ありますね。。。
思わぬ落とし穴がありました。
- 311 :
- >>310
どう解決したかを書かないと意味がないだろ。
自分がよければそれでいいのかい?
とりあえず文字コードを多重変換して嵌ってたんだろうと推測しとく。
- 312 :
- >>311
良いよ
だって自己解決したんだし。
- 313 :
- 質問です。
PHPとMySQLの連携を考えており、DBに接続して
PHPから表示させることは出来ました。
SELECT文についての質問ですが、今現在以下の通りになっています。
SELECT * FROM wp_posts WHERE ID = 30 OR ID = 190 OR ID = 170 ORDER BY ID DESC
これをPHPでwhileを使って縦に順番に表示すると、
ID=190、ID=170、ID=30の順番で書き出されました。
この表示する順番を、一番上からID=30、ID=190、ID=170と、
SELECT文に記述されたIDの順番通りに表示するには、どうすればよいでしょうか?
なにかいい案がある方、いらっしゃいましたらご教示下さい。
- 314 :
- select * from wp_posts order by (case ID when 30 then -3 when 190 then -2 when 170 then -1 else ID end) asc;
- 315 :
- union使えば?
- 316 :
- MySQLはXen上では使えないんですか?
CentOSのDomU上でMySQL5を使っておりますが、
Buffer I/O error とやらが大量に出てきて、ファイルシステムが落ちます。
再現するのはMySQLが動いている時だけなので、MySQLが原因とみて間違いないと思います。
ディスクもディスクイメージも壊れていませんが。。。メソメソ
- 317 :
- >>316
configureのときに--skip-bdbだったかな。
- 318 :
- >>317
ありがとう。試してみる。
- 319 :
- PAM-MySQL の導入を検討しているのですが、
(see: http://pam-mysql.sourceforge.net/Documentation/package-readme.php)
crypt の値として平文、crypt(3)、PASSWORD()、MD5() を選択できるのですが、
平文は論外として、どの選択がよりセキュアなのでしょうか?
- 320 :
- >>319です。自分でも調べてみようかと思いソースを覗いてみたら crypt=4 (or "sha1") で
SHA1 が使えたみたいなのでこれを使ってみることにします。
# と思ったら Web に書いてないだけで README に書いてあったorz
- 321 :
- 4に戻したいですぅ
- 322 :
- gooでも質問したのですがこちらでも質問させてください。
CentOS 4.6 に MySQL 5.0系をインストールして
port 80番で運用したいと考えています。
ところが、ポート80を指定して起動させると
以下のエラーになり、起動できませんでした。
mysqld started
InnoDB: Started; log sequence number 0 43655
[ERROR] Can't start server: Bind on TCP/IP port: Permission denied
[ERROR] Do you already have another mysqld server running on port: 80 ?
[ERROR] Aborting
80番を使用する http は停止させており、
iptables を停止させてもダメでした。
別のシステムで CentOS をインストールした直後のものに
MySQL をインストールしても同じ状態でした。
ちなみにMySQL 4.1 系では同じ条件下の環境で
my.cnf の[mysqld] で「 port = 80 」を
指定するだけで起動できました。
MySQL は CentOS のサイトからSRPMパッケージを取得し、
i686オプションを指定してリビルドしたものを使用しています。
今まで行ったのは次の通りです。
・コンフィギュアオプションをデフォルトでインストール。
my.cnf の[mysqld] で「 port = 80 」を指定。
・specファイルのコンフィギュアオプションに
「--with-tcp-port=80」を指定してリビルド。
サーバの環境は以下の通りです。
CentOS 4.6
MySQL 5.0.54(SRPM から RPM を作成してインストール)
インストールしたパッケージ
mysql-libs-5.0.54-1.el4.centos
mysql-5.0.54-1.el4.centos
mysql-devel-5.0.54-1.el4.centos
mysql-server-5.0.54-1.el4.centos
どなたかおわかりの方、情報をお願いできませんでしょうか。
よろしくお願いいたします。
- 323 :
- 1024未満のポートを使うにはroot権限が必要だから
どうしても80番を使いたければ
iptablesのNAT機能を使って80から3306へ変換しなさい
80番を使う動機を推測すると、たぶん外に公開したいのだろうから
stunnelやstoneなどのSSLプロキシを使うと更によいと思う
- 324 :
- rootじゃないと80番は使えないんじゃ
- 325 :
- DBから値が取得できません。下記の設定のどこがまずいのでしょうか?
エラーにもなりません。教えてください。
【web.xml】
<web-app>
<resource-ref>
<res-ref-name>aiueo</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
【server.xml】
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/testtest" docBase="testtest" >
<Resource name="aiueo" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="aiueo">
<parameter>
<name>username</name>
<value>myusername</value>
</parameter>
<parameter>
<name>password</name>
<value>mypassword</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql//localhost/testdb?autoReconnect=true&characterEncoding=ujis</value>
</parameter>
</ResourceParams>
</Context>
</Host>
- 326 :
- configureコマンドで、with-mit-threadを指定する場合と指定しない場合で何が違うのでしょうか?
自分の理解としては、with-mit-threadを指定するとOSが提供しているスレッドを使って、
with-mit-threadを指定しない場合は、MySQLが提供しているスレッドの仕組みを使うという認識なのですが、あってますでしょうか?
ちなみにOSは、FreeBSD5系なのですが、どっちにしたほうがいいとかありますでしょうか?
- 327 :
- >MySQLが提供しているスレッドの仕組みを使うという認識
ちがうよ。
- 328 :
- MySQL初心者です。
テーブル名が(なぜか)小文字で作成されてしまった様なので
テーブル名を大文字に変更しようと思い、次のクエリを実行したのですが
一向に大文字になりません。一体何が原因なのでしょうか?
ALTER TABLE test_table RENAME TO TEST_TABLE
- 329 :
- PHP5 / MySQL5.0を使用して簡単なデータベース登録
システムを作っているのですがどうやっても
日本語を登録すると文字化けして困っています。
どうすれば日本語が登録出来ますか?
※WindowsXP Pro
【C:\my.cnf】
[client]
default-character-set=sjis
[mysql]
default-character-set=sjis
[mysqldump]
default-character-set=sjis
[mysqld]
default-character-set=sjis
【C:\Program Files\MySQL\MySQL Server 5.0\my.ini】
default-character-set=sjis
[mysqld]
default-character-set=sjis
※基本このファイルの中にある「utf8」は全て
「sjis」に置き換えました。
- 330 :
- >>328
OSはlinux? MySQLのテーブル名はそのままファイル名になるから
Windowsみたいにファイル名が大文字小文字区別しない環境だと
MySQLからも区別できないよ
- 331 :
- >>329
PHPは使ってないけど、PHPのMySQLライブラリは my.cnf 参照してないって
聞いたことがある。デフォルトの laten1になるはず。
サーバの設定変更していいなら [mysqld] に skip-character-set-client-handshake を書くか
クライアントでなんとかしたいなら接続語に set names cp932 を投げたらいい。
ちなみに sjis は 4.1 以降では使わないほうがいいよ。 より広い cp932 で。
- 332 :
- >>330 >>331
レスありがとうございます。結論から言うと正常に日本語も登録されていました。
しかしCSEでのぞいていた為に文字化けしている様に見えただけでした。
odbcの文字コードの設定を sjis にしたら無事CSEからでも文字化けせずに見る
事が出来る様になりました。
- 333 :
- TimeStamp型で定義したテーブルからデータを取得し、取得したデータを
として取得するにはどうすれば良いでしょうか?
2009-03-25 14:06:15
↓
2009年03月25日 14時06分15秒
- 334 :
- 日本語でおk
- 335 :
- >>333
そういう処理はSQLでやるべきでない。
- 336 :
- >>335
いやPHPでやる位ならSQLで一発でやりたいのです。
何か方法はありませんか?
- 337 :
- >>336
おまえみたいな人間は生きているべきでない。
- 338 :
- >>336
手荷物預かり所で「あのう、このカバンの色を変えたいのですが」と言ってるのと同レベル
- 339 :
- で結局やる方法は無いの?
- 340 :
- やる方法はある
でも多分PHPで書くより遅い
mysql> select concat(year(c1),'年') from (select now() c1) v;
+------------------------+
| concat(year(c1),'年') |
+------------------------+
| 2009年 |
+------------------------+
1 row in set (0.00 sec)
- 341 :
- >>333
date_format() つかえ。
- 342 :
- >>340
???
てっきりSQLでやった方が速いと思ってたのですがPHPの方が速いのですか?
それはなぜなのでしょうか?
あと、SQLサンクスです。
>>341
ちょっとリファレンスを見てみます。
- 343 :
- オートインクリメント有りのテーブルにレコードを入れた直後に
それが何番に入ったかを知る方法ある?
- 344 :
- ↑
口の聞き方に気をつけろ
- 345 :
- 質問させてください。
id(ユニーク)とcount の二つのカラムがあるテーブルがあったとして、
このテーブルに入っているレコードをcountでorder by したあと、特定のid、例えばid=10 の前後5個分のレコード(つまり、id=10を入れて11個のレコード)を取得したいとき、どのようなSQLを発行すればよいでしょうか??
ご教示頂けると幸いです。
- 346 :
- ぐぐれかす
- 347 :
- >>343
SELECT LAST_INSERT_ID();
- 348 :
- SELECT LAST_INSERT_ID();
- 349 :
- 買収されてしまいました
- 350 :
- どうなるんだろうね
つぶされちゃうのかな
- 351 :
- 今更潰すは、さすがに考えにくいんじゃないの。
ポスグレに持っていかれるくらいなら、撒き餌として残すだろ。。たぶん。
- 352 :
- mysqlはoracleの下位バージョンとして開発し
その上位バージョンとしてoracleを持ってくることで
フリーと商用のシェア拡大を目指す
- 353 :
- MySQLの次期バージョンを出したり将来のビジョンを提示したりして
今後も発展するんだ、安心だ、と思わせといて飼いR。
- 354 :
- oracleもタダで使う方法もあるしな
- 355 :
- win版の5.0.77-community-ntですがCSVエンジンを利用するにはどうすれば良いですか?
show enginesでNOになってます。
- 356 :
- MySQLのオラクルマスターを作ればMySQLに力を入れる
MySQLのオラクルマスターを作らないならMySQLに力を入れない
- 357 :
- SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
にして、mysqlを二個立ち上げて、両方から
BEGIN;
して、片方で適当にINSERTしてコミットしてないのに、もう片方からは
SELECTするともう見えてるんだけど、これでいいのでしょうか?
テーブルはInnoDBで作ったけど。
- 358 :
- よくないよ
どこか間違ってるよ
- 359 :
- >>358
最初に両方からSelectをやっとくと、その後片方がINSERTしたのがもう片方からすぐに
見えるんだけど、なにか間違ってるんでしょうか?
- 360 :
- ■セッション1
mysql> set transaction isolation level serializable;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test;
Empty set (0.00 sec)
■セッション2
mysql> set transaction isolation level serializable;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test;
Empty set (0.00 sec)
■セッション1
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values (1);
Query OK, 1 row affected (0.00 sec)
■セッション2
mysql> select * from test;
Empty set (0.00 sec)
みえないよ?
- 361 :
- >>359
テーブルが InnoDB じゃなくて MyISAM になってるとか。
- 362 :
- すいません質問させてください。
http://q.hatena.ne.jp/1179443422
このページと同じ質問なのですが、やはり3番のsqlがベストなのでしょうか??
「特定のカラムの値がそのテーブルの特定の条件のもとで最大値を有しているレコードをselectする」というのが割と簡単にできるのではないかと思っていたのですが、
ここの回答のように副問い合わせするのが一番無難な感じなのでしょうか?
order by xx desc limit 0, 1
も試してみましたが、全レコードをsortするためか、副問い合わせを使ったものよりレスポンスが遅めでした。(レコードが10万件くらいある。。)
アドバイス頂けると幸いですm(_ _)m
- 363 :
- >>362
Table構成がそのはてなの質問と同じとして、id及びgoods_idに
複合インデックスが貼ってあり、それがユニークか、Hit率がテーブル全体のレコード数より
十分少なければ、order by descが早いんでないかな。
もっと言うと、INDEX(id,goods_id,date)で複合インデックスがあればなおよし。
でなくて、idとgoods_idの値が、レコード全体の多くにHitしてしまう場合は、
そこにあるようにサブクエった方が早そうな感じ(もちろんdateにインデックスが貼ってあるとして)。
- 364 :
- 質問ですが、
以下の感じでやろうとしてます
select 学生id ,出席日数,出席率 from 学生名簿
left join
(select sum(出席) as 出席日数 , sum(round(出席数/365,2)) as 出席率 ,学生id from 出席簿
where 学生id in ( select 学生id from 学生名簿 order by 学生名 limit 0,50) group by 学生id) as 出席データ on 出席データ.学生id=学生名簿.学生id
order by 学生名 limit 0,50
学生名簿(カラム):学生id(primarykey),学生名
出席簿(カラム):学生id,日付,出席(enum(1,0))
limitができれば高速になるんですが、ないとusingfilesortになります。
mysqlでサブクエリにlimit発行できないので、なにかいい方法があればご教授願います。
- 365 :
- 俺なら、状況に応じて以下のどれかで対応する。
・クエリキャッシュをアテにする
・バッチで予め計算しちゃう
・クエリを分割する
・テーブル分割をやめる
・全部抜いてから計算する
・そもそも高速化する必要があるか考える
- 366 :
- なあ、ちょっと真剣にマジで教えてほしい
あるデータベースのプライマリキーをキャラクタ属性で設定することのデメリットって何だと思う?
キーはINTにすんのが検索も早そうだし、多分そうなのかも知れんが納得できる理由がはっきりしない
まあCHARだとコレーションで正しくソートされない可能性があったりCOUNTが正しくされないのかも知れないけど
現場レベルでは盲目的に数値型にしてるような気もすんだよね
何か論理的な理由を聞かせてもらえないか?
- 367 :
- >>366
あんたの現場がすべてではないよ。
単にDB設計をさぼってるだけで、
安易に一意になるものということで連番振ってるだけでしょ。
- 368 :
- プライマリーキーはchar型かそれとも数値型か
http://pc11.2ch.sc/test/read.cgi/db/1156315045/
- 369 :
- >>364
>( select 学生id from 学生名簿 order by 学生名 limit 0,50)
一見するとこれいらないと思うんだが。
- 370 :
- 3つのテーブルをjoinするときに、
A left join B on A.id=B.id left join C on B.id=C.id
というふうにするのと、
(A left join B on A.id=B.id ) left join C on B.id=C.id
というふうに括弧で囲むのとって、どちらのやりかたが適切とかありますか?
- 371 :
- 変に括弧とかかかないで
最適化はMySQLに任せてしまったほうがいい・・・はず
- 372 :
- すみません。今日はじめてXAMPPからMySQLをインストールしたんですが
デフォルトでパスワードが無い状態なので、掛けようと思うのですが、
掛け方はいろいろ書いてあるのですが、みんなどこに書いているのかが分かりません。
コマンドプロンプトかと思って入力しても、エラーがおこるのですが
どこに入力したらよろしいのか教えてください
- 373 :
- >>370
絶対に括弧で囲まないとだめ。
joinするときの結合キーがそのテーブルのprimary keyなら結果は同じなんだけど、
そうでない場合、括弧で囲む場合と、そうでない場合で結果がかわる。
なぜかというと、括弧なしの場合、AとBをjoinした結果フェッチする行数が存在しない場合でも、
BとCのleft joinを行うからだ。
- 374 :
- 質問です。
バイナリログがうまく書き込めないんです。
以下のようなログが出てます
----------------------------------------------
/home/mysql/data$ mysqlbinlog mysql-bin.000008
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
mysqlbinlog: File 'mysql-bin.000008' not found (Errcode: 13)
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
----------------------------------------------
何か原因として考えられることはありますか?
- 375 :
- >>374
mysql-bin.000008 かそれが置いてあるディレクトリにパーミッションがない。
- 376 :
- バイナリログに、いつもファイルの最後にこんなのがでるんだけど。
ROLLBACK /* added by mysqlbinlog */;
これ、何かわかる人いますか?
- 377 :
- 読んでそのままでは?
- 378 :
- >>377
コメントを訳すと、mysqlbinlogによって追加されました、となるけど、
なんで追加するのかなーと。なんでROLLBACKする必要があるのかと。
- 379 :
- >>370
A left join ( B left join C on B.id=C.id ) on A.id=B.id
- 380 :
- >>379
流石にそれはない
- 381 :
- ネットワーク越しに接続させたいので、ユーザXXXに10.1.1.1から接続できるように設定したいと思ってます。
userテーブルにはXXXがlocalhostから接続できるという設定の行があるので、それを流用したいとおもっている
のですが、そんなこと可能でしょうか?
自分でINSERT文を書くのはできれば避けたい('Y'とか'N'が多すぎるし)のですが、普通は自分でINSERT文を
書くべきなのでしょうか?
よろしくお願いします。
- 382 :
- 例えば、ストアドプロシージャを書いて、その中でSELECTの結果を保存して、
一部を書き換えて、INSERTの引数として使うこととかってできますか?
- 383 :
- お礼遅れてすいません。ありがとうございます。
やはり自分のところではorder by よりmaxのサブクエリを使った方が早いみたいでした。
- 384 :
- selectの結果を保存するのは出来ない気がしてきたので、ストアドプロシージャの練習を兼ねて
書いてみました。
DELIMITER //
CREATE PROCEDURE net_user_enable(IN myhost CHAR(64), IN myname CHAR(64), IN mypassword CHAR(64))
BEGIN
-- 1: USERテーブルにユーザとホストの組み合わせを追加
INSERT INTO mysql.user VALUES (myhost,myname,PASSWORD(mypassword),'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0);
-- 2: dbテーブルにホストを追加
INSERT INTO mysql.db VALUES (myhost,'%',myname,'Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
FLUSH PRIVILEGES;
END //
DELIMITER ;
-- こんな感じで使ってね。
CALL net_user_enable('localhost','hoge','hogeのパスワード');
- 385 :
- CREATE FUNCTIONで関数定義するとき、SELECT文を使えないのでしょうか?
CREATE FUNCTION hogefunc(num INT) RETURNS INT
BEGIN
SELECT "hogehoge";
RETURN 2;
END//
こう書いても受け付けてくれません。
- 386 :
- database「hogedb」の中にテーブル「hoge」「age」「sage」を作ったのだが、
うち一つはselect時にselect * from hogedb.hogeのようにデータベースを指定しないとエラーになる。
なんで??
エラー内容;
RROR 1064 (42000): 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 'hoge' at line 1
- 387 :
- Workbenchでテーブルを作成しました。ここからCREATE文のスクリプトを作成することは出来ますが
ついでにInsert文のスクリプトも作成することは可能でしょうか?
(テーブルのタブに「Inserts」というのがあり、ここで投入用のデータをエディタで書けるのだが、ここからどうすればスクリプトに落とせるのか不明)
知ってたら教えて下さい
- 388 :
- http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9188.txt
違ったデータベース名、テーブル名は関係なかった。よくよく見るとスクリプトでテーブルを作るときに警告が
出てた。上にアップしたスクリプトは簡単なテーブルを3つ作るだけなのだが、何がおかしいのだろうか
単純にselect * from order;がエラーになる。(データベース名を指定するとおk)
- 389 :
- 予約語だった。。。知らなかった
ちくしょー!!
- 390 :
- ユーザーがグループに所属していて、グループもまた別のグループに所属しているような階層構造になっている場合、
どうやって所属情報をDBに入れるのが賢いの?
上位グループに所属するユーザーを抽出するクエリがつくりにくいんだけど
- 391 :
- RDBMS向きじゃないね。
- 392 :
- >どうやって所属情報をDBに入れるのが賢いの?
MySQL捨ててPostgreSQLに入れるのが賢い。
- 393 :
- 何の問題も無いだろ
- 394 :
- Postgresは現行VerでもOracle風のconnect byが使える。
もうすぐ出る次期VerではSQL99準拠のWITH RECURSIVEも
使えるらしい。
- 395 :
- 日本語でおk
- 396 :
- ツリーってDB入れるの無理だろ
- 397 :
- http://www.efukt.com/images/EFBIG.jpg
- 398 :
- dumpが出来ないです
mysqldump -u root hoge > c:\backup\dump.sql
とMysqlコマンドに入力すると
Unknown command '\b'.
->
となるだけでdumpできません
Cドライブにbackupファイルも作ってありますが、何か足りないのでしょうか?
- 399 :
- >>396
そのためOracleとかでは階層問い合わせをするための独自の文法が定義
されているし、標準SQLでもSQL99以降で再帰クエリを記述する文法が
追加されている。
こういった拡張を使うとツリーに対する検索とか>>390のクエリなんか
はもっと簡単に書けるよ。
で、フリーのRDBMSではPostgreSQLがこのあたりの拡張によく対応して
いるから、一つの選択肢として紹介したわけで。
http://lets.postgresql.jp/documents/technical/with_recursive/
MySQLというか再帰が無いSQLで書く技もあるけど、結構な頭の体操。
http://www.mysql.gr.jp/mysqlml/mysql/msg/12071
- 400 :
- 随分なスロークエリの悪寒。。しんどいね。。
- 401 :
- >>398
mysqldumpはmysqlクライアント上のコマンドじゃなくて
単体のプログラムだ
- 402 :
- >>401
ありがと
ばっちりできました
- 403 :
- >>399
再帰が無いSQLで書く技を使えば他のSQLに乗り換えるときコード修正不要?
- 404 :
- 他のSQLにも色々あるしなぁ。
シンプルなselectひとつ取っても、
例えばSQLiteでは使えるカラム名が
MySQLでは予約語だったりするしなぁ。
- 405 :
- >>404
キーワードじゃない語は全部ちゃんと
クォートすれば。
- 406 :
- 気本棚
- 407 :
- 始めてデータベースを移転するのですが教えてください
mysqldumpでやったのですが
Aserver からBserverに全てのデータを移転するのですが
先ずAserver で
mysqldump -A -u root -p a234abc --opt > dump.sql
rsync -avz -e ssh /root/mysqldump/ Bserver:/root/mysqldump/
でAserverのdump.sqlをBserverに移して
Bserverに入って
cd /root/mysqldump
mysql -u root -p 1234abc < dump.sql
としたのですがpasswd を聞いてくるのでパスワードを入力しても
ERROR 1049 (42000): Unknown database '1234abc'
とエラーが出ます間違った操作をしているのでしょうが何が悪いのか
解りませんどなたか教えていただけませんか
Aserverはmysql4.1ですBserverはmysql5.0 です
- 408 :
- 1234abcなんかしらないとエラーが言っている
- 409 :
- 先に
create database 1234abc;
をする
- 410 :
- 便乗質問です。
mysqlってダンプファイルの中身見て、ロード先のDBに必要な
データベースがなかったら自動的に作成してくれるもんじゃないの?
- 411 :
- ダンプファイルってつまり単なる普通のSQLの塊だから
データをINSERTする前にテーブルをDROPしてCREATEするだけ。
それがダンプしたSQLの先頭にあるかないかの問題で、
MySQL側がどうこう言うことではないと思うが。
ダンプするツールが対応するか、もしくは手書きすべきだ。
- 412 :
- すごい初心者な質問なのですが…
phpMyAdminのインストールってデータベースを作った後からでも
大丈夫なのでしょうか?
XREAでWordpressを使ってます。
MySQLからエントリーの中身をエクセルに落としたいのですが、
phpMyAdminをまだインストールしてませんでした。
XOOPSだと後からインストールすると問題ありな記事を読んだので
ちょっと不安になってしまいまして…
よろしくお願いします。
- 413 :
- >>412
まったく問題ないと思うけど。。。
単なるPHPコードだよ? 何かあるわけない。
- 414 :
- 助言をいただきたいのですが…。
SELECT t1.id, t1.data, t1.update FROM table_name t1
WHERE t1.update = (SELECT MAX(t2.update) FROM table t2 WHERE t1.id = t2.id)
これは、重複するidを持つレコードが複数あるテーブルから、
更新日updateの一番大きいレコードだけをかいつまんで取得するSQL文です。
ここにさらに条件を加え、各idの「一番小さいupdate」をキーにソートしたいのですが、
効率の良いSQL文が書けません。
アドバイスをいただければありがたいです。
(グループ化とかいいつつ、結局GROUP BY使わない方法でやってますが…;)
- 415 :
- idと更新日のペアがタブっていたらどうするの?
- 416 :
- SELECT
t1.id, t2.data, t1.max_update AS update
FROM
(SELECT
id, MAX(update) as max_update, MIN(update) as min_update
FROM table_name GROUP BY id) t1,
table_name t2
WHERE
t1.id = t2.id AND t1.max_update = t2.update
ORDER BY
t1.min_update
- 417 :
- >>415
idと更新日のペアは一意になるようになっています。
>>416
ありがとうございます!
とても勉強になります。
- 418 :
- PHP から MySQL を使っています。
SELECT で varchar(2000) の値を取得するときのことなのですが、
PHP 側ではこの値の冒頭200文字程度しか利用しないと分かっているとき、
はじめから SUBSTRING で値を削って取得するメリットは小さいでしょうか?
一般に MySQL で余計な関数を使うと処理が遅くなると聞きますので、
こういった文字列処理は値を取得しておいてPHP側でしたほうがよいですか?
なんとなく、あらかじめ削っておけばメモリの消費が抑えられるのではないかという考えがよぎって迷っています。
- 419 :
- グループ化についてもう一つ助言をいただきたいのですが…。
GROUP BY AAA, BBB
これは、AAAとBBBが同一のものをグループ化すると理解しています。
そうではなく、AAAでグループ化して、さらにそれをBBBでグループ化する、
のようにGROUP BYを入れ子にするには、どのようなクエリを書けば実現できるのでしょうか?
- 420 :
- >>418
考え方による。
大規模なwebアプリなら、圧倒的にPHP側で処理すべきと思う。
あなたの力量にもよるけど、突き詰めると、DB側で処理するメリットは無い。
DB側で処理すれば、結果セットが巨大でもデータ転送が速く、かつ省メモリ。
しかし、データが永続的に増える条件下での削減量はたかが知れてる。
DB側で処理すれば、PHPコードがシンプルになる。
しかし、マルチバイト文字の扱いが微妙だし、潰しが聞かない処理(リクエスト、関数、etc)が増える。
DB側で処理すれば、クエリキャッシュが効けば1回限りの処理で済む。
しかし、処理済みデータをオンメモリキャッシュしたほうが、もっと速い。
DB側で処理すれば、PHP側の処理が軽くなる。
しかし、DBよりPHPのほうが簡単にスケールできる場合が多い。
こんな感じでいかがかしら。
- 421 :
- >>419
SELECT * FROM (SELECT * GROUP BY AAA) GROUP BY BBB
ただしAAAでグルーピングした時点でBBBの内容は不定になっている。
これで目的が達成できているか、不明。
- 422 :
- >>419
不可能。
- 423 :
- >>419
>AAAとBBBが同一のものをグループ化
えー、そうだっけ?
- 424 :
- GROUP BY AAA, BBB がそうだろ?
- 425 :
- >>419
GROUP BYを入れ子にって、いったいどういう結果を期待してんの?
勝手な言葉で質問しても解釈がまちまちだからごらんの有様だよ。
- 426 :
- >>420
ありがとうございます!!
- 427 :
- accessから移植したいんだけど、最後に;をつけるだけでおk?
create tableなんかはtype=InnoDB;つけないとだめ?
- 428 :
- データ型そんなに互換性ないだろう
全部見直さないとダメ
- 429 :
- access使うようなのがトランザクション処理が必要なのだろうか…
myisamでいい気がするがなあ
- 430 :
- >>428
大幅に見直すのはcreateのところだけじゃ不十分かな?
select,insert,updateの構文は;つければ使えない?
- 431 :
- selectで、○番目と○番目のレコードを取得、ってしたいんですが、
limitで複雑な指定できませんよね?
サブクエリを駆使するしかありませんか?
イメージとしては、こんな感じに指定したいんです。
SELECT * FROM table LIMIT (0, 1 AND 5, 1)
- 432 :
- >>430
見直しが極めて望ましい。
DBは意外と互換性がないので。
- 433 :
- >>431
UNIONがおすすめ。
(1つ目のクエリ LIMIT 0,1) UNION (2つ目のクエリ LIMIT 5,1)
いくつ繋げてもindex効くし、綺麗。
- 434 :
- >>433
ありがとうございます!
各クエリともLIMIT部分以外が同一であっても、
やはりクエリの数だけ走査しなおしてしまうのですよね?
- 435 :
- SELECT SUM( p.point )
FROM point_table p
GROUP BY p.id
ORDER BY SUM( p.p.point ) DESC
LIMIT 100
これは、各idのもつpointの合計値を、pointの多い順に上位100件取得するクエリです。
ここで得られるpointの合計値を求めたいのですが、
上のクエリをどのように修正すれば良いのでしょうか?
- 436 :
- >>434
つ EXPLAIN
また、一時テーブルをつくる方法も。
- 437 :
- >>436
なるほど、一時テーブルですか。検討してみます。
ありがとうございます!
- 438 :
- >>430
そのまま移植して動かして見てエラーが出たらなおせばいい
- 439 :
- MySQL を勉強中なのですが、クエリの最適化について悩んでいます。
SELECT d.date, i.ip, n.name
FROM update_log d
LEFT JOIN update_log i USING(id)
LEFT JOIN update_log h USING(id)
WHERE d.id = 100
AND i.ip IS NOT NULL
AND n.name IS NOT NULL
ORDER BY d.date DESC, i.date DESC, n.date DESC
LIMIT 1
『条件』
・update_log テーブルから、指定した id に該当するレコードのdate, ip, nameを取得する
・ただし、ip, name の各項は NULL 値が入っている可能性がある
・NULL 値ではない、もっとも date が大きいレコードを各項について取得する
上記クエリだと、取得にかなり時間がかかってしまうため、
よりよいクエリを発行したいのですが、よいアイディアが生まれません。
助言いただけましたらうれしいです。
- 440 :
- nとhが混ざってね?
それは置いといて、クエリよりインデックスの張り方の問題じゃないかな。
それぞれのテーブルに複合インデックスを張れば
普通に激速になりそうな気がする。
- 441 :
- いや、よく見るとクエリも変?
LEFT JOINいらなくね? 違うか?
- 442 :
- それ自己結合する意味あんの?
条件の1つ目と3つ目なんて違う話だし
- 443 :
- レスありがとうございます。
>>440
すみません、一個所 n が h になっていました。
インデックスは EXPLAIN 見ながら貼り直したりしてみたのですが、
特に変化はみられませんでした。
>>441
>>442
それぞれの値を取得するために、
3つばらばらにシンプルなクエリを発行したほうが良いということでしょうか?
- 444 :
- すみません、そもそもクエリが条件に合致していませんでした。
SELECT d.date, i.ip, n.name
FROM update_log d
LEFT JOIN update_log i ON (i.id = d.id)
LEFT JOIN update_log n ON (n.id = d.id)
WHERE d.id = 100
AND i.ip IS NOT NULL
AND n.name IS NOT NULL
ORDER BY d.date DESC, i.date DESC, n.date DESC
LIMIT 1
- 445 :
- サブクエリ使ってください
select l1.date, l1.ip, l1.name
from update_log l1
where id = <入力値>
and date = (
select max(l2.date)
from update_log l2 where l1.id = l2.id
and l2.ip is not null
and l2.name is not null
)
- 446 :
- >>445
それだと全フィールドがnullのレコードが選択されるんじゃね
- 447 :
- アドバイスありがとうございます。
いろいろ試した結果UNIONでつなげることで落ち着きました。
はじめのクエリだとなぜだめなのかが、よくわかりません。
500行のテーブルに対して10秒近くかかってしまっていました。
クエリのどこに原因があるのか、おわかりになる方いましたら、
ぜひ教えてください。m(_ _)m
- 448 :
- 二つのDATETIME型の差をTIMEDIFF関数を使って求めたのですが、838時間以上は丸められてしまいます。
正確な秒数を求める方法はありますか?
- 449 :
- >>448
time型ではそれ以上の時間は扱えない。
- 450 :
- あるレコードを DELETE するのと
あるレコードの主キーを UPDATE するコストっていうのはあまり変わらないですか?
- 451 :
- 全然違う。
DELETEは重い。頻度にもよるけど、リアルタイムで叩くなら、最もやってはいけない事。
一方、主キーを書き換えるのもヘン。主キーは唯一のレコードを特定するのに用いるべきで、
途中で書き換えてよいデータでは基本的にない。
- 452 :
- コストがかかるのはindexがある場合のそのメンテと、外部キーの参照先になっている
場合とかだろ。deleteそのものはinsertとそんなに違うわけじゃない。
ところで、コストが全然違うと言いたいのか、どっちもコストがかかると言いたいのか
どっちなんだ。
- 453 :
- 感じ悪いスレだな
- 454 :
- 固定長のテーブルなら気にしない
- 455 :
- うん
ただupdateにくらべてdeleteが死ぬほどおもいのはたしか
- 456 :
- MySQLの全文検索って日本語対応してますか?
n-gram検索ですか?それとも分かち書きされたワード検索ですか?
- 457 :
- 分かち書きされたワード検索。
日本語も分かち書きすれば一応使える…けど普通はSenna使う
- 458 :
- そうなんですか。
ググったら、Sennaもワード検索と、あと2-gramをサポートということなんですね。
2-gramがあれば完全に自由な文字列でも検索できるのかな。
Debianではsennaのパッケージが見付からないのが残念です。
- 459 :
- Windows XP SP3
MySQL 5.1 です、root のパスワードを忘れてしまいました
Google でMysql パスワード 忘れたで検索しますが、的確なすべがわかりません
ご教示願います。
- 460 :
- 試してないが。これで駄目?
http://miztools.so.land.to/php5_list/sql4_list/mysql_win.shtml
- 461 :
- >>460 さん
ありがとうございます。
掲示していただいたURL
「root パスワードを忘れたときの 伝家の宝刀:1」ここに書かれている
mysqld-nt にパラメータを付加し起動する方法を、試すのですがWindows版MySQL 5.1 にmysqld-nt.exe が無いので
お手上げになっている状況です。
- 462 :
- >>461
ちょっと考えれば分かるだろうけど、タスクマネージャで現在実行中のファイル名とか確認しましょうぜ。
ちなみにウチでは、テスト用ユーザーをたくさん作ったあと、権限テーブル初期化する時なんかは、
>>460のサイトにある宝刀:2の方法でいつもやってるな。
まあ失いたくない情報なら、その時点でファイルのコピー取るなり、mysqlDB(ディレクトリ)以下のテーブルの
dump取っとくことをお勧めする。
何、インストール時にそんなバックアップなんか取ってないって?
それなら本家行って、初期状態のをとってくればよろしい。
- 463 :
- >>462さん>>461 です
どうもです、
>>それなら本家行って、初期状態のをとってくればよろしい。
本家ってhttp://www-jp.mysql.com/ ここのことだと思うのですが
これって再インストールしろってことですか?
- 464 :
- http://dev.mysql.com/
- 465 :
- ちょっとした事、教えてください。
on duplicate key update で insertした時、insertした内、何件がinsertで、何件がupdateだったとかって
判りますかね?
そういうのが知りたい場合は on duplicate keyを使うべきではない?
- 466 :
- MySQLの設定について教えて下さい。
BLOB型にVB.NETから格納しようとINSERT文を使っても
MySQL側の制限のせいでbyte配列の0番目の(63)しか格納できません><
ご回答よろしくお願いします。
環境
Ubuntu9.04
MySQL 5.0
VB.NET(mysql.data.dll使用)
- 467 :
- >>466
質問になってないな…
- 468 :
- >>466
スキーマ、SQL文とか
制限があると判断した根拠がないとな。
- 469 :
- 別ファイルにテーブル定義を作成してます(10テーブル)、そのファイルを
MySQL に読み込ませて、新規テーブルを作成したいのですが、具具ってもコマンドが分かりません、教えてもらえないでしょうか。
- 470 :
- >>469
mysql dbname < filename
- 471 :
- >>470
>>469です
お礼が遅くなりました、ありがとうございます。
- 472 :
- mysqlの正規表現で文字列の部分抽出や置換はできないのでしょうか。
たとえば、下記のtema列値をタグを正規表現で除去して表示することは出来ますでしょうか?
(どんなタグが入るか不明のため、正規表現で除去したいと思っています。)
低レベルな質問ですみませんが、お分かりになられる方が居られましたら
ご教授よろしくお願いいたします。
sid | tema
----------
1 | <b>その1</b>
2 | <I><b>その2</b></I>
3 | <b>その3</b>
- 473 :
- regexp ? rlike ?
よく判んね w
- 474 :
- >>472
mysqlじゃ無理。おとなしくプログラムで対処するしかない。
- 475 :
- MacOS X Leopard から SnowLeopard への以降に伴い、
MySQLを5.0(x86)から5.1(x86_64)にアップグレードしました。
このとき、データベースファイルはそのままコピーできるものなのでしょうか。
それともmysqldumpとかを使った方がいいのでしょうか。
5.0から5.1への移行における、おすすめのデータファイル移行方法を教えてください。
よろしくお願いします。
- 476 :
- CPU違うならdumpしなきゃだめよ。
dumpだけでいいかはしらん。
- 477 :
- MySQL で 5時間前 や 5時間後 を算出するにはどうすれば良いでしょか?
AddHour(2)とかって関数は無いのでしょか?
SELECT SYSDATE() + 5 / 24 FROM TEST_TABLE
としているのですが変な値が返って来ます。
- 478 :
- >>477
addtime
- 479 :
- >>478
サンクス
- 480 :
- 急な停電のためmysqlのデータベースファイルが壊れてしまったのですが
myisamなテーブルはrepairで復旧できたのですが
innodbの場合はrepairしようとするとエラーが出てしまうのですが何か復旧方法ってありますでしょうか?
- 481 :
- UPS使ってないシステムなんてしらん
- 482 :
- とりあえず現状をバックアップしてさらに壊したときに対応できるようにする。
んで innodb_force_recovery を6に。
- 483 :
- すいません。ここじゃないかもしれませんが知ってたら教えてください。
mysql workbench5.1.16 OSX版を使用していますが、
カラムの型をdouble (16,9)とかにしてもただのdoubleになってしまいます。
なんなんですかいったい。DBデザイナーだとちゃんといくのに。設定で回避できたりしないでしょうか??
- 484 :
- MySQLでテーブルのカラムはいくつくらいまで作成しても大丈夫ですか?
50〜100個とか普通は作成しないでしょうか。
- 485 :
- >>484
ttp://nippondanji.blogspot.com/2009/05/mysql.html
- 486 :
- >>485
回答有難うございます!
InnoDBの場合は1000カラムまでで、これは速度はほとんど低下しないと期待してもよいのでしょうか?
- 487 :
- 1000カラムのうちLOBがいくつあるかによる
LOBが増えれば増えるほど遅くなるよ
- 488 :
- >>487
画像みたいなのを入れなければいいんですね。想像以上に作成できるカラムの数が多くて驚いています。
有難うございました。
- 489 :
- >>483
user define typeで個別に作ると対応できるみたい。不便。
- 490 :
- 質問です。
Windows XP で 5.0.45 を使用して、毎日 mysqlimport コマンドをバッチ処理で実行していますが
昨日までは正常に動作していたのに、今日のジョブが5時間以上経っても終わりません。
show processlist で見てもプロセスは存在しません。
現在何が起きているのかを確認する方法はないでしょうか?
- 491 :
- とりあえずエラーログをみる
- 492 :
- >>491
エラーログファイルは見てみましたが、何も吐いていませんでした。
半日経っても終わらないので kill しましたが、一件もロードされておらず
テーブルロックが掛かっているような感じにも思えますが、テーブルを更新するのは
そのバッチ処理のみなのでそれもないし・・・
kill した後に手動で mysqlimport コマンドを発行したら、あっという間に正常終了しました。
何だったのだろう・・・ よく分かりませんが、再現待ちとします。
ありがとうございました。
- 493 :
- 素人丸出しの質問かもしれませんが、MySQLを使う必要が生じてしまったのでお願いします。
同一テーブル構成のTBL-A、TBL-Bがの2つがあります。
テーブルレイアウトは、
基準日 int(8)
社員番号 int(10)
構成 int(10)
だとします。
TBL-AとTBL-Bを比較し、以下のことをSQLでやりたいんですが、何か関数等あるんでしょうか?
(1)社員番号がTBL-Aに在ってTBL-Bに無い場合-->TBL-Bに該当レコード追加
(2)社員番号が両方に存在し、TBL-Aの基準日がTBL-Bの基準日以降の場合-->TBL-Bの該当レコードをTBL-Aで上書き
(3)社員番号が両方に存在し、TBL-Aの基準日がTBL-Bの基準日以前の場合-->何もしない
(4)社員番号がTBL-Bに在ってTBL-Aに無い場合-->何もしない
- 494 :
- なんでこういう人っていつも仮定口調なの?
- 495 :
- MySQLとAccess連携でプロト作ってるんだが、どっかにMySQLの主にストアドを
綺麗にまとめてるサイト無い?
- 496 :
- うちの会社で余ったWinXPのproにMySQL5.1入れて、ポート開けて20人位の同時アクセスさせているのだが、
今のところ全然問題なく使えてる。バックアップも問題ない。
ココで質問。
1.このまま使っててもOK?
2.今更だがMySQLって、ポート3306開けときゃサーバじゃなくても同時アクセスで使えるモノなの?
※やってみたら出来た。っていう素人さんなのでプロからのアドバイスを希望します。
- 497 :
- >>496
XPProで、その利用方法はライセンス違反
- 498 :
- >>496
Winのライセンス上の問題は
ttp://www.apache.jp/pipermail/apache-users/2003-January/002303.html
参照。
- 499 :
- >>498
不特定多数か社内限定かは
異なるだろうけど、結果は同じ?
- 500 :
- thx
- 501 :
- ライセンス違反のわけねーだろ。アホかい。
- 502 :
- 501はたぶんMySQLのライセンスとWindowsのライセンスの区別がつかない程度のしったか
- 503 :
- ON DELETE CASCADE を参照先テーブルに適用してますが、下記のエラーが出ます。
下記のエラーいがいに何が問題になっているか知る方法はありますでしょうか。
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row:
a foreign key constraint fails (`db`.`table`, CONSTRAINT `table_ibfk_10` FOREIGN KEY (`table_id`) REFERENCES `table` (`id`))
- 504 :
- ただのチラ裏です・・・
客用にCOREi3のWin7機を買ったんだが、クラサバシステムのODBC3.51でつないだらエラーの出るテーブルが出た
2台だけだったんで持ち帰りつないでみようとしたら全部つながらなくなった
pingは通るのに何だ?ってパニック
よく考えたら鯖に使ったXPのファイアーウォールが邪魔してただけだった・・・
で、ODBCを2.51にしたらとりあえず全部つながった
このまま行っちゃう予定
よく考えたら36時間程メシ食ってないお
食ったら寝て明日の昼休みの時間に納入してくる
- 505 :
- >>503
「mysql error 1451」とか「mysql Cannot delete or update a parent row」でぐぐってみた?
結局のところ、制約の子が残ってるから消せない/更新出来ないよってことなんだが、
・ON DELETE CASCADE をしているつもりで出来てないってことはないか?
(子側をshow create tableなんかで確認)
・他に同じ(親)テーブルを、外部キー制約の参照先にしてるテーブルは無いか?
を確認してみるべし。
- 506 :
- かねやんからエクスポート後、再度かねやんからインポートした時、
文字列が空欄になるんだけど、この現象って文字化けなの?
- 507 :
- ファイアーウォールかもね
- 508 :
- age
- 509 :
- windowsXPにxamppでMySQL5.1を入れたけど、どうやっても文字化けする。。。
ネットの情報かなり試したんだけど、5.0までと違うのか、まったくダメ。
5.1で同じような状況になった方はいませんか?
- 510 :
- 自分の設定も晒さないで何を言っておるのかね
- 511 :
- MySQLでビューって遅いと聞きますが、どういった点が遅いのでしょうか。
「商品一覧テーブル(product)」と「商品カテゴリテーブル(category)」があり、
product.category_cd = category.category_cdを他:1で結びつけています。
「商品カテゴリテーブル」にはカテゴリ名カラムがあり、
商品検索のときに商品名とカテゴリ名両方検索できるようにしたいと思っています。
すでに構築されたプログラムの改変のため、JOINが非常にし辛いソースとなっていて、
ビューを使うとコストが抑えられると思っているのですが、遅いと聞くので使用していいか戸惑っております。
商品の修正もそこそこありで、検索もそこそこ使うといった感じです。
この場合、ビューを使ってよいものでしょうか。
- 512 :
- MySQLはSELECT対象にVIEWを使うか
VIEWの内容をSELECT文の中に展開して書き込むかで
実行計画が変わることがある。
どちらが速いかはケースバイケース。
ただ >>511 のパターンではその前に
双方のcategory_cd列にINDEXが作ってあるかどうかが重要。
まずINDEXがあることを確認した上で、
VIEWのありなしで検証してみるのをオススメする。
- 513 :
- C APIについて詳しい人います?
- 514 :
- >>513
オライリーのMySQLクイックリファレンスを見れ
C APIについても載ってる
- 515 :
- MySQL.comのWebサイトに不正なコード 闇市場でroot権限も販売か
ttp://www.itmedia.co.jp/news/articles/1109/27/news027.html
WebブラウザやFlash、Javaなどのプラグインの脆弱性を突いてインストールされ、ユーザーが
クリックなどの操作をしなくても、MySQL.comのWebサイトを見ただけで知らないうちに感染する
恐れがある。
- 516 :
- xmappインストールしてmysql起動しようとしても
開始押したらすぐに停止する
解決策わかる人いる?
- 517 :
- >>516
なんかのエラーで停止してるんじゃない
ログみてみたら
- 518 :
- x86の64-bit版と32-bit版とは、
・実行速度
・使用メモリ量
において、どのくらい違うものでしょうか。
なにか資料へのポインタでも頂けたらと思います。
なおOSはDebian Linuxです。
期待する解答例
・経験則で言うと、メモリ消費量は64-bit版の方が20%多い
・intのサイズが異なるので、intのカラムが多いとメモリ消費量が多くなるが、charだと変わらない
・実行速度は64bit版のほうが速いはずだが、ぶっちゃけSQLのチューニングのほうがよっぽど大事だから気にすることはない
- 519 :
- >>518
バッファ上はMySQLのデータ型の分しか消費しないから、32bit、64bitで変わらない。
ていうかintはx86_64でも4バイトじゃね。
実行速度はCPUによる。
例えばCore 2のときは64bit動作でMacro-OPs Fusionという機能が効かなくて
あまり速くなかった。Nehalem以降は64bitの方が速いと思う。
実際の性能はデータをメモリ上にどれだけキャッシュするかが勝負なので、
32bitだと仮想メモリ4GBの壁があるので64bitの方が断然有利。
- 520 :
- 参考になります。
>>519
>バッファ上はMySQLのデータ型の分しか消費しないから、32bit、64bitで変わらない。
なるほど。メモリ消費量に違いはない(あったとしてもわずか)ということですか。
>実行速度はCPUによる。
>例えばCore 2のときは64bit動作でMacro-OPs Fusionという機能が効かなくて
>あまり速くなかった。Nehalem以降は64bitの方が速いと思う。
それは知りませんでした。
x86_64のほうがレジスタ数が増えた分、速いと思ったのですが、必ずしもそうではないんですね。
Nehalemというのは、Core2DuoではなくCore i3とかi5とかいうやつですね。
じゃあサーバのCPUの種類を調べてみる必要がありますね。
>実際の性能はデータをメモリ上にどれだけキャッシュするかが勝負なので、
>32bitだと仮想メモリ4GBの壁があるので64bitの方が断然有利。
使ってるのが安いVPSなので、そこまでメモリを利用できません。
たいへん参考になりました。ありがとうございました。
- 521 :
- Strutsで郵便番号検索をするしくみを作っています。
JavaからMySQLへアクセスし郵便番号検索する仕組みになっているのですが、
まれに「NullPointerException」がでて原因が追究できず困っています。
郵便番号を入力するテキストボックスがあり、
横にある「郵便番号検索」のボタンをクリックすると
入力された郵便番号に相当する住所が住所のテキストボックスに表示されます。
どなたか何か原因として考えられること教えていただけませんか?
(環境)
Java Version: 1.6
MySQL: 5.0.77
OS: CentOS 5.3
- 522 :
- ソースも見せずに「原因として考えられること」なんて聞いたら
百個や二百個じゃ済まないだろ
- 523 :
- >>521
まずは例外発生時のスタックダンプを晒してみろ。
- 524 :
- ぬっ、、、、ぬるぽぉ!
- 525 :
- ■━⊂( ・∀・) 彡 ガッ☆`Д´)ノ
- 526 :
- windowsで使えるGUIな管理ツールって何がいい?
テーブルの中身をエクセルみたいに表示してちょこっと編集
・・・とかがさっさとできたらいいんだけど。
phpmyadminじゃできないですよね? できたらwebベースじゃないほうがいいです。
- 527 :
- Navicat Lite
今フリーバージョンは出てないけどw
- 528 :
- >>527
あー、今、それ見てました!
Lite無くなってる(´・ω・`)ショボーン
有料だけどaccessでODBC接続とかが無難なんでしょうか?
- 529 :
- >>528
使ったことは無いけど
Workbenchとか?後は知らん
- 530 :
- >>526
workbench
- 531 :
- おお、いいかんじっすね。
商用じゃないほう(Community エディション?)はフリーなんでしょうか?
個人事業で使う場合は商用?
- 532 :
- Community EditionはGPL。
機能が足りててサポートいらないならそのまま仕事で使って問題ないよ。
- 533 :
- そうなのですね! あざーっす。
- 534 :
- 「MySQLってお金払わなきゃ使っちゃいけないの?」って質問するやつは、
確実にお金を払う必要などない人間。
金を払わにゃならんようなやつは、聞かずともわかるようになっている。
- 535 :
- MySQLのライセンスが複雑すぎるんだよな
- 536 :
- どこが複雑なんだか。
- 537 :
- >>535
あんたのようなことを言うやつも金を払う必要はない。
もちろん、サポートしてほしいなら話は別だ。
- 538 :
- >>537
必要がない。じゃなくて黙認されている、じゃねぇの?
ttp://www.softagency.co.jp/products/mysql/license/
の上から四行目の選択肢あたりは社内システムでも問題になりうると思うが。
- 539 :
- 社内システムなら2行目でNOだろ。4行目まで行かない。
- 540 :
- 請負でシステム構築する場合は?
- 541 :
- そこはGPLそのものの話になるが、こんな解説が。
http://d.hatena.ne.jp/uehaj/20100710/1278772393
- 542 :
- http://www.nicovideo.jp/watch/sm16819087
これ凄すぎw
- 543 :
- WoWクラブいきてぇ〜
- 544 :
- ねえ教えて
インストール後の設定ウィザードでサービスの起動がうまくいきません
応答なしになりますなぜだ
- 545 :
- Windowsはムチャムチャ遅いからおすすめしない
- 546 :
- conn, cur の関係ってどんな関係なんでしょう?
また、conn から curを作成できる理由って何でしょうか?
- 547 :
- ( ´Д`)y━・~~
- 548 :
- 犯罪者個人に対してK状を違法派遣・偽装請負・偽装出向・多重派遣の被害者が作成(刑事Kは無料) or 司法書士が代筆(料金は5万円ぐらい)※コピペ歓迎
↓
K状を【検察の直告班】に郵便局の内容証明付で送付(疎明資料・証拠にはICレコーダー、スマホによる録音が適しています)
↓
審査 → 不受理 → K状再提出または刑法 第193条で訴えを起こす
↓
受理 → K事実を認め示談交渉(↓) →示談成立 → 法廷相場50〜100万円の示談金 ※示談拒否が良い
↓ ↓
事案化← 前科あり ←示談不成立(↓)→ 示談外交渉→ 犯罪者の年収半額×最大懲役年数の和解金支払い※推奨
↓ ↓
↓ 起訴 →公判 → 罰金刑=前科(起訴事実を認めてるため)→追討ち民事訴訟
↓
審査 → 起訴(強制捜査・留置場)→ 公判 → 懲役刑などの厳罰(反省が認められないため)→追討ち民事訴訟
↓
不起訴、起訴猶予
↓
検察審査会法第30条(検察審査会へ申し立て)→ 起訴 → 起訴後は同上
刑法 第193条(公務員職権濫用)で検察事務官を刑事K → 同上
◎K→K受理→示談交渉→厳罰を求め示談不成立→示談外交渉→和解金支払い・和解契約(公正証書・即決和解で秘密保持契約)
◎偽装請負・出向・違法派遣事件では派遣・出向先両方の代表者、役員、現場責任者にKできます。
前科がついた犯罪者が法人の代表であれば公的な入札からの排除、取引先や顧客との契約解除など社会的制裁・批判に晒されることから辞職または解任が妥当、役員・社員であれば懲戒を想定。
◎事業者内部の加害関係者による刑事K(刑事訴訟法239条1項)も可能です。
加害者本人、管理間接部門の社員が刑事Kに踏み切る場合も和解金による解決が妥当です。
注意:Kが受理されない理由
●3年間(※)の時効が過ぎたもの ※違法派遣
●同一事実について過去にK取消しがあったもの
●関連する民事訴訟を有利に導く目的の場合
●証拠が希薄なもの ※被害者が契約時に違法派遣・偽装請負・多重派遣と知っていても刑事Kは有効です。
- 549 :
- パワハラ犯罪にたいする刑事罰(※本投稿のコピペ歓迎です)
人事原則
1 現行法では、社員が仕事を怠けたり、能力不足、就業規則違反、目標を達成できなくても解雇をしたり叱責することは違法です。どんな駄目社員、嘘つき社員、怠け者も定年まで解雇が違法なのが現行の正社員制度です。
2 パワハラは社風にあわない社員、成績の振るわない社員を自主退職に追い込む言わば人事的措置として用いられることが多い。
※違法な解雇の和解金相場は、労働審判で3ヶ月、通常裁判で1年以上の報酬、さらに社員が和解を拒めば復職が可能です。弁護士への着手金は12〜15万円+20%の和解金、和解拒否なら20〜50万円程度。
人事部・ホットライン・御用組合へ直訴
メリット: 一時的緩和や人事異動
デメリット: 役員へ情報筒抜け、危険分子の烙印(情報漏洩がホットライン直訴者に多いのは人事部の常識)、パワハラ放置で自主退職に追い込まれる
民事訴訟・調停・労働審判
メリット: 損害賠償
デメリット: 裁判費用、解雇措置、民事不介入で刑事事案化を阻止、長期係争、パワハラ上司の継続雇用
刑事K
メリット: 1パワハラ上司の解雇・懲戒、または2多額の和解金、1と2どちらでも被害者の雇用は維持
デメリット: 人事異動(出世コースから外れる)
◎録音は一方の当事者が取る限り合法です。※加害者に録音の同意を求める必要はありません。
◎K受理後の和解金は加害者の資産・収入に応じて変えてください。犯罪者の昨年の年収の半額程度×最大懲役年数が妥当です。
◎パワハラの被害についてのKは1侮辱罪2脅迫罪3強要罪4威力業務妨害罪5傷害罪の順序で行ってください。警察・検察の協力(犯罪者の自宅・職場の強制捜査、留置所勾留)により罪の立証が楽になります。
◎刑事Kした社員を解雇したり処遇面で著しい差別を行うことはないでしょうが、出世や管理職以上の昇進の可能性はあきらめるべきでしょう。
◎刑事Kは民事訴訟と違って裁判による被害者への2次被害にありません。検察庁が被害者に代わって訴えをおこすので、無料で、時間と手間もK状をかくことと音声録音を残すだけです。
◎和解契約(公正証書・即決和解)ではKした事実は秘匿事項となります。犯罪者が秘密保持契約を違反した場合の損害賠償金は、最低5000万円〜にしましょう。
- 550 :
- 社内システムを Core2Duo-E8400(2GB)で運用していましたが、
機器が故障したため、Atom-D2700(3GB)に入れ替えをしました。予算があまり無かったのです。
・クライアントは10台程度。
・innodbのみ使用。
・一覧表示を多用している。ページング処理をする為、countでレコード総数を取得している。
・my.cnfはそのまま流用している。
切替直後から、「一覧表の表示が遅い」というクレームが後を絶ちません。
以前は瞬時にページの切替ができましたが、切替後は数秒から30秒程度の
待ち時間が発生しています。
利用者からは、物凄い剣幕で「遅せーんだよ、なんとかしろ!」といわれていますが、
「慣れればいいだろ」とも言えず、解決策を模索中です。
CPUの処理性能が、これ程影響してくるとは思いませんでした。
- 551 :
- SQL文を見直す
インデックスを工夫する
この程度しか思いつかないw
- 552 :
- >>550
countが劇遅で、だけど多用せざるを得ない要件なら、countだけを保存するテーブルを作って、
insert/deleteトリガーでcountをプラマイするようにして、それをページ処理するときに参照する
仕組みにすれば?
- 553 :
- >551,552
ご回答ありがとうございます。
ご意見を参考に、色々と試して見ます。
- 554 :
- mysqlでCPU下げるのは自殺行為
- 555 :
- MySQL 5.5を使ってますです。
phpMyAdminを使ってデータベースのエクスポートしたのですが、外部キー制約がエクスポートできません。
外部キー制約も含めてエクスポートするにはどうしたらいいですか?
- 556 :
- ☆ 日本の核武装は早急に必須ですわ。☆
総務省の『憲法改正国民投票法』、でググってみてください。
日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である
改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。
- 557 :
- >>550
まだメモリに載ってないとか
- 558 :2017/12/29
- 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
MG7LSJ6659
Oracle 質問総合スレ14
【Java】H2 Database Engine【GCJ】
【安易ダサすぎ】データベース→DB→ドラゴンボール
【より良い】データモデリング【モデルを】
ADO.NETの質問・雑談スレ2
【】 MySQLを買収したSunを買収したOracleを 【】
[終了]今は亡きInformixに文句を言うスレ[おつかれ]
いまの気持ちをSQLで表すスレ
ストアドよりインデックスのほうが速いよ
DB設計を語るスレ 10
--------------------
Alpair Part.3
【スズキ】4代目スイフト #25【ZC13S/43S/53S/83S】
■ 自宅サーバ板できました。
【兵庫】電子マネーの「ポイントあるやろ」 31円のチョコ菓子買えず、コンビニ店員殴る 所持金8円 電子マネー残高18円
【マグロ】大間産、まさかの販売苦戦 国産は小型でトロが少なく、大きくて脂の乗った外国産のライバルに競り負ける−豊洲市場
【VTR・Br】特撮ソフトメディアスレ【DVD・LD】
負けてるブログ教えてくれ 167
【昭和59年】1984年生まれの喪男【平成の終わり】
狼三日間カキコ数が4万台の連続出現でオワタwwwwwwwwwwwwwwwwwwwww
【サッカー】<久保建英>リーガ初GOAL!鮮やかなミドルシュートを沈める..★2
虐殺者を英雄視するのはやめましょうよ
幼女童女少女スレ。
【社会現象】ポケモンカード超爆インパクト各地で売り切れ&行列ww
ASD: 自閉症スペクトラム~
みんな下ネタやめてよ、女子もν速見てるんだからね?
【ATP】テニス総合実況スレ2017 Part1022【WTA】
【テレビ】松本人志 「僕はテレ朝、出禁ですから。ほんまに」…元テレ朝・宇賀なつみアナに
三浦桃香ちゃんを応援するスレ ★15
【美人】三浦愛選手応援スレ【最速】
嫌ポケモンGO部 ★278 [892297506]
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼