バックアップと復元のメモ

特定のデータベースをバックアップ&復元する方法

mysqldumpでバックアップ&復元 - phpspot から。

バックアップ

$ mysqldump -u root -p データベース名 > dump.sql

復元

$ mysql -u root -p データベース名 < dump.sql


保存される場所は、今いるディレクトリの中。

特定のテーブルをバックアップ&復元する方法

MySQL テーブル単位でのデータバックアップ・復元 - スポンサー広告MYSQL から。

まずはMySQLクライアントを起動して、目的のテーブルがあるデータベースを開く。

$ mysql -u root -p ...この後パスワード入力
mysql> USE データベース名;

バックアップ

mysql> select * INTO OUTFILE 'dump.txt' from テーブル名;

復元

mysql> LOAD DATA INFILE 'dump.txt' INTO TABLE テーブル名;


私はAサーバからBサーバへのテーブル単位のデータ移動が目的だったんだけど、2つのエラーに直面したのでそれもメモ。

文字コードの違いによるエラー

ERROR 1366 (HY000): Incorrect string value: '\x00\x00\x00\x00\x00\x00...' for column 'name' at row 1

AサーバがUTF-8でBサーバがSJISになってた。
Bサーバの他のデータベースに影響が出ると困るので、特定のデータベースだけ文字コード変更。
データベース属性(文字セットと照合順序)を変更する(ALTER DATABASE文) | MySQLの使い方 を参考に。

ALTER DATABASE データベース名 CHARACTER SET utf8;
プライマリキーの重複

ERROR 1062 (23000): Duplicate entry 'X' for key 1

もともとBサーバにあったデータを、Aサーバで変更してBサーバに戻そうとしていたのでこうなった模様。
これの対処法は、MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.6 LOAD DATA INFILE 構文 を参考に。

mysql> LOAD DATA INFILE 'dump.txt' REPLACE INTO TABLE テーブル名;

このように、ファイル名の後に「REPLACE」キーワードを付けることで上書きが出来る。

その他、細かいこと

'〜〜〜〜/dump.txt' not found (Errcode: 2)

'〜〜〜〜'にファイルを移動するか、INFILEの前に「LOCAL」キーワードを付けて今いるディレクトリのファイルを参照させる。

mysql> LOAD DATA LOCAL INFILE 'dump.txt' REPLACE INTO TABLE テーブル名;

Access denied for user: 'xxxxx@localhost' (Using password: YES)

Access deniedエラー
ユーザにFILE 権限が有効化されていない。
(最初、データベース専用のユーザでやろうとしてこのエラーが出た。面倒だったのでrootでやった。)


という感じで、無事バックアップ&復元完了しました!

D3pipesでRSS解析に失敗したときに確認すること

XML解析のタイプがマッチしていないため、エントリを抽出できません。パイプ管理で確認してください

と言われて、RSSが解析できないときは、
RSSのソースの中に'&'が含まれていないか確認しましょう。


'&'が含まれていると、'&xxx;'の始まりと認識されて、
';'がないからXML Parsing Errorだ!と怒られるみたいです。


なので解析の前にテキスト置換で
'&'を'&amp;'に変換すると上手くいきます。

AVDが使えるようになるインストールの仕方

特に何も気にしないでAndroid SDKをインストールして、
avd1という名前でAVDを作成してスタートしたら

PANIC: Could not open:***/avd1.ini

と言われてしまった。
avd1.iniを探すと全然違う場所にある!という現象。
これを解決した私のやり方をメモ。
ちなみに諸々の事情でD:に置いてます。

ダウンロード

まずはAndroid SDKのzipをダウンロード。
http://developer.android.com/intl/ja/sdk/index.html
JAVAも必要なので、入ってない時は入れておく。(Java Platform (JDK))
http://www.oracle.com/technetwork/java/javase/downloads/index.html
この辺りは
http://smartgoods.me/2011/10/special_android_sdk_install/
を参考にするととっても分かりやすい。

インストール(というか設置)

D:の直下に[Android]というフォルダを作成する。
Android SDKのzipを今作成した[Android]の中に解凍して、フォルダ名を[android-sdk]に変更。
パスが[D:\Android\android-sdk]になるようにする。

環境変数の設定

ユーザー環境変数で、次の変数を作成。
環境変数の設定方法もさっきの参考サイトで分かりやすく説明されている。

変数 ANDROID_SDK_HOME
値  D:\Android\android-sdk

パッケージのインストール

[android-sdk]フォルダを開き、SDK Manager.exeを実行する。
パッケージの一覧が表示されるので、必要なパッケージをインストール。
AVDを利用するには、「Android X.X (API X)」というのが必要。
X.Xとかはバージョンなので、必要なバージョンをインストールすればOK。

AVDの作成と起動

[android-sdk]フォルダを開き、AVD Manager.exeを実行する。
右上のNew...をクリック。
NameとTargetを設定してCreate AVDをクリックすれば作成できる。
必要に応じてその他の設定もする。
作成したAVDを選択して、Startをクリックして起動。


以上でおしまい。

ブロックタイトルにリンクを張る方法

参考URL
http://www.xugj.org/modules/xpwiki/?CustomizeManual%2F%E3%83%86%E3%83%BC%E3%83%9E%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%AE%E5%AE%9F%E4%BE%8B

class/smarty/plugins/modifier.xoops_blocktitlelink.php

タイトルにリンクを張るプラグインを作成する。

<?php

function smarty_modifier_xoops_blocktitlelink( $string )
{
	list( $title , $linkurl ) = @explode( '[[' , $string ) ;
	if( empty( $linkurl ) ) return $title ;

	return '<a href="'.XOOPS_URL."/modules/".$linkurl.'/">'.$title.'</a>' ;

}

?>

themes/(テーマフォルダ)/theme.html

<div class="blockTitle"><{$block.title}></div>

この部分を

<div class="blockTitle"><{$block.title|xoops_blocktitlelink}></div>

に変更。

ブロック管理画面にて

リンクを張りたいブロックのタイトルを

(タイトル)[[(モジュール名)

に変更。例えばd3pipesだと、

更新情報[[d3pipes

こんな感じ。

こういうプラグインの使い方さえ分かれば、なんでも出来そう!


更新する頻度が少なすぎて、はてな記法一覧がないとわけがわからないorz

XOOPS Cube Legacy 2.2 と Altsys のメモ

何もしないでXOOPS Cube Legacy 2.2 に Altsys をインストールしようとすると、
画面下のほうにいろいろ出る。

Notice [PHP]: Use of undefined constant _LANGCODE - assumed '_LANGCODE' in file class/template.php line 85
Notice [PHP]: Use of undefined constant _CHARSET - assumed '_CHARSET' in file class/template.php line 86
Notice [PHP]: Use of undefined constant _LANGCODE - assumed '_LANGCODE' in file modules/legacyRender/kernel/Legacy_AdminRenderSystem.class.php line 123
Notice [PHP]: Use of undefined constant _CHARSET - assumed '_CHARSET' in file modules/legacyRender/kernel/Legacy_AdminRenderSystem.class.php line 124
Notice [PHP]: Use of undefined constant _CHARSET - assumed '_CHARSET' in file modules/legacyRender/kernel/Legacy_RenderTarget.class.php line 25

 
これの解決方法は
http://www.xugj.org/modules/d3forum/index.php?post_id=5974
 ↓
Altsys / ホダ塾ディストリビューションを使っている場合:
http://sourceforge.net/apps/mediawiki/xoopscube/index.php?title=Upgrade22;ja#Altsys_.2F_.E3.83.9B.E3.83.80.E5.A1.BE.E3.83.87.E3.82.A3.E3.82.B9.E3.83.88.E3.83.AA.E3.83.93.E3.83.A5.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.92.E4.BD.BF.E3.81.A3.E3.81.A6.E3.81.84.E3.82.8B.E5.A0.B4.E5.90.88.EF.BC.9A

Aptanaで正規表現を使って置換する

Webサイトの作成にAptanaを使ってます。
 
検索や置換のダイアログで「正規表現」のチェックボックスがあったので、
正規表現が使えるのかーとは思ってたんですが、
なんだか難しそうでこれまで使っていませんでした。
 
この度、SEO的にサイトを見直していて、
見出しのタグを書き換えようと思ったのですが、
ページを一つ一つ変えてたらキリがないなぁ…と思って正規表現で置換を調べました。
 
と言っても自分が使う範囲しか調べないズボラな性格なので、すごく限定的です…。

続きを読む