トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

FB-MySQL

FreeBSD で MySql を入れた時に使う。。

初めに
mysqladmin -u root password 管理者パスワード
で管理者のパスワードを設定しよう。。

 あとは

 phpMyadmin でも。。

MySQLのバックアップ

MySQLのバックアップにも色々な方法があると思いますが、もっとも簡単な方法はmysqldumpを利用することです。

たとえば、全データベースをバックアップするのなら次のようにします。Linuxではこれをcronから起動させれば深夜に無人バックアップさせることが出来ます。

mysqldump -A -uroot -pルートのパスワード -Q --opt -rバックアップ先ファイル名

特定のデータベースだけをバックアップする場合は以下のようにします。

mysqldump データベース名 -uroot -pルートのパスワード -Q --opt -rバックアップ先ファイル名

なお、innoDBのデータをバックアップするときには「--single-transaction」オプション を付けないとうまくいかないようです。また、外部キーを設定してあるinnoDBテーブルではリストア時にエラーとなる可能性がありますので、テーブル別にバックアップするなど、工夫が必要のようです。

mysqldumpでバックアップしたファイルを使ってリストアするにはmysqlコマンドを使います。なお、mysqlデータベースも復元したら、「/etc/init.d/mysql restart」としてください。
全データベースをバックアップした場合のリストア
mysql -uroot -pルートのパスワード < バックアップ・ファイル名

特定のデータベースをバックアップした場合のリストア
mysql -uroot -pルートのパスワード データベース名 < バックアップ・ファイル名

mysqldump --user=root --pass=password --all-databases > a

mysql の root のパスワードを忘れたときには。。

# /usr/local/etc/rc.d/mysql-server stop
# /usr/local/bin/mysqld_safe --user=root --skip-grant-tables && mysql mysql 
mysql> update user set Password=null where Host='localhost' and User='root';
mysql> exit ;
# /usr/local/etc/rc.d/mysql-server stop
# 出来れば ps で確認(あれば KILL で止める事)
# rm /tmp/mysql.sock
# /usr/local/etc/rc.d/mysql-server start
# mysqladmin -u root password 管理者パスワード
#