MySQL is one of the world’s most popular open-source relational databases, powering millions of web applications. Queryly provides full support for connecting to and managing MySQL databases.
# Basic local connectionServer=localhost;Database=myapp;User=root;Password=mypass# With explicit port (default is 3306)Server=localhost;Port=3306;Database=myapp;User=root;Password=mypass# Using IP addressServer=127.0.0.1;Database=myapp;User=root;Password=mypass
Default MySQL port is 3306. You can omit the Port parameter if using the default.
# Require SSLServer=localhost;Database=myapp;User=root;Password=mypass;SslMode=Required# Prefer SSL (falls back to non-SSL)Server=localhost;Database=myapp;User=root;Password=mypass;SslMode=Preferred# Disable SSLServer=localhost;Database=myapp;User=root;Password=mypass;SslMode=None# With certificate verificationServer=db.example.com;Database=myapp;User=root;Password=mypass;SslMode=VerifyFull;SslCa=/path/to/ca.pem
# Use utf8mb4 for full Unicode support (including emojis)Server=localhost;Database=myapp;User=root;Password=mypass;CharSet=utf8mb4# Legacy utf8 (3-byte only)Server=localhost;Database=myapp;User=root;Password=mypass;CharSet=utf8
Always use utf8mb4 for new applications. It supports the full Unicode character set, including emojis and special characters.
# Connection timeout (seconds to wait for connection)Server=localhost;Database=myapp;User=root;Password=mypass;Connection Timeout=30# Command timeout (seconds to wait for query execution)Server=localhost;Database=myapp;User=root;Password=mypass;Default Command Timeout=300# Both timeoutsServer=localhost;Database=myapp;User=root;Password=mypass;Connection Timeout=30;Default Command Timeout=300
# Enable pooling with defaultsServer=localhost;Database=myapp;User=root;Password=mypass;Pooling=true# Custom pool sizeServer=localhost;Database=myapp;User=root;Password=mypass;Pooling=true;MinimumPoolSize=0;MaximumPoolSize=100# Disable poolingServer=localhost;Database=myapp;User=root;Password=mypass;Pooling=false
Connection pooling is enabled by default. It improves performance by reusing connections.
# Root userServer=localhost;Database=myapp;User=root;Password=mypass# Regular userServer=localhost;Database=myapp;User=appuser;Password=apppass# User with special charactersServer=localhost;Database=myapp;User=app@host;Password=p@ssw0rd!
Avoid using the root account for applications. Create dedicated users with limited permissions.
queryly data query ProductionMySQL# Select queriesSQL> SELECT * FROM users LIMIT 10;SQL> SELECT COUNT(*) FROM orders;SQL> SELECT name, email FROM customers WHERE created_at > '2024-01-01';
# JSON operations (MySQL 5.7+)SQL> SELECT JSON_EXTRACT(data, '$.name') as name FROM users;SQL> SELECT * FROM orders WHERE JSON_EXTRACT(metadata, '$.status') = 'completed';# Full-text searchSQL> SELECT * FROM articles WHERE MATCH(title, content) AGAINST('database');# Date functionsSQL> SELECT DATE_FORMAT(created_at, '%Y-%m') as month, COUNT(*) FROM orders GROUP BY month;# String functionsSQL> SELECT CONCAT(first_name, ' ', last_name) as full_name FROM users;
# Database sizeSQL> SELECT table_schema as 'Database', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) as 'Size (MB)' FROM information_schema.tables WHERE table_schema = DATABASE();# Table sizesSQL> SELECT table_name, ROUND(((data_length + index_length) / 1024 / 1024), 2) as 'Size (MB)' FROM information_schema.tables WHERE table_schema = DATABASE() ORDER BY (data_length + index_length) DESC;# Current user and databaseSQL> SELECT USER(), DATABASE();# MySQL versionSQL> SELECT VERSION();
# Add connectionqueryly connect add# name: MyMySQL# type: MySQL# connection string: Server=localhost;Database=myapp;User=root;Password=mypass# Test connectionqueryly connect test MyMySQL# List all tablesqueryly schema list MyMySQL
# View schema as treequeryly schema tree MyMySQL# Check table structurequeryly schema info MyMySQL users# Browse table dataqueryly data browse MyMySQL users# Export to JSONqueryly data export MyMySQL users json
# Enter query modequeryly data query MyMySQL# Analyze dataSQL> SELECT DATE(created_at) as date, COUNT(*) as count FROM orders GROUP BY DATE(created_at) ORDER BY date DESC LIMIT 30;SQL> SELECT status, AVG(total) as avg_total, COUNT(*) as count FROM orders GROUP BY status;SQL> exit
Error: Unable to connect to any of the specified MySQL hostsSolutions:
Verify MySQL is running: sudo systemctl status mysql
Check the port: sudo netstat -tlnp | grep 3306
Verify bind-address in /etc/mysql/my.cnf (use 0.0.0.0 for remote access)
Check firewall rules
# Start MySQLsudo systemctl start mysql# Check if it's listeningsudo ss -tlnp | grep 3306
Access denied
Error: Access denied for user 'root'@'localhost'Solutions:
Verify username and password
Check user privileges
Ensure user has access to the database
# Reset root passwordsudo mysqlmysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';mysql> FLUSH PRIVILEGES;# Grant privilegesmysql> GRANT ALL PRIVILEGES ON myapp.* TO 'appuser'@'localhost';mysql> FLUSH PRIVILEGES;
Unknown database
Error: Unknown database 'myapp'Solutions:
Verify database name (case-sensitive on Linux)
Create the database if needed
# List databasesmysql -u root -p -e "SHOW DATABASES;"# Create databasemysql -u root -p -e "CREATE DATABASE myapp;"# Or in MySQL promptmysql -u root -pmysql> CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Too many connections
Error: Too many connectionsSolutions:
Close unused connections
Increase max_connections in my.cnf
Check for connection leaks
# Check current connectionsmysql -u root -p -e "SHOW PROCESSLIST;"# Check max connectionsmysql -u root -p -e "SHOW VARIABLES LIKE 'max_connections';"# Set max connections (requires restart)# Edit /etc/mysql/my.cnf:# [mysqld]# max_connections = 200
SSL connection errors
Error: SSL connection errorSolutions:
Use SslMode=Preferred or SslMode=None for local development
Verify SSL is enabled on the server
Check certificate paths
# For local developmentServer=localhost;Database=myapp;User=root;Password=mypass;SslMode=None# Check SSL statusmysql -u root -p -e "SHOW VARIABLES LIKE 'have_ssl';"
# Connection managementqueryly connect addqueryly connect listqueryly connect test MyMySQLqueryly connect remove MyMySQL# Schema explorationqueryly schema list MyMySQLqueryly schema info MyMySQL usersqueryly schema tree MyMySQL# Data operationsqueryly data browse MyMySQL usersqueryly data query MyMySQLqueryly data export MyMySQL users csvqueryly data export MyMySQL users json
Command Reference
See the complete command reference for all available options