I can access my MySQL database using the command line option provided by vps provider. How do I change author ID or attribution on all wordpress blog posts in a single pass?
First, backup your wordpress database, enter:
mysqldump -u user -p blog-db-name-here > /path/to/backup/dir/blog.db.sql
Type the following shell command to connect to your blog database:
mysql -u user -p blog-db-name-here
mysql -u user -h server.ip.here -p blog-db-name-here
Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 15275063 Server version: 5.1.61-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Type the following command to list all authors IDs at mysql> prompt:
mysql> SELECT ID, display_name FROM wp_users;
+----+--------------+ | ID | display_name | +----+--------------+ | 1 | Vivek Gite | | 2 | nixcraft | +----+--------------+ 2 rows in set (0.04 sec)
In this output, I've two ID of the user. I'd like to change ID #2 (nixcraft) to ID #1 (Vivek Gite). In other words set post author to ID#1 for all posts where post author ID already set to ID#2. Type the following MySQL command:
mysql> UPDATE wp_posts SET post_author='1' WHERE post_author='2';
Query OK, 110 rows affected (0.13 sec) Rows matched: 110 Changed: 110 Warnings: 0
Quit the mysql, enter:
You need to flush cached post by visiting your wp-content/cache/ directory and delete all the files. If you are using memcached type the following command to flush memcahed cache:
echo "flush_all" | nc 192.168.1.2 11211