web関連tips備忘録

| 1 | 2 |

MySQL server 起動できなくなったときの解決策


ブログ(CMS)画面が真っ白になっていたのでphpがエラー表示するよう .htaccessファイルに「php_flag display_errors On」を追記してエラーメッセージを確認すると、mysqlがconnect EEROR になっていた。

解決策

  1. # /etc/init.d/mysql start↩ としてmysqlサーバーを起動して、メッセージを確認。
    [....] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details.
    failed!

  2. 表示されたメッセージに従って
    # systemctl status mysql.service↩としてメッセージを確認すると
    メッセージの最後の方に
    mysql[32413]: /etc/init.d/mysql: ERROR: The partition with ...d! と表示された。
    mysql serverを起動するにはディスクスペースが足りないようだ。

  3. # df↩ としてパーティションの使用状況を確認すると
    /var が使用可 0 になっていた。
    /var/lib にはmysql など諸々のライブラリーが入っている。起動できない一因が判明した。

  4. # apt-get clean↩でアーカイブファイルを削除して空きエリアを確保

  5. # df↩ としてパーティションの使用状況を確認すると
    /var が使用可3.5G になった。

  6. # /etc/init.d/mysql start↩ でサーバーを起動すると
    [ ok ] Starting mysql (via systemctl): mysql.service.
    で、mysql serverが起動してブログ(CMS)も正常に表示されるようになった。

DB 2018-01-10(水) 17:49:55 - kei - TrackBacks

mysqlをSSL接続できるようにする


参考URL
MySQL 5.6 MySQL 5.6 リファレンスマニュアル ::
 
6.3.10.5. MySQL での SSL 証明書および鍵の設定
 6.3.10.3 SSL 6.3.10.3. SSL 接続の使用
① creat CA certificate
 $ mkdir /dir-path/.ssl //任意の場所に作成
 $ cd /dir-path/.ssl    //作成した場所に移動する
 $ openssl genrsa 2048 > ca-key.pem
 $ openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem
質問に回答する。以下同じ

② Create server certificate, remove passphrase, and sign it server-cert.pem = public key, server-key.pem = private key
 $ openssl req -newkey rsa:2048 -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
 $ openssl rsa -in server-key.pem -out server-key.pem
 $ openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

③ Create client certificate, remove passphrase, and sign it client-cert.pem = public key, client-key.pem = private key

$ openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem
 $ openssl rsa -in client-key.pem -out client-key.pem
 $ openssl x509 -req -in client-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

 $ ls  //作成した公開鍵などを確認する
ca-cert.pem client-cert.pem client-req.pem server-key.pem
ca-key.pem client-key.pem server-cert.pem server-req.pem

正しく作成されたかチェックする
shell> openssl verify -CAfile ca-cert.pem server-cert.pem client-cert.pem
server-cert.pem: OK
client-cert.pem: OK


④作成した公開鍵などを /etc/mysql/my.cnf に登録(追記)する。
[client]
・・・
 ssl-ca=/dir-path/.ssl/ca-cert.pem
 ssl-cert=/dir-path/.ssl/client-cert.pem
 ssl-key=/dir-path/.ssl/client-key.pem

[mysqld]
・・・
 ssl-ca=/dir-path/.ssl/ca-cert.pem
 ssl-cert=/dir-path/.ssl/server-cert.pem
 ssl-key=/dir-path/.ssl/server-key.pem

登録を反映させるために mysql を再起動する。
 # /etc/init.d/mysql restart

⑤ SSL接続できるようになったか確認する。
 $ mysql -u username -p
 $ mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+--------------------------------------+
| Variable_name | Value          |
+---------------+---------------------------------------+
| Ssl_cipher   | DHE-RSA-AES256-SHA |
+---------------+---------------------------------------+
1 row in set (0.00 sec)
 $ mysql> quit;

DB 2015-09-27(日) 03:53:27 - kei - TrackBacks

mysqldumpで文字化け


$ mysqldump -u ユーザー名 -p --add-drop-table データベース名 >保存先ファイル名

で データベースをバックアップすると、データの文字コードの違いで文字化けして保存されることがある。
そのような場合は、下記のように文字コードをチェックしないよう ”--default-character-set=binary” オプションをセットしてバックアップする。

$ mysqldump --default-character-set=binary -u ユーザー名 -p --add-drop-table データベース名 >保存先ファイル名

参考URL:
MySQLのmysqldumpの文字コードについて

DB 2011-12-21(水) 21:11:34 - kei - TrackBacks

mysql管理者のパスワードを忘れてしまった場合


mysqlで管理者(mysqlのrootユーザー)のパスワードを忘れてしまったら、次の手順でパスワードを再設定します。

1)$ suでrootユーザーになって、mysqlをストップさせる。
2)権限テーブルを無視する形でmysqlを起動する。
3)管理者の新しいパスワードを設定する。
4)mysqlを再起動する。

$ su
# /etc/init.d/mysql stop
# mysqld --skip-grant-tables
# mysqladmin -u root password 'new password'
# /etc/init.d/mysql restart

DB 2011-12-21(水) 13:36:50 - kei - TrackBacks

phpmyadmin2.9.1.1をEUC-JPで使えるようにする2 debian etch


mysql version 5.0.32
phpmyadmin version 2.9.1.1

mysqlやphpmyadminのセキュリティー勧告により、
#>apt-get update
#>apt-get upgrade
したせいか、暫くぶりにphpmyadminを使ったら、文字化けが再現していて「phpmyadmin2.9.1.1をEUC-JPで使えるようにする。debian etch」で書いたことが通用しないことが判った。

苦肉の対策
/usr/share/phpmyadmin/libraries/database_interface.lib.php の824行目に当たりにある
function PMA_DBI_postConnect($link, $is_controluser = false)関数の頭で、何もしないでリターンさせることによって解決した。

注意:
  1. euc-jpで作成されたデータベースは、ログインページで「言語 - Language」を。日本語ーjapanese(euc)にする。

  2. utf8で作成されたデータベースは、メインページにある「言語 - Language」を。日本語ーjapanese(utf-8)にする。

function PMA_DBI_postConnect($link, $is_controluser = false)
{

if($GLOBALS['charset']!="utf-8")
 return;←2行を挿入した

if (!defined('PMA_MYSQL_INT_VERSION')) {
$mysql_version = PMA_DBI_fetch_value(
     ・
     ・
     ・

DB 2008-05-07(水) 21:06:05 - kei - TrackBacks
| 1 | 2 |
LINK