DataBase のバックアップ(No.13) - アールメカブ

アールメカブ


DataBase のバックアップ(No.13)


データベースの備忘録

旧メモを移植の予定。

MySQL


_ DBの修復

ERROR 1577 (HY000) at line 1: Cannot proceed because system 
 tables used by Event Scheduler were found damaged at server start
$ mysql_upgrade -uroot -p
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck 

Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock'

Running 'mysql_fix_privilege_tables'...
OK
Could not create the upgrade info file
  '/var/lib/mysql/mysql_upgrade_info' in the MySQL Servers datadir,
  errno: 13

_ DBのパスワード

ほかのmysqlサーバからデータを移行した場合 userテーブルが書き換えてしまい以下のような事態が生じたら

[sudo] password for ishida: 
* Stopping MySQL database server mysqld
  ...fail!
* Starting MySQL database server mysqld
  ...done.

debian-sys-maitはデフォルトのメンテナンスユーザで Debianシステム上のメンテナンススクリプトで使われてます。

sudo grep password /etc/mysql/debian.cnf 
password = ************
 GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'pswd' WITH GRANT OPTION;
 FLUSH PRIVILEGES;

_ DB 全体のバックアップ

ここなど参考

  • バックアップ
$ mysqldump --user=mysql --password --socket -x ?F --all-databases >
  /var/tmp/sampledb.dmp
  • リストア
$ mysql < /var/tmp/sampledb.dmp

_ データベースのバックアップ

# mysqldump -u** -p** -C -Q -e -a dbname > back.sql
# mysql -u** -p** --default-character-set=utf8
   dbname < /home/user/back.sql

_ 表のバックアップ

# mysqldump -u root -p --database mydb --tables mytbl > mydb_mytbl.sql

mydb_mytable.sqlというファイルができている. エディタで中が見れる。復元は

# mysql -u root -p --database mydb < mydb_mytbl.sql

_ AUTO_INCREMENT の値

INSERT INTO TABLES () VALUES(); の直後に

mysql> SELECT LAST_INSERT_ID();

PHPなら

$dbc=mysql_connect("localhost","root","")
 or die("MySQL接続失敗 :".mysql_error());

 $res= mysql_query("SELECT LAST_INSERT_ID()", $dbc)
     or die("ID取得失敗 :".mysql_error());
  $dat=mysql_fetch_row($res);
  print_r($dat);
  $insert_id=$dat[0];
  printf("最後に挿入されたレコードのIDは、%d<br />\n",  
  $insert_id);

_ MySQL_install

_ MySQL_ファイルからDB作成

_ MySQLチューニング関係

_ MySQL全文検索

JAVA


_ DB_JDBC Java