====== python mysql ======
import MySQLdb
db = MySQLdb.connect(db='dbname', user='username', passwd='password', host='localhost')
#cursor = db.cursor()
cursor = db.cursor(MySQLdb.cursors.DictCursor)
#(필드명,데이터형_코드, 표시크기, 내부크기, 정확도, 비율, nullable)
cursor.description #(('id', 8, 3, 20, 20, 0, 0), ('post_content', 252, 9933, -1, -1, 0, 0))
postCnt = cursor.execute('select id,post_content from wp_posts') #434L
mysqldump --single-transaction --opt -u $DBUSER -p$DBPASS $DBNAME > backup.sql
복구시에는 DB와 User 생성 필요:
$ mysql -u adminusername -p mysql
...
mysql> create user 'blog_admin'@'localhost' identified by 'password';
mysql> CREATE DATABASE databasename;
mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname"
-> IDENTIFIED BY "password";
mysql> FLUSH PRIVILEGES;
mysql> EXIT
모든 테이블 지우기
mysqldump --single-transaction -uID -pPASS --add-drop-table --no-data DB_NAME \
| grep ^DROP \
| mysql -uID -pPASS DB_NAME
====== blog restore ======
mysql> select option_name,option_value from wp_options where option_name='siteurl';
+-------------+----------------------------------+
| option_name | option_value |
+-------------+----------------------------------+
| siteurl | http://www.suapapa.net/wordpress |
+-------------+----------------------------------+
1 row in set (0.00 sec)
mysql> update wp_options set option_value='http://web.suapapa.net:8080/wordpress' where option_name='siteurl';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select option_name,option_value from wp_options where option_name='siteurl';
+-------------+---------------------------------------+
| option_name | option_value |
+-------------+---------------------------------------+
| siteurl | http://web.suapapa.net:8080/wordpress |
+-------------+---------------------------------------+
1 row in set (0.00 sec)