Create a secure JDBC connection so Looker can query your MySQL database in real time.
Looker needs a live database connection to generate SQL, build Explores, and surface dashboards. Connecting MySQL lets teams analyze transactional data—orders, customers, products—without ETL.
Ensure the MySQL instance is reachable from Looker’s IPs, grant a read-only user, and enable SSL if required by your security policy.
1. Admin → Connections → New Connection
2. Choose “MySQL”.
3. Fill host, port, database, username, password.
4.Toggle SSL if used.
5. Click “Test” then “Add Connection”.
Add useCursorFetch=true
for large result sets and zeroDateTimeBehavior=convertToNull
if your schema has 0000-00-00
dates.
Open SQL Runner, pick your new connection, run SHOW TABLES
. Seeing Customers
, Orders
, Products
, and OrderItems
confirms access.
Create a view for each table, then use explore: orders
and join: customers
with sql_on: ${orders.customer_id} = ${customers.id}
.Users can now slice revenue by customer attributes.
Index foreign keys (Orders.customer_id
, OrderItems.order_id
), upgrade to MySQL 8+, and limit Explores with persistent_derived_table
s to pre-aggregate.
Incorrect timezone: Set default_timezone: "UTC"
to prevent shifted timestamps.
Missing privileges: Grant SELECT
on all schemas you intend to model; Looker fails silently if tables aren’t visible.
.
Yes. Make sure the JDBC driver version matches MySQL 8 and enable caching_sha2_password
if using the new auth plugin.
Only via SQL Runner when sql_runner_writes
is set to yes
. Regular Explores are read-only.
Aurora uses the same MySQL driver, so update the host and replicate connection settings. Re-test and rebuild PDTs.