データベースの備忘録 [[旧メモ>DBFromOldHtml]]を移植の予定。 #contents * [[日本語Wordnet:http://www5.atpages.jp/necross/paper/thesaurus.html#日本語WordNet]] [#hecacbf4] * [[日本語Wordnet:http://www5.atpages.jp/necross/paper/thesaurus.html]] [#hecacbf4] * VC++でsqlite3 [#v6b142ea] [[面白いページ:http://marupeke296.com/SQLITE_main.html]]があった [[Sqlite3:http://www.3rd-impact.net/Document/SQLite/Translation/Current/]] MySQL ----- *DBの修復 [#ea0cd5c8] 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のパスワード [#wc56cdfa] ほかの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 全体のバックアップ [#lc5b5dd7] [[ここ:http://nobuit.blog56.fc2.com/blog-entry-79.html]]など参考 - バックアップ $ mysqldump --user=mysql --password --socket -x ?F --all-databases > /var/tmp/sampledb.dmp - リストア $ mysql < /var/tmp/sampledb.dmp * データベースのバックアップ [#j804cb54] # mysqldump -u** -p** -C -Q -e -a dbname > back.sql # mysql -u** -p** --default-character-set=utf8 dbname < /home/user/back.sql * 表のバックアップ [#k544e011] # 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 の値 [#l9671742] 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]] [#db23cde3] *[[MySQL_ファイルからDB作成]] [#md1ff91a] *[[MySQLチューニング関係]] [#n54176c4] *[[MySQL全文検索]] [#q01b208b] JAVA ------------ * [[DB_JDBC]] Java [#ace2b0c3]