MySQL 5.0 (559レス)
上下前次1-新
293(1): 2008/05/08(木)17:00 ID:??? AAS
>>292
新しいほう(v4)のcnfで、data_dir、pidの場所、mysql.sockの場所、bindするPort
全て異なる設定にする。
294: 286 2008/05/08(木)17:26 ID:??? AAS
>/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(1): 286 2008/05/08(木)17:48 ID:??? AAS
MySQL4はあきらめてで5を入れて試してみます。
回答してくれた方ありがとうございました。
296: 2008/05/08(木)18:08 ID:??? AAS
>>295
> /var/lib/mysql4/bin/mysqld_safe ・・・・
のところの、-u root いらない。(ってか、確かroot権限でmysqldは起動できないはず)
あと、--defaults-file= 指定するなら、その後ろ側にある各種コマンドラインオプションも.cnfに書いてしまえ。
もうひとつ、予想だけど、/var/lib/mysql4 はほんとにdatadirかな?/var/lib/mysql/dataではなくて?
297(1): 286 2008/05/08(木)19:30 ID:??? AAS
>もうひとつ、予想だけど、/var/lib/mysql4?はほんとにdatadirかな?/var/lib/mysql/dataではなくて?
そのとおりでした。/var/lib/mysql4/dataでした
ただ、そのへんを直しても同じエラーでこけるっす・・・
298: 2008/05/08(木)20:00 ID:??? AAS
>>297
もう少しエスパーしてみる。
そのPathからして、多分ソースから、--prefix=/var/lib/mysql4 としてコンパイル&インストールしたんだと思われるけど、
まず、動いてるほうのmysql3を止めてから、4のほうを起動出来るか試してみる。(cnfは二つ目起動させる設定で)
それで起動出来なければ、単独とか2つ同時起動とか関係ない。そもそも起動の仕方が間違ってる。
で、予想としては、mysql権限テーブルが作成されていないとか、datadir以下のパーミッション絡みかな。
ここら辺は詳しくは、本家のmanualなりdocument見てくれ。
ここいらがわかってないと、5.0入れても多分起動できない。
逆に、上の段階で起動出来てしまったら、原因ようわからん。(オレではお手上げ)
ちなみに、ウチの環境で、>>293の通り即席でやってみたら、2つ同時起動はできた。(v4とv5でだけど)
省1
299: 286 2008/05/08(木)22:11 ID:??? AAS
すみません、上司と相談した結果MySQL4をアンインストしてMySQL5を入れることになりました
それでmysqld_safeで無事起動できました
結局大本の問題は解決できませんでしたが色々相談に乗ってくださってありがとうございました
300: 2008/06/02(月)21:37 ID:??? AAS
エスパーですまん。
なにがなんだかわからん。
同じテーブルをアクセスしているが
PHP経由は大丈夫で
突然、JDBC でおかしくなった。
昨日までOKだった。
OS再起動までした。
以下、mysql.log
省14
301: 2008/06/02(月)21:44 ID:??? AAS
経過
他のJDBC アプリでログが出力されていたので
アプリのソースってことがわかりました。
しかし、ゴミになるってことはなに?ソースを追うしかないのか?
302: 2008/06/02(月)22:30 ID:??? AAS
自己れす 解決
connect まではログにでているので、select 文を べた書きにしてうまく流れたので
元に戻して 確認。
jdbc のバージョンがでるところからおかしくなっていたのでJDBCなのか?
そうなのか?
303(5): 2008/06/07(土)04:02 ID:??? AAS
質問させて下さい。
これまで、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)
省10
304(1): 303 2008/06/07(土)04:09 ID:??? AAS
続きです。
2※phpスクリプト内部でINSERT文を実行する前に次のコードも入れています。
mysql_query('set character set sjis',$dbHandle)
3※組み立てられたSQLを画面上に print(""); で確認すると正常に日本語が入力されています。
4※MySQLのデータ操作を行う際にCSEも使っているのですが、CSEよりテーブルを開き直接日本語
を登録すると、その値は正常に日本語で登録されています。しかし、phpにて一覧出力すると ??? という
具合に文字化けしてしまいます。
あと、追加で質問させて頂きたいのですが、コマンドラインからMySQLを再起動するには
何というコマンドを実行すればよいのでしょうか?ぐぐっても中々ヒットしませんでした。
因みに、GUIツールとして MySQL Query Browserを使用しているのですがここから再起動とかも出来る
省1
305(2): 2008/06/07(土)06:46 ID:??? AAS
>>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したんだろうけど、
省8
306(1): 305 2008/06/07(土)06:46 ID:??? AAS
続き
で、その起動時にオプションで、設定ファイル(my.ini)を読み込ませたり、charset他各種設定オプションを渡したりできる。
サービス登録の場合も、上記の「管理ツール」→「サービス」から、起動時のコマンドラインオプションを設定できる。
なので、charset等適切に編集したmy.iniを読み込ますように起動させればよい。
具体的な設定方法などは、本家のManual等を参照してくれ。
ちなみにWin版のバイナリ版phpは、php_mysql.dllがlatin1でコンパイルされてるので、
上記のことをやってなお、接続時に全てのクエリの前に "set names cp932" 等の処置が必要。
又は、上記の設定ファイル中で書くやり方もある。
それでは、がんばってくれ。
307: 306 2008/06/07(土)06:54 ID:??? AAS
ごめん。一つうそついてしまった。
php_mysql.dllじゃなくて、正確にはmysqlに付属のlibmysql.dllが、
デフォルトコードLatin1でコンパイルされているの間違い。
(まあ、phpバンドルのlibmysql,dllも同じことなんだけど)
308: 303 2008/06/07(土)15:37 ID:??? AAS
>>305さん
ご丁寧にレスありがとございます。
色々とお教え頂いた様に試してみたのですが相変わらず、文字化けしてしまします。
1.my.ini
[client]
default-character-set=sjis
[mysql]
default-character-set=sjis
[mysqld]
default-character-set=sjis
省11
309: 303 2008/06/07(土)15:43 ID:??? AAS
続きです。
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");
省4
310(1): 303 2008/06/07(土)17:57 ID:??? AAS
自己解決しました。
・・・MySQLってなかなか一癖ありますね。。。
思わぬ落とし穴がありました。
311(1): 2008/06/08(日)04:27 ID:??? AAS
>>310
どう解決したかを書かないと意味がないだろ。
自分がよければそれでいいのかい?
とりあえず文字コードを多重変換して嵌ってたんだろうと推測しとく。
312: 2008/06/08(日)15:15 ID:??? AAS
>>311
良いよ
だって自己解決したんだし。
上下前次1-新書関写板覧索設栞歴
あと 247 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.008s