MySQL データベースのエクスポート

OpenSSH をソースビルド時にうっかりSSLのライブラリーを上書きしてしまいSSHが起動しなくなりました。Web サーバーも起動エラーして再起不能かと思いましたがバックアップHDDが生きていてWordpressのデータを救出することができました。

MySQLのデータベースをまるっとお引越し。 (エクスポート/インポート)

mysqldumpまとめ

user_name, database_name, パスワードはwp-config.php で確認後、USBメモリにエクスポート。

# mysqldump -u user_name -p database_name > export_file_name.sql

HDDを入れ替えてOS起動、インポートも同様に、

# mysql -u user_name -p database_name < export_file_name.sql

過去ログ再掲 – PHP7 をソースからビルド

CentOS6にPHP7をソースからインストール – Qiita から丸写しで ビルドしたのでメモ。

# wget php-7.1.16.tar.gz http://jp2.php.net/get/php-7.1.16.tar.gz/from/a/mirror
# tar zxvf php-7.1.16.tar.gz
# cd php-7.1.16

でソースディレクトリにて作業開始。

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --bindir=/usr/local/bin --with-openssl=/usr/local/ssl --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-gd --with-zlib --with-curl --with-xsl --with-gettext --with-libxml-dir=/usr/bin/xml2-config --enable-mbstring --with-mysqli=mysqlnd --enable-mysqlnd --with-pdo-mysql=mysqlnd --enable-bcmath --enable-pcntl --enable-ftp --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-gmp --with-pspell

ここでエラー。

Warnning unrecognized options --with-mysql --enable-gd-native-ttf

PHP7 ではwith-mysqli で十分とのこと。enable-gd-native-ttfも要らないようですね。改めて ./configure make && make install して

# make && make install
# /etc/init.d/mysqld restart
# /etc/init.d/httpd restart

ビルド完了。mysql apache 再起動すると『データベース接続エラー』と表示されwordpress 表示に問題発生。

Google 先生に聞くと、PHP7にバージョンを上げると、WPの「データベース接続確立エラー」が出てしまいます  にズバリ正解がありました。

# mysql_config --socket

コマンドでソケットのパスを聞いて、php.ini のmysql.default_socket、mysqli.default_socket のそれぞれに=/pass を放り込めば良いらしい。
phpinfo.php で、mysql のmysql.default_socketmysqli 、mysqli.default_socket 項目のそれぞれに正しいパスが表示されていれば作業終了。

# php -v
PHP 7.1.16 (cli) (built: Apr 18 2018 22:12:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

めでたくPHP7 にバージョンアップされました。ただし、数式表示プラグイン wpmathpub との相性が悪いらしくWordpress の表示が崩れます。ここは、PHP5.6.35 にダウングレードして解決しました。

MySQL のパスワードリセット

ブログを更新するときにWordpress のパスワードファイルを、バックアップを取らずに削除した所ログイン出来なくなりました。過去ログから以前に助かったデータベースに接続する方法でリセットしようとしましたが、MySQL のパスワードも失念。

まず順序どおりに MySQLでrootパスワードを忘れた場合の対処方法 からroot のパスワードをリセット・・・しようとするとエラー。

# ERROR 1054 (42S22): Unknown column 'password' in 'field list'

Google 先生に聞くと MySQL 5.7.6でroot用パスワードが変わらなくて困った話  で解決できたのでシェアしておきます。

次に、MySQL にroot でログインしてWordpress のデータベースに接続、ユーザーパスワードの再設定をして助かりました。

シェルを触るのひさびさだったので、色々テンパりました。(汗

 

WordPress のインポート

今回は、CentOS6.9 からVritualBox のCentOS7.3 mariaDB (サテライト)に、WordPress のxml と、uploads ディレクトリの画像ファイルのインポートを試みました。手順は以下。

1./passtowordpress/wp-content/uploads/ ディレクトリをWinSCPや、TeraTerm のSCP機能を使ってダウンロード、サテライトにアップロード。

2.エクスポートしたxml ファイルや画像URLは引っ越し前のアドレスになっているのでインポートの前にメモ帳などで開いてURLをリプレイス。

3.WordPress の[ダッシュボード] から[ツール]-[エクスポート] プラグインを使ってxml ファイルとしてローカルに保存。サテライトで同様に[インポート] 。

ですが、やってみると画像が表示されなく試行錯誤の連続でした。まず、サテライトのインポートで画面遷移が止まりGoogle 先生に以下のサイトを教えてもらいました。

WordPressのインポート中に画面遷移が止まるときの対処法
http://ytkyk.info/blog/2015/04/22/wordpress_import_error_stop_php_xml/

これでテキストのインポートはできたのですが、まず画像がメディアライブラリに表示されない。(やっぱりね!

WordPressのメディアライブラリに画像が表示されない、挿入出来ない、対処方法http://karinto.in/2014/05/19/wordpress/

アップロードプラグイン WordPress Flash Uploader

WordPress Flash Uploader

 

をインストールして以下のサイトの使用法にしたがってアップロード。

WordPress引っ越しインポートで役立つプラグイン4個

WordPress引っ越しインポートで役立つプラグイン4個

これでメディアライブラリには画像が表示されるようになりました。それでもxml の画像リンクが間違っているのか、エントリーのリンク切れが直りません。最終手段でデータベース、画像をサテライトから削除ししてやり直し。以下のプラグインを使ってエクスポート、インポートしたところ成功しました。

 

DeMomentSomTres Export
https://ja.wordpress.org/plugins/demomentsomtres-wp-export/

WordPress のインポート

今回は、CentOS6.9 からVritualBox のCentOS7.3 mariaDB (サテライト)に、WordPress のxml と、uploads ディレクトリの画像ファイルのインポートを試みました。手順は以下。

1./passtowordpress/wp-content/uploads/ ディレクトリをWinSCPや、TeraTerm のSCP機能を使ってダウンロード、サテライトにアップロード。

2.エクスポートしたxml ファイルや画像URLは引っ越し前のアドレスになっているのでインポートの前にメモ帳などで開いてURLをリプレイス。

3.WordPress の[ダッシュボード] から[ツール]-[エクスポート] プラグインを使ってxml ファイルとしてローカルに保存。サテライトで同様に[インポート] 。

ですが、やってみると画像が表示されなく試行錯誤の連続でした。まず、サテライトのインポートで画面遷移が止まりGoogle 先生に以下のサイトを教えてもらいました。

WordPressのインポート中に画面遷移が止まるときの対処法
http://ytkyk.info/blog/2015/04/22/wordpress_import_error_stop_php_xml/

これでテキストのインポートはできたのですが、まず画像がメディアライブラリに表示されない。(やっぱりね!

WordPressのメディアライブラリに画像が表示されない、挿入出来ない、対処方法http://karinto.in/2014/05/19/wordpress/

アップロードプラグイン WordPress Flash Uploader

WordPress Flash Uploader

 

をインストールして以下のサイトの使用法にしたがってアップロード。

WordPress引っ越しインポートで役立つプラグイン4個

WordPress引っ越しインポートで役立つプラグイン4個

これでメディアライブラリには画像が表示されるようになりました。それでもxml の画像リンクが間違っているのか、エントリーのリンク切れが直りません。最終手段でデータベース、画像をサテライトから削除ししてやり直し。以下のプラグインを使ってエクスポート、インポートしたところ成功しました。

 

DeMomentSomTres Export
https://ja.wordpress.org/plugins/demomentsomtres-wp-export/

MySQL 互換MariaDB でWordPress の初期設定

前回の続きで、今回はMySQL 互換のMariaDB でデータベースとユーザーを作成していきます。早速、

# mysqladmin create 'databasename' -u root -p

データベース名、’databasename’ は予め考えたオリジナルの名前(例:wordpress , didital_life, casual など)で何でも良いです。

mariaDB にログインして一意のユーザー名、’username’に対してデータベースのパスワードを設定して、権限を与えていきます。

# mysql -u root -p
# mariaDB [<none>] GRANT ALL PRIVILEGES ON 'databasename'.* TO 'username'@localhost IDENTIFIED BY 'password';

Query OK , 0 rows affected と表示されればOKです。

# mariaDB[<none>] FLUSH PRIVILEGES;

Query OK 。exit または\q でプロンプトから出ます。

 

前回のページからの遷移画面、wp-admin/install.php に、WordPress のタイトル、管理ユーザー名、メールアドレスを入力、パスワードをメモ帳などに記録、[インストール] ボタンをクリックして、ユーザー名と先ほどメモしたパスワードを入力、ログインすればブログサーバーの初期設定、完了です。

 

 

参考URL: WordPress のインストール – WordPress Codex 日本語版

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

前回、構築したLAMP にWordpress をインストール。

# cd /var/www/html
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar zxvf latest-ja.tar.gz
# chown -R apache:apache wordpress/

ブラウザのアドレスバーから、http://localhost/wordpress/ でインストール画面を表示しようとして、PHP が500 サーバーエラーを吐きまくるので解決方法を見つけるまで半日掛かりました。

初めは /etc/httpd/conf/httpd.conf の

DirectoryIndex index.html index.php

を追加し忘れたと思い修正しましたが(もちろん必須の項目ですが。)500 エラー。

<Directory "/var/www/html">
  Options indexes ExecCGI

の追記はもちろん、必要ですがエラーが続きました。/etc/httpd/logs/error.log も見ましたがIE11 ではエラーが表示されず、Edge で閲覧キャッシュを削除するとブラウザに件のメッセージが表示されました。

件のキーワードで検索すると、php-mysql のインストールとphp.ini の設定が欠けていたようです。

一旦、yum remove php … してphp-mysql を再インストール。

# yum install --enablerepo=remi, remi-php70 php php-devel php-mysql php-mbstring php-pdo php-gd

/etc/php.ini に、extension = mysql.so を追記。

# systemctl restart httpd

で、httpd を再起動。すると、WordPress のwp-admin/setup-config.php が無事、表示されました。

参考URL: https://mostworks.wordpress.com/2013/02/16/2013-2-yuminstall-php-mysql-module/

CentOS7 にPHP7 MariaDB をyum でインストール

CentOS7 最新版は、CentOS Linux7.3(2017年6月11日現在)CentOS7-x86_64-DVD-1611.iso をVirtualBox にインストール。

 

インストール画面で

[ネットワークとホスト名] でネットワークアダプターを[ON] にします。

[ソフトウェアの選択] で[ベーシック Web サーバー] を選択し、

・Java プラットフォーム
・MariaDB データベースクライアント
・PHP サポート
・ Perl – Web 向け
・Python(お好みで)
・Web サーブレットエンジン
・開発環境
にチェックをして[完了] をクリックします。

[インストール先] はカスタムパーティションで、

[デバイスタイプ] 標準パーティション
[ファイルシステム] ext4

パーティションは、
/boot 1024MB sda1
/          残り全部 sda2
swap  sda3

とし、完了をクリック、ユーザーとパスワードを作成。

 

[インストールの開始] ボタンをクリックすると始まります。

Virtualbox で[起動] ボタンを押すとサーバーが起動しコンソールが表示されます。早速、epel remi リポジトリをインストール。

# yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7 をインストール

# yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd

/etc/php.ini を編集

基本は、変更すべき php.ini の設定項目 | // sakura note を参考に以下の行を修正。

mbstring.detect_order = UTF-8,SJIS,EUC-JP

(Mysql) MariaDB をインストール

# yum install mariadb mariadb-server mariadb-devel
# systemctl start mariadb
# MySQL_secure_installation

MariaDB の初期設定、基本[Yes] で。
httpd.conf を編集。

# vi /etc/httpd/conf/httpd.conf

Servername localhost:80 (追記

<Directory "/var/www/html">
 AllowOverride All(追記

その他、初期設定は以下のページを参考にしました。
http://www.server-memo.net/centos-settings/centos7/hostname.html#hostnamectl

ホストネーム設定、Apacheの起動。

# hostnamectl set-hostname localhost
# systemctl restart httpd

VirtualBox の[設定]-[ネットワーク]ペインの[アダプター1]-[ポートフォワーディング]の項目を追加。

ホスト80 ゲスト80 を設定して、ホスト側のWindowsのC:\Windows\System32/Drivers/etc ファイルをメモ帳で開き、 ip addr show コマンドでDHCP取得されたアドレスをホストネームと併記して保存。ブラウザで、http://localhost/ と入力するとApacheテストページが表示されます。

 

以上、下記URLを参考にしました。

CentOS7のhttpd設定で詰まった点
http://qiita.com/sky_y/items/b92fa6ba57d926f25370

CentOS 7 で sshd のポートを変更する(firewalld, SELinuxの設定)

CentOS7にPHP7をyumでインストールする – Qiita
http://qiita.com/inakadegaebal/items/b57cf10339978d638305
LAMP環境(CentOS 7, Apache, MariaDB, PHP 7)を構築する – みそしりんぐ

MySQL のバージョンアップ

シナリオは、以下のサイトで示されています。

http://qiita.com/tachitechi/items/b59278a16f636651410f

MySQL のシャットダウン、削除、リポジトリの追加、yum でインストール、バージョンアップの有効化の繰り返しです。

機械的な操作で簡単にバージョンアップできました。おすすめです。

 

WordPressのパスワード再設定

パスワードをメモ書きしたPCを初期化する際にバックアップを取っていなかったのでログインできずに困りました。

WordPressのログインパスワードを忘れてリセットメールも飛ばない時に何とかする方法 (下記URL)

でmysqlを起動してデータベースからパスワードをリセットできました。ありがたや~m(_ _)m

参考URL http://d.hatena.ne.jp/tanamon/20131017/1382023373