トップページ⇒php
988コメント357KB

mysql ヘルプ!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/01/22 16:08ID:kMbsTQE3
リモートから家(常時接続)のmysqlサーバにつなげません
状況を詳しく書きます
PHPが動くプロバイダーのディレクトリにおいた自分の家の
mysqlサーバを操作するPHPに
$db = mysql_connect("mysqlサーバのip:3306","ゆーざ","ぱす");
と書いたのですが、駄目でした。
どうすればいいのでしょうか?
0182nobodyさん03/11/13 05:52ID:???
できゆ。
0183nobodyさん03/11/13 07:00ID:XrP6U/53
>>181-182
本当だー。ありがとうございます。
この場合もやっぱりロックはしておいた方がいいでしょうか?
0184nobodyさん03/11/13 08:52ID:???
>>183
単一のUPDATEクエリにはロックは不要。>>99 参照
0185nobodyさん03/11/13 10:12ID:???
1行の場合、AutoCommitがはたらいて、
ロック→更新→ロック解除
が自動的に行われる
0186nobodyさん03/11/13 15:10ID:???
>>184-185
ありがとうございます。
勉強になりました。
0187nobodyさん03/11/13 16:02ID:???
>>182
ピノコ ハケーソ
0188nobodyさん03/11/15 06:00ID:ZDgVRzRD
いちいちターミナルでいじるのが面倒です。
PHPなどで出来た、
MySQLをウェブ上でいじれるプログラムなんてないでしょうか?
0189nobodyさん03/11/15 10:23ID:???
>>188
軟弱モノめ
phpMyAdmin - http://www.phpmyadmin.net/
0190nobodyさん03/11/15 12:13ID:???
>>189
まさにそのもののもの!ありがとうございます〜
0191nobodyさん03/11/15 12:18ID:???
CSEなんかの方が良いと思うが・・・
019218903/11/15 13:31ID:???
>>190
入れてみたら今まで何だったんだってくらい便利です。日本語でも使えるし。
いいものを教えて頂きありがとうございます。
>>191
http://www.hi-ho.ne.jp/tsumiki/
これですね。これも見てみます。ありがとうございます。
0193nobodyさん03/12/02 15:23ID:???
カラムAのレコードをカラムBに移す事ってできますでしょうか?

カラムA カラムB
232    0
422    0
433    0

↓

カラムA カラムB
     232
     422
     433

MySQLでそのまま移動できれ良いのですが。
0194nobodyさん03/12/02 16:03ID:???
>>193
update文2回発行すればできる。
0195nobodyさん03/12/02 16:12ID:???
>>194
ありがとう。ちょい試してみます。
0196nobodyさん03/12/02 16:56ID:???
>>194
updateだけで出けた! ありがとでした。
0197nobodyさん03/12/03 18:39ID:TwnN/agA
レンタル系サービスをしているのですが、
コネクションが多すぎて接続できない、というようなエラーが出たので、
maxconnectionを2500にして再起動しました。
今のところ、正常に動作しているようですが、
maxconnectionの妥当な値とか限界ってどのくらいなのでしょう?
0198nobodyさん03/12/03 20:17ID:???
>197
おいおい、2500たぁすげえな。
サーバ資源追いつくのか(笑

デフォの100は少ないやね。直ぐに限界がくる。
#ウチは500。
0199nobodyさん03/12/03 23:02ID:???
>>197
サーバの能力次第としか言えんと思うけど・・・。
0200nobodyさん03/12/03 23:21ID:TwnN/agA
>>198
えっ…!!
100→500→とあげてきたので、もう一気にずばーんといってやれって感じで
5倍にしました。多すぎますかね?今のところは普通に動作しているようですが…。
>>199
topで見ると一つのmysqlがメモリ6〜7%くらいくってます。
全部のmysqlの数字が同じようなのですが、
これは全部まとめて6%ということでしょうか?
やばい数字ってtopで見ていくつくらいになりますか?
0201nobodyさん03/12/03 23:25ID:???
>>200
サーバの能力にも拠るが、DBへの問い合わせの負荷(テーブル設計に依存)にも
拠るので、単純にnコネクションなら大丈夫とか言えないということ。
0202nobodyさん03/12/11 04:22ID:???
ぶっちゃけ調べるの面倒なのでとりあえずyesかnoだけで簡単に教えてください。
WinMySQLのデータベースの内容をMS-Accessで編集できますか?
0203nobodyさん03/12/11 07:37ID:???
>>202
yes
0204nobodyさん03/12/11 15:33ID:???
ところでWinMySQLって何だ?そんな製品ないぞ
020520203/12/11 22:46ID:???
>>203
ありがとう。
>>204
winのmysqlの略でした。winmysqladminならあったっけ。
0206nobodyさん03/12/13 11:03ID:F92TNOCR
バージョンアップしようと思うのですが、
今稼働中のmysqlをシャットダウンして、
インストールした時と同様にインストールすればそれでOKですか?
稼働中のmysqlのデータファイルに変に上書きしたりしないでしょうか。
0207nobodyさん03/12/13 11:12ID:???
一応バックアップ取っとけ。
0208nobodyさん03/12/13 13:45ID:???
>>206
上げなきゃいけない問題点とか最近あったっけ?
0209nobodyさん03/12/13 15:56ID:???
>>205
winmysqladminはあるよ。MySQL管理ソフト(クライアント)ね。

>>208
MySQL4.1.1が出たからそれに、とか。
021020603/12/15 07:08ID:???
>>207
ありがとうございました
>>208
微妙に古いのを使ってたことが分かったので3.23.58にしました
makeに予想以上の時間(1時間以上?)がかかって、
その間ちゃんとインストールできるのかドキドキでしたが
無事バージョンアップできますた。
0211nobodyさん03/12/15 10:03ID:???
> makeに予想以上の時間(1時間以上?)がかかって、
素朴な疑問なのですが
makeに1時間かかるマシンでもMySQLは実用になるのでしょうか?
できればマシンスペックを教えて下さい。
0212nobodyさん03/12/15 10:19ID:6kUbsNOb
レプリケーションをするために
バイナリログを取得する設定にして、
lsで見ていたら、
2秒で1万バイトくらい、ログのサイズが増加していくのに気づきました。
これではあっという間にディスクを食い尽くしてしまうと思うのですが
こんなものでしょうか?
021321203/12/15 13:08ID:???
一時間に一度、ログをローテーション&二つ前のログを消去していくことにしました。
ログの連番は、
http://www.mysql.jp/mysql/TIPS/one_way_replication.html
ここを見ると001等、3桁ですが、これは999になった後はどうなるのでしょう?
021420603/12/16 00:16ID:???
>>211
三年くらい前に借りたさくらのレンタル鯖です
調べたらセレロン400/メモリ64Mでした。
今となるとかなりショボいっすね
MySQLはマシンスペックが素直に反映するらしいので乗り換えようかな。。
0215nobodyさん04/01/26 13:54ID:???
insert文を使うとき、

insert TABLE名 set COLUMN名='内容'

みたいにupdate文形式でも使えてしまうんですが、この文体で書いても問題ないんですか?
0216nobodyさん04/01/26 14:06ID:???
>>215
板違いです。
http://pc2.2ch.net/test/read.cgi/db/1056942908/
ここで聞きましょう。
0217nobodyさん04/01/29 22:18ID:???
php+mysqlでシステム組んでいるのですが
order by nameを使うとエラーが出てしまいます。
おそらくDBの作り方が悪いのだと思いますがどのように作るとよいのでしょうか?
phpmyadminで作っています。
フィールド名=omise
フィールドタイプ=varchar(100)
表示=なし
空の値=いいえ
基本値=なし
です
これ以外はなにも設定変えてません。
ヘルプよろしくお願いしますm(_ _)m
0218nobodyさん04/01/29 23:03ID:???
それはホントにorder byの部分でエラーがでてるのか?
021921704/01/30 09:37ID:???
すみません解決しました
Nullを設定してないだけでした
0220nobodyさん04/01/30 12:01ID:???
>>217
空の値=いいえって書いてあるね
0221nobodyさん04/01/30 23:09ID:???
ふつーのMySQLが使えるレンタル鯖って、innoDBはどれくらいの割合で使えるんでしょうか?
汎用系作ってるんですがロールバック使いたいので、どんなもんかと・・・。
よろしければご教授おねがいします。
0222nobodyさん04/01/31 03:28ID:???
>>221
割合が言えるほど資料も経験もない。
ただ最初からロールバックが使えるホスティング(innoDBかは知らん)と
innoDBが使えるように変更して貰ったホスティングの両方の経験はある。
「当てずっぽうで借りたら使えた」って程、一般的なもんではないので
ちゃんと契約する前に訊けばよい。
0223nobodyさん04/01/31 20:32ID:???
てか汎用系を連鯖で運用するのか?
0224nobodyさん04/02/20 04:49ID:DNjtjE82
新しく借りた鯖にMySQLを移そうとしているのですが、
鯖屋が無料インストールしてくれたバージョンが3.23.56です。
今まで稼働していたのが3.23.58。
かなり些細なバージョン違いですが
やはりデータの形式に齟齬が出るでしょうか?
バイナリのデータをまるまるコピーできるのは
あくまでバージョンアップの時だけですか?
今テストしているのですが微妙にバギーな感じで、
もしかしたらバージョンの違いが原因なのかな、と思ったのですが…
0225nobodyさん04/02/23 10:58ID:???
旧鯖でphpmysqladminとかでSQLをTEXTに吐き出して,
そのSQLで新鯖へデータ移行してみれば?
0226nobodyさん04/02/23 17:09ID:???
レスありがとうございます。
そうします。
Got error 127 from table handler
というエラーが出ました。
テーブルが壊れている時に出るエラーのようです。
0227nobodyさん04/02/24 18:12ID:FnpMfmB+
localでのテスト用にMySQLをインストールしました。Win98です。
Apacheを起動して、MySQLも起動しなければならないのですが、
どれを実行したらいいのかよくわかりません。
winmysqladmin.exeを実行すればよいのでしょうか?
0228nobodyさん04/02/26 02:53ID:???
すみません。
mytableから$sortで並べ替えてaddressを検索してlimitで$PAGESIZE * ($page - 1) ."$PAGESIZE
を取得したいのですが、

$sql = "select * from mytable order by $sort desc where address like '%$address%' limit " .$PAGESIZE * ($page - 1) ."$PAGESIZE";

これって間違ってるのでしょうか?
0229nobodyさん04/02/26 03:05ID:???
↑ごめん
解決した
0230nobodyさん04/03/02 03:25ID:U9B/qlfA
テーブルにつけたコメントをphpで出力したいのですが
どうすればよいのでしょうか?
0231nobodyさん04/03/02 19:38ID:???
select comment from table into 出力ファイル名 by php;
0232nobodyさん04/03/03 12:43ID:zpH+WglD
検索にかかった時間を取得するにはどうしたらいいのでしょうか?
0233nobodyさん04/03/03 13:01ID:???
query流す直前と流した直後の時間を取る。
0234nobodyさん04/03/04 15:50ID:muAKEQzl
データベースに同時にアクセスしたらどうなるのでしょうか?
flockのようなものはないのでしょうか?
0235nobodyさん04/03/04 21:56ID:???
>>234
複数からの接続はあってもSQLは順に処理されるから、
データが壊れるとかは気にする必要なし。
(これは一般のリレーショナルデータベースなら、みな同じ)

けれども、ひとつのクライアントが複数のSQLを発行していて、
その間に別のクライアントからのSQLが割り込んでもらったら困る場合は、
テーブルをロックする必要がある(たとえば、途中で更新されては困る場合など)。

マニュアルの
6.7.2 LOCK TABLES/UNLOCK TABLES 構文
を読むべし。

MySQL以外のリレーショナルデータベースは通常、
こういう用途のためにトランザクション機能を持っている。
MySQLもバージョンとテーブル型を選択することによって、
トランザクション機能が利用可能だ。
0236nobodyさん04/03/05 06:31ID:fxR/ujQS
webminを入れました。
webminにDBD::mysqlを手動で入れろと言われたので
入れようとしたのですが
perl Makefile.PLを実行すると、
Can't exec "mysql_config": No such file or directory at Makefile.PL line 174.
と言われてしまいます。
mysql_configはmysql/binに入っていたので
それをDBD-mysqlディレクトリにコピーしてみても同じことで…。
いったいどうすればいいのでしょうか?
0237nobodyさん04/03/05 07:06ID:???
>>236
Perlのスレ(確かDBIのもあったはず)で訊け。
0238nobodyさん04/03/05 18:33ID:6f95vfYH
テーブルのカラムの型をどういうように決めればいいのでしょうか。
char, varchar, textはどのように使い分ければいいのでしょうか?

例えば、次のようなカラムを作ろうとした場合、文字列型は何が適切なのかで悩んでいます。みんなvarcharでいいような気もしますがどうなんでしょう。

id (半角英数)
password (半角英数)
名前(全角)
ふりがな (全角)
メルアド 
郵便番号
住所 
電話番号 

>235はありがとうございました。トランザクション機能についてはよく分からないのですが、自分で勉強してみます。

0239nobodyさん04/03/05 19:46ID:???
>>238
全部charでいいんじゃないの?
0240nobodyさん04/03/05 23:22ID:???
>>238
CHARの方がVARCHARよりも検索スピードでは有利なんだけど、
MySQLはCHARとVARCHARとの間で暗黙(勝手に)の型変更があるので、
CHARだと思い込んで設計しない方が良いよ。
あと末尾のスペースの扱いも、ちっと他のDBMSと違うのにも注意。
0241nobodyさん04/03/07 10:51ID:???
レコード数が19万、テーブル全体で40MBほどのサイズになる予定のDBがあるんですが
これをレンサバ(Valuedomain)で運用する場合、やはり大きな負担になってしまいますかな?

使途はBBSなんですが、都合上スレッドの追加、削除をかなり頻繁に繰り返さなければ
ならないので上記の形(レス単位でレコード化)ではなくスレッド単位でレコードにしてしまおうか、
かなり悩んでおります。

形としては当然前者がスマートなんですが1分間に数百回insertするシステムて果たしてどうなのか・・・
0242nobodyさん04/03/07 10:55ID:EF5NuiF0
あげ
0243nobodyさん04/03/07 12:10ID:???
掲示板データは書き込みの時にDBに追加して表示用のHTML作成して
表示の時はDBから毎回生成しなければそんなに負荷は掛からないんじゃないの
まあ 書き込み:読み込み のアクセス比率によっても変わるけどね
でも1分間に数百の書き込みって凄いと思うんだけど本当ですか?
0244nobodyさん04/03/07 12:13ID:???
1つの書き込みで数十のテーブルに書き込むような構造にしてんじゃね?(藁
0245nobodyさん04/03/07 12:20ID:???
>>243
レスどもー
スレッド単位で激しい増減があるので結果的に数百というレコード数になってしまいますな
ただ先ほど、やはりBBSデータそのものをDBに保存するのは得策じゃないという結論に達しました

全文検索も簡単に出来るし使い勝手も良いのでなんとなくDBを使いたがっておったんですが、
スレッド毎にファイル保存して読み込むという、シンプルな手法を取ることにしました
DBはスレッドのいわゆるヘッダ情報のみを取り扱うことによってBBS群を管理しようかと思います
0246nobodyさん04/03/07 22:37ID:???
>>245
正直、全文検索が必要になるほどの価値のある書き込みのBBSを運用してみたいものよ。
MLのログアーカイブはDBに入れちゃって処理してるけどねぇ。
024724604/03/07 22:40ID:???
補足:有料のGAME鯖のはCHATも含めてBBSもDBで運用してます。
(データのロギングやアナライズが結構必要なんよ)
0248nobodyさん04/03/08 00:24ID:???
MySQLの全文検索ってどうやるんですか?
0249nobodyさん04/03/08 01:19ID:???
>>248
http://www.google.com/search?&q=MySQL
0250nobodyさん04/03/08 01:49ID:???
GoogleってMySQLなの?
0251nobodyさん04/03/08 02:28ID:Ajodln9P
あー、なんかそんな記事を見た気が
0252nobodyさん04/03/08 02:28ID:???
ageスマソ・・・
0253nobodyさん04/03/08 03:20ID:???
へぇー
MySQLってすごいんですね。
0254nobodyさん04/03/08 04:23ID:???
googleの機能を全てMySQLで賄っている訳ではないと思うよ。
必要なところにはOracleだって使ってるだろうし、他のDBMSだって同様。
0255nobodyさん04/03/08 10:10ID:???
Oracleは使ってないだろう、多分。
0256nobodyさん04/03/08 10:10ID:???
大部分は独自のエンジンだべ。
0257nobodyさん04/03/08 16:20ID:???
>>256
むしろ量での割合は結構使ってて、胆のフロントエンジンや
DBの分散PROXY(当然使ってるだろう)辺りは完全独自じゃないかと
思ってるんだけど。なんで量かっていうとキャッシュなどの部分で
ストレージっぽく貯めてるのがMySQLじゃないかな。
0258nobodyさん04/03/08 22:02ID:???
create table user(
ID varchar(10),
Name varchar(20),
Pass varchar(40),
No int(2),
unique(ID,Name,Pass)
);

でテーブルを作成しました。
僕が望んでいる動作はID,Name,Passが絶対に重複しないようにしたいんです。
ID:a Name:あいう Pass:1234
ID:b Name:あいう Pass:1876
この場合でも重複とみなしたい、ということです。
ですが、今は、IDとNameが重複したときのみ、エラーが出るんですが・・・

MySQLのエラーコードを見るには
a-あいう-1234・・・・
って出るので、もしかして、1列でまとめてデータ比較するから、だめってことですか?
025925804/03/08 22:31ID:???
よく分かりません。。。
MySQL側に頼り切るより
selectで呼び出して、重複して無いか調べるべきですね・・・
0260nobodyさん04/03/09 02:46ID:AUivw7LZ
テーブル作成時にidはauto_increment、nameはuniqueキーを指定しればいいと思う。
うちは重複してなんぼのDBだからよく知らないが・・。
0261nobodyさん04/03/09 22:15ID:???
constraint 句は使えんの?

postgreSQLは使えるよ
0262nobodyさん04/03/09 23:51ID:???
mysqlというかphpMyAdminで質問です.
mysql(MySQL 4.0.18nt)でphpMyAdmin(phpMyAdmin 2.5.6)を動かしています.PHPはVersion 4.3.4.
phpMyAdminで,データベースの各テーブルの【SQL】メニューから,
テーブルにテキストファイルの追加を選ぶことでcsv形式のファイルで登録しようと思ってます.

で,以前使っていたときはcsvファイルをuploadするときに文字コードを(EUCとかSJISとか)変換する
チェックボックスがあったのですがOSなどをインストールたところ,それがなくなってしまいました…
何か設定項目がありましたらどなたか教えてくださいm(_ _)mよろしくお願いします.
026326204/03/10 01:41ID:???
自己解決しました.
php.iniでphp_mbstringを使えるように設定がうまくいってなかった模様でした.
0264nobodyさん04/03/10 02:37ID:???
みなさんは何でmysqlに入って管理してるんですか?
僕はWindowsのコマンドプロンプトから入るんですけど
その場合、マルチバイトの文字がフィールドにあると、化けますよね?(文字エンコードをEUCにしてるから)
それで、マルチバイトのデータがあるテーブルを見るときは、phpmyadmin使ってるんですが、こればっかりはどうしようもないものなのでしょうか?
0265nobodyさん04/03/10 04:14ID:???
なんだっけ?CSEだったかな?そんなSQLクライアントソフトがある。
それにeucかsjisのプラグインぶちこんであげれば
表示の文字化けが直る。ただエディタ機能はsjisしかないのかな?
だからうちもSSLでコマンドプロンプト。
0266nobodyさん04/03/12 07:39ID:???
レンタルサーバーでPHP+MySQL使ってますが
ソートと検索がうまくいきません
レンタルしてるサーバーはttp://www.80code.com/ですが
もしかして80codeも
ttp://zerokara.com/server_chart.html
ここのレンタルサーバーのページ下のほうに書いてあるように
ソートと検索において不都合が生じる可能性がございます。)
ということでしょうか?
026726604/03/12 10:59ID:???
解決しますた
0268nobodyさん04/03/12 11:06ID:???
>266
自己解決したなら原因理由を書くのがマナー
026926604/03/12 16:10ID:???
解決してません!。。。
0270nobodyさん04/03/12 16:42ID:???
>>266
TEXTじゃなくBLOBにするとか
VARCHAR を BINARYにするとかじゃないの。
027126604/03/12 18:12ID:???
レンタル屋さんに問い合わせしてみました。
テーブル作るときに文字コード指定したらいいとのことだったのですが
テーブルってphpで作れますか?
作れるとしたら教えてください。。。
また、コマンドプロンプトやMySQLManagerで接続しようと試みたのですが
どうあがいても接続できませんでした。。。(約4時間)
TableのSQLステートメントのDEFAULT CHARACTER SETというパラメータで
文字コードが選択できるらしいのですが、
ただテーブルを作るだけなのですが、わかりません。。。
よろしくお願いします。
0272nobodyさん04/03/12 18:35ID:???
>>271
コントロールパネルやphpMyAdminがついてるようだけど。
027326604/03/12 19:09ID:???
phpMyAdminでCREATE TABLE のSQLステートメント
DEFAULT CHARACTER SET使えないので。。。
027426604/03/12 19:12ID:???
あ、使えるのかな
027526604/03/12 20:02ID:???
どうもお騒がせしました。
以上で解決いたしましたm(_ _)m
0276nobodyさん04/03/12 20:09ID:???
>>266
つか、Query windowでSQLクエリ発行すれば
権限ある行為は基本的に全部出来るだろ。
SQLはMySQLのマニュアルなり本買ってきて読め。
027726604/03/13 13:28ID:???
すみません、解決してませんでした。
この構文が実行できないのです
create table hoge (name varchar(10) character set ujis);

ついでにこちらもできません
alter table table1 add (name varchar(10) character set ujis);

character set ujisを外すと実行できるのです
ちなみにcreateもalterも権限はあります。ujisもサポートされているとのことです。
よろしくお願いします。m(_ _)m
0278nobodyさん04/03/13 15:21ID:???
ていうか、そんな構文あったんかー
my.iniのdefault-character-set=ujisで全データベースのキャラクタセットが決まると思ってたんだがな・・
テーブルごとに変えれるとは知らんかったよ
0279nobodyさん04/03/13 15:31ID:???
>>277
MySQLのバージョンは?
ujis対応してるといっても、MySQL3.xまではサーバ単位
MySQL4.0.6以降でも単に"構文"が許されただけだよ。
(MySQL4.1からdumpしたのをぶち込むため)
"構文"の対応度もリビジョンで色々と細かく違うが、
実際に機能はしないので普通は関係ない。

実際にカラム、テーブル、DBでキャラクターセットを指定して
設定できるようになったのはMySQL4.1から。
http://www.mysql.com/doc/ja/Nutshell_4.1_features.html

貴方の使ってるところがMySQL4.1より前のだとしたら…
その程度で仕事してるとは、いい商売だな>レンタル屋の回答
028026604/03/13 22:24ID:???
>>279
何言ってるかよくわかりませんが
バージョン聞いてるってことは4.1以下ではできないってことですか?
0281nobodyさん04/03/16 14:56ID:???
>>266
4.1以前だとできない
■ このスレッドは過去ログ倉庫に格納されています