- ベストアンサー
MySQL(Vine Linux上)でログインすると日本語が使えない
MySQL4.0.18-MAXをインストールして使っています。 OSはVine Linux2.6r4です。 rootログインや個人ユーザーでのログイン環境ではSQL文での検索が問題なく使用できています。 しかし、MySQLでログインするとVine Linuxの画面が英語になってしまいます。 GNOMEターミナルなどのコンソール画面は日本語入力が出来ません。(shift + スペースキ-) 現在、MySQLでログインしないで個人ユーザーでログインして使っていますが、誰かMySQLログインで日本語環境にする方法を知っている方がいらっしましたらその解決策を教えて欲しいのですが。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
VineSeedPlus から、MySQL-4.0.20-0vl1.src.rpm を入手してインストールしてみました。 インストール後、 アカウントmysql、uid 129、gid 130、ホーム/var/lib/mysql、シェル /bin/bash でアカウントが出来ましたので、 /var/lib/mysqlをバックアップ アカウントmysqlを一旦削除 useraddで同じ設定で再作成し バックアップから、必要なファイルをもってきた で、日本語GNOMEも日本語入力も問題ないようです。 普通にmysqladminやmysqlを実行して、ユーザ作成やDBにログインできています。 試してみてください。
その他の回答 (5)
- xjd
- ベストアンサー率63% (1021/1612)
>コマンド操作の問題かと思いますが コマンド操作以前に、mysqlは動いていますか? # ps ax | grep mysql 862 tty1 S 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql 886 tty1 S 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql 888 tty1 S 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql 889 tty1 S 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql 890 tty1 S 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql
お礼
度重なる回答ありがとうございます。 mysqlは起動しています。 chkconfigも確認しています。 mysql本体と接続がうまく出来ていないものと思います。 日本MySQLユーザー協会のHPにこのエラーが出ていました。 http://dev.mysql.com/doc/mysql/ja/Can_not_connect_to_server.html 誰かが、mysqld が使用する Unix ソケット(デフォルトでは `/tmp/mysqld.sock')を削除した。 と書かれています。解決策は書かれていませんでした。 ユーザーアカウントのコピーや削除がうまく出来ていなかったのではと思っています。 肝心のMySQLのDB作成が出来ないのでxjdさんには申し訳有りませんが昨日よりVine Linuxを初めとして再インストールをしています。 いろいろいじってしまったのできれいにしたいというのも有りました。 一週間いろいろやったのですが残念です。 再インストール後のMySQLはmysqlでログインするとやはり英語モードになります。 この問題に関しては別の安いマシンを購入した際、試してみたいと思います。 いろいろ勉強させてもらいました。 また、よろしくお願いします。
- xjd
- ベストアンサー率63% (1021/1612)
>間違いを指摘して欲しいのですがよろしくお願いします。 >(1) /var/lib/mysqlをGUIのファイルマネージャーで cpコマンドで属性・所有者を保持したままバックアップしてください。 (オプション-prなどつける) /var/lib/mysql/をバックアップした後、mysqlアカウントを削除するまえに、 /etc/passwd および /etc/group のmysqlアカウントの設定値を確認して下さい。 gid uid ホームディレクトリ ログインシェル useraddでmysqlアカウントを再作成する時に、同じ設定値を指定して下さい。
補足
何度も回答していただきありがとうございます。 gid uid ホームディレクトリ ログインシェルを確認しようとしたのですが既に初期インストール時のmysqlのアカウント値は削除されていまして確認は出来ませんでした。 記憶とGUIのファイルマネージャーでMySQLのプロバディを使いgid uidを確認しました。 gidは130とrootの二つが有りました。 uidは129 そこで # groupadd 130 mysql でグループを追加(これをしないとエラーになります。) # useradd -d /var/lib/mysql -g 130 -u 129 -s /bin/bash mysql で ユーザーを追加しました。 # more /etc/passwd でユーザー確認 # mysql:x:129:130::/var/lib/mysql:/bin/bash と なっています。 # passwd mysql でパスワード設定 # mysql -u root -p で試しにMySQLに接続しようとしたところ ERROR 2002:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 socket '/var/lib/mysql/mysql.sock' (2) と 出てしまい接続できません。ログアウトしてmysqlでログインしてもだめです。 コマンド操作の問題かと思いますが再度、教えてもらえればと思います。
- xjd
- ベストアンサー率63% (1021/1612)
>(2) /var/lib/mysqlをバックアップする。(多分 #cpを使うのでは。 cpコマンドで適当な名前で、属性を保持したままバックアップしてください。 (p,rなどのオプションを付けてください) >(5) バックアップから必要なファイルを貼り付ける。 >(この辺の手順がよくわかりません。) /var/lib/mysql/配下のmysqlディレクトリ がDBの本体ですので、それを バックアップ先から、属性を保持したままコピーしました。
補足
回答ありがとうございます。 早速試してみたのですがうまく行きませんでした。 (1) /var/lib/mysqlをGUIのファイルマネージャーで14個のファイルを/mnt/floppyへコピーしました。 (フロッピーディスクにコピーしようとしたのですがうまく行かなくて。) (2) # userdel -r mysql でmysqlユーザーを削除しました。 (3) # useradd mysql でユーザーを追加しました。 (# more /etc/passwd で追加を確認) (4)バックアップを/var/lib/mysqlに追加しようとしたのですが /var/lib/ にmysqlのディレクトリが出来ていなかったため /var/lib/ にディレクトリを作成しました。 (ユーザーの追加の時点では /home/mysql にディレクトリが出来ていました。この辺がおかしいところかなとかんじています。) (5) # passwd mysql でパスワードを設定しました。 (6) ログアウトしてmysqlでログインしますと ディレクトリ/tmp/orbit/-mysqlは現在のユーザmysqlのものではありません。 このディレクトリの所有権を修正してください というメッセージが出ます。そのまま続行するとアイコンやタスクバー無しのVineの絵だけの画面が出てきますので、電源ボタンを5,6秒押してシャットダウンします。rootでログインしてsu - mysqlだと [mysql@Vine mysql]$ になってしまいます。 xjdさんのようにうまく行きませんでした。多分、どこかで手順や方法を間違えているのではないのかと思います。(初心者もいいところですので。) 間違いを指摘して欲しいのですがよろしくお願いします。(最悪、再インストールを考えています。)
普通MySQLの管理ユーザでGUIログインすることはありません。 一般ユーザでGUIログインし、MySQLを管理ユーザで利用したい場合のみ、 ktermやgnome-terminalにて、 su - mysql と実行し、切り替えます。
お礼
回答ありがとうございます。 一般ユーザでGUIログインしてGENOMEターミナルで su - mysql で、確かにMySQLにログインできました。 bash-2.05$: となっています。今までは #mysql -u root -p Enter password mysql> で、MySQLに接続していました。 データベースに入る前の bash-2.05$: にしたかったので、一旦、Vine Linuxをログアウトしてmysqlでログインしてbash-2.05$にしていたのですが英語しか使えないのでおかしいなと思っていました。 これでひとつ解決しました。
- xjd
- ベストアンサー率63% (1021/1612)
>MySQLでログインしないで個人ユーザーでログインして 情報不足でアドバイスしか出来ませんが、 この「MySQL」とはuseraddコマンドで作成したのか、それとも MySQLパッケージを入れたときにできるユーザアカウントでしょうか? 自宅の、VineLinux2.6r4では、useraddコマンドでpostgresやmysql を作成して、ウィンドウマネージャにgnomeを指定したら、 デスクトップは日本語ですし、kinput2が起動してコンソールで日本語入力も shift+spaceで問題なく出来ます。 MySQLはソースからコンパイル・インストールしてます。
お礼
回答ありがとうございます。 MySQLはVine Speed PlusのSRPMからソースパッケージをrebuildしました。 その後、 $ su # rpm -Uvh ./rpm/RPM/i386/MySQL-*.rpm でインストールしました。 $ /usr/bin/mysqladmin -u root password '新しいパスワード' でrootアカウントのパスワードを設定して使っています。 その後、MySQLでログインも可能ということを知り、 [root@×× /root]# passwd mysql でMySQLユーザーのパスワードを設定しました。 これでログインすることが出来ましたが画面が英語モードになってしまいます。
補足
ログインはテキストモードではなくてGUIモード(wdmバージョン1.20)を使っています。 ログイン認証画面で デスクトップを→GNOMEに指定 漢字入力を→かんな に指定 このようにしてみましたが英語環境です。
お礼
回答ありがとうございます。 #2の方から一般ユーザーログインでGNOMEターミナル上で bash-2.05$: にする方法を教わりました。 しかし、私の持っている本には mysqlユーザーでログインしてmysqlコマンドでMySQLに接続 となっていますのでxjdさんの方法が合っています。 分からないことがあるので質問します。 (1) MySQLをインストールすると自動的にアカウントが出来てしまう。(#more /var/lib/mysqlで確認しました。)これが日本語表示に関係があるので変更する。 (2) /var/lib/mysqlをバックアップする。(多分 #cpを使うのでは。この辺の手順がよくわかりません。) (3) アカウントmysqlを削除する。(多分 #userdel -r mysql を使うのでは。) (4) useradd mysqlでユーザーを追加する。 (5) バックアップから必要なファイルを貼り付ける。(この辺の手順がよくわかりません。) 私にはハードルが高いようで教えていただければと思います。