WordPress is a free, open-source content management system (CMS) paired with a MySQL or MariaDB database. WordPress stores content and enables users you to create and publish web pages using a domain and hosting service.
The details associated with the content in WordPress are stored as Events in the MySQL database. For example, posts, users, and comments. You can replicate the Events data from your WordPress account to a Destination database or data warehouse using Hevo Pipelines.
Note: You must provide the MySQL database details to configure the WordPress Source.
Prerequisites
Perform the following steps to configure WordPress via MySQL as the Source in your Pipeline. You must provide details of the MySQL database to configure the WordPress Source.
Whitelist Hevo’s IP Addresses
Click your MySQL variant below for steps to whitelist Hevo’s IP address:
Grant Privileges to the User
Perform the following steps to grant the SELECT privilege to the database user:
-
Log in to your MySQL database instance as a root
user. For example, mysql -u root -p
.
-
Run the following command to grant SELECT
privilege to the new database user:
GRANT SELECT ON *.* TO 'username'; # to grant privileges to a user with <username> as username
Specify WordPress via MySQL Connection Settings
Perform the following steps to configure WordPress via MySQL as the Source in your Pipeline:
-
Click PIPELINES in the Navigation Bar.
-
Click + CREATE PIPELINE in the Pipelines List View.
-
On the Select Source Type page, select WordPress via MySQL.
-
On the Configure your WordPress via MySQL Source page, specify the following:
-
Pipeline Name: A unique name for your Pipeline, not exceeding 255 characters.
-
Database Host: The MySQL host’s IP address or DNS.
Note: For URL-based hostnames, exclude the http:// or https:// part. For example, if the hostname URL is http://mysql-replica.westeros.inc, enter mysql-replica.westeros.inc.
-
Database Port: The port on which your MySQL server listens for connections. Default value: 3306.
-
Database User: The authenticated user that can read the tables in your database.
-
Database Password: Password for the database user.
-
Database Name: The database you want to load data from, if the Pipeline mode is Table or Custom SQL.
-
Connection Settings
-
Connect through SSH: Enable this option to connect to Hevo using an SSH tunnel, instead of directly connecting your MySQL database host to Hevo. This provides an additional level of security to your database by not exposing your MySQL setup to the public. Read Connecting Through SSH.
If this option is disabled, you must whitelist Hevo’s IP addresses. Refer to the content for your MySQL variant for steps to do this.
-
Use SSL: Enable it to use SSL encrypted connection. To enable this, specify the following:
-
CA File: The file containing the SSL server certificate authority (CA).
-
Load all CA Certificates: If selected, Hevo loads all CA certificates (up to 50) from the uploaded CA file, else it loads only the first certificate.
Note: Select this check box if you have more than one certificate in your CA file.
-
Client Certificate: The client public key certificate file.
-
Client Key: The client private key file.
-
Click TEST & CONTINUE to proceed for setting up the Destination. This button is enabled once you specify all the mandatory fields.
Read the detailed Hevo documentation for the following related topics:
Schema and Primary Keys
The schema is derived based on the data in your MySQL Source tables.
Data Model
The following is the list of tables (objects) that are created at the Destination when you run the Pipeline:
Object |
Description |
wp_commentmeta |
Contains the list of metadata associated with the comments. |
wp_comments |
Contains the list of all comments within WordPress. |
wp_links |
Contains the list of links entered into the Links feature of WordPress. (This feature has been deprecated, but can be re-enabled with the Links Manager plugin.) |
wp_options |
Contains the list of options set under the Administration > Settings panel. See Option Reference for options name and default values. |
wp_postmeta |
Contains the metadata associated with the posts. Some plugins may add their own information to this table. |
wp_posts |
Contains the list of the posts. Pages and navigation menu items are also stored in this table. |
wp_terms |
Contains the categories for both posts and links, along with the tags for posts. |
wp_termmeta |
Contains the metadata associated with the terms. |
wp_term_relationships |
Contains the association of posts with categories and tags in the wp_terms table. Also, it contains the association of links with their respective categories. |
wp_term_taxonomy |
Contains the taxonomy, such as category, link, or tag, for the entries in the wp_terms table. |
wp_usermeta |
Contains the metadata associated with users. |
wp_users |
Contains the list of users. |
Note: In addition to the default tables, you can ingest any custom tables that you have created.
See Also
Revision History
Refer to the following table for the list of key updates made to this page:
Date |
Release |
Description of Change |
Mar-18-2024 |
2.21.2 |
Updated section, Specify WordPress via MySQL Connection Settings to add information about the Load all CA certificates option. |
Dec-19-2022 |
2.04 |
Updated section, Specify WordPress via MySQL Connection Settings to add information that you must specify all fields to create a Pipeline. |
Jan-24-2022 |
1.80 |
New document. |