AD:
最近MacでRailsの環境を行っているのですが、Rails3にアップデート( たしかMacPortでアップデートしたような)
して、Mysqlで開発を行おうとしたらエラーがでたので、そのメモを書いておきます。
下記のようなコマンドでプロジェクト?を生成して、さっそく走らしてみる下記のエラー
[bash]$ rails new hoge -d mysql
$ cd /hoge/
$ rails s
dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/ext/mysql2/mysql2.bundle
Expected in: flat namespace
dyld: Symbol not found: _mysql_get_client_info
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/ext/mysql2/mysql2.bundle
Expected in: flat namespace
[/bash]
検索してみていろいろ試してみるが、どれもうまく行かず、最終的に下記のページの内容で解決
http://stackoverflow.com/questions/5894102/bundle-command-the-wrong-mysql2-gem-always-0-3-2
gemのmysqlのライブラリの上げて解決
[bash]
$ sudo gem uninstall mysql2 -i /Library/Ruby/Gems/1.8
$ gem ‘mysql2′,’0.2.7’
$ bundle install
[/bash]
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
本日Mysqlにトラブルがありました、その際の復旧方法をメモしておきます。
さっそくサーバにログインして、確認してみるとMysqlのプロセスは確認できました。
Mysqlに接続を試みるものも接続できず。
とにかく、一度再起動を行ってみました。
|
#/etc/rc.d/init.d/mysqld restart Stopping MySQL: [ OK ] Timeout error occurred trying to start MySQL Daemon. Starting MySQL: [FAILED] |
停止はできるが起動ができませんでした。
解決方法
こういう時は、かならずログにヒントが隠されているのでさっそくログを確認する。
ログの場所はこちら:/var/log/mysqld.log
やはりログに答えは書いてありました、mysqlslow.log に問題ありとのこと。
このログファイルは、SQLの実行が5秒以上かかった場合に残すようにように設定していたログです。
|
# tail /var/log/mysqld.log 110312 17:01:13 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28) 110312 17:01:13 [ERROR] Can't start server: can't create PID file: No space left on device Number of processes running now: 0 110312 17:01:13 mysqld restarted /usr/libexec/mysqld: Error writing file '/var/log/mysqlslow.log' (Errcode: 28) 110312 17:01:13 [ERROR] Could not use /var/log/mysqlslow.log for logging (error 28). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it. |
さっそくmysqlslow.logを調査してみる。
mysqlslow.logのサイズが4GB以上になっている。。。。。
とりあえず、ファイルを退避させる。
その後Mysqlの起動を試みる。
|
# /etc/rc.d/init.d/mysqld start Starting MySQL: [ OK ] |
見事に起動。
課題
上記の対応で、サービスは稼動しましたが、いろいろと課題あります。
- 1.ログファイルにローテションを組むようにしとけ!!
- 2.Nagiosで監視してるけど、今回の現象はプロセスは生きているので発見できず、、、監視体制の見直し
- 3.SQLが5秒以上もかかっているプログラムを潰さないと。。。
恐らく、ログは一時期サーバに高負荷に陥ったときに増産されたと思うんんですが、でも対策しないと
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 0
AD:
CakephpでMysqlで取得したデータのみだけ文字化けの現象がおきましたので、その時の解決法をメモしておきます。
解決法
/app/config/database.phpに文字コードを指定
|
var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'user', 'password' => 'pass', 'encoding' => 'utf8' , ← 文字コードを指定 'database' => 'dbname', 'prefix' => '', ); |
上記の設定で解決できました。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
SQL Mk-2を選択した理由は、日本語に対応していること、開発が頻繁に行われていることを理由に選択しました。
ほかにも「DBDesigner」なども試そうかと思いましたが、時間もあまりなかったので、諦めました。
上記のリンクから、ダウンロードしてきて、インストールします。
MySQL ODBCのインストール
MYSQLで接続する場合は、ODBCから接続しないといけないようなので、「MySQL ODBC」をインストールしました。
http://dev.mysql.com/downloads/connector/odbc/3.51.html#win32
上記のURLからダウンロードしてきて、インストールします。
SQL Mk-2のMYSQLの接続方法の詳細はこちらのURLにあります。
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/tips/mysql_connect/
動作画面
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 0
AD:
最近開発に、Netbeans6.7を使っているんですがDBのER図を提出しなくていけなくなったので、プラグインを探していて、NetBeans UML® Projectからプラグインを発見したので、そのメモです。
JDKのダウンロードとインストール
まずぼくのNetbeans6.7は、JAVAの環境がJREで動いているので、インストールできないとのこと
なので、JDKをインストール
http://java.sun.com/javase/ja/6/download.html
からJDK6をダウンロードします。
さっそくインストロール
netbeans.confの書き換え
ファイルの場所は、C:Program FilesNetBeans 6.7etcnetbeans.conf
下記の内容で書き換えました。
|
netbeans_jdkhome="C:Program FilesJavajre6"  ↓ #netbeans_jdkhome="C:Program FilesJavajre6" 追加 netbeans_jdkhome="C:Program FilesJavajdk1.6.0_14 |
画面
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
CentOSにMysqlをインストール
yumでMysqlをインストール
|
[root@localhost ~]# yum -y install mysql-server |
MySQL設定ファイル編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
[root@localhost ~]# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 #aracter-set = utf8<span>←コメントアウト</span>+ default-character-set=utf8<span>←追加</span> [mysql.server] user=mysql basedir=/var/lib [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set=utf8<span>←追加</span> |
Mysqlを立ち上げてみる
|
[root@localhost ~]# /etc/rc.d/init.d/mysqld start Timeout error occurred trying to start MySQL Daemon. MySQL を起動中: [失敗] |
失敗したので原因をさぐるためログを確認
|
[root@localhost ~]# vi /var/log/mysqld.log InnoDB: Apply batch completed 080819 18:05:21 InnoDB: Started; log sequence number 0 43655 080819 18:05:21 <span>[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist</span> 080819 18:05:21 mysqld ended |
MySQL データを初期化し、システム テーブルを作成さしてみる
|
[root@localhost ~]# mysql_install_db |
もう一度起動してみる
|
[root@localhost ~]# /etc/rc.d/init.d/mysqld start Timeout error occurred trying to start MySQL Daemon. MySQL を起動中: [失敗] |
またまた失敗したのでログを確認
エラーが変わる。
|
[root@localhost ~]# vi /var/log/mysqld.log 080819 18:25:48 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13) 080819 18:25:48 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13) 080819 18:25:48 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13) |
調べると”/var/lib/mysql”のアクセス権が正しくないらしい
ぼくはすべてがrootユーザの権限になっていた。
mysqlに権限を与える
|
[root@localhost ~]# chown -R mysql:mysql /var/lib/mysql |
見事に機動・・・時間かかった。
|
[root@localhost ~]# /etc/rc.d/init.d/mysqld start MySQL を起動中: [ OK ] |
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 42 | Pocket: 11 | Total: 55 | Feedly: 0
AD:
RPM によってインストールされたもの
|
$ rpm -q パッケージ名 |
Mysqlの確認方法
|
$ rpm -q mysql mysql-5.0.45-7.el5 |
httpdの確認方法
|
rpm -q httpd httpd-2.2.3-11.el5.centos |
CentOSのバージョンの確認方法
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0