Apache SquirrelSQL is a powerful, open-source, and free Java-based SQL client that allows you to connect to virtually any database with a JDBC driver. Its user-friendly interface, extensive plugin architecture, and comprehensive feature set make it an indispensable tool for database administrators, developers, and data analysts. Whether you’re managing a local MySQL database, working with a remote PostgreSQL instance, or exploring data on Amazon RDS, SquirrelSQL streamlines the process of interacting with your data.
This guide will walk you through the process of installing Apache SquirrelSQL on Amazon Linux, a popular Linux distribution often used for cloud computing environments. We’ll cover the prerequisites, the installation steps, and essential post-installation configurations to get you up and running with this versatile database management tool.

Understanding the Prerequisites for SquirrelSQL Installation
Before diving into the installation process, it’s crucial to ensure your Amazon Linux environment is properly prepared. This involves having the necessary software and a clear understanding of your system’s configuration.
Java Development Kit (JDK)
SquirrelSQL is a Java application, which means it requires a Java Runtime Environment (JRE) or, preferably, a Java Development Kit (JDK) to run. While a JRE is sufficient for running Java applications, a JDK provides a more complete set of tools and libraries that can be beneficial for development and troubleshooting. For SquirrelSQL, it’s generally recommended to have a recent version of the JDK installed.
Checking for Existing Java Installation:
To check if Java is already installed on your Amazon Linux instance, open your terminal and run the following command:
java -version
If Java is installed, you’ll see output indicating the version. If not, you’ll receive a command not found error.
Installing the JDK:
If Java is not installed, you can install the OpenJDK package, which is a free and open-source implementation of the Java Platform, Standard Edition. On Amazon Linux, you can typically install it using the yum package manager.
To install the latest OpenJDK 8 (a widely compatible version):
sudo yum install java-1.8.0-openjdk-devel -y
To install OpenJDK 11 (a more recent LTS version):
sudo yum install java-11-openjdk-devel -y
After installation, verify the installation again:
java -version
Setting the JAVA_HOME Environment Variable (Recommended):
It’s good practice to set the JAVA_HOME environment variable. This variable points to the root directory of your JDK installation and is used by many Java-based applications, including SquirrelSQL, to locate Java.
-
Find your Java installation path:
On Amazon Linux, the JDK is usually installed in/usr/lib/jvm/. You can list the directories to find the exact path:ls /usr/lib/jvm/Look for a directory name similar to
java-1.8.0-openjdk-1.8.0.xxx.amzn1.x86_64orjava-11-openjdk-11.0.xxx.amzn-1.x86_64. -
Edit your shell profile:
You can set this variable globally or for your current user. For a user-specific setting, edit the~/.bashrcfile:nano ~/.bashrcAdd the following lines at the end of the file, replacing
/usr/lib/jvm/your-java-version-directorywith the actual path you found:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.xxx.amzn1.x86_64 export PATH=$PATH:$JAVA_HOME/binIf you installed OpenJDK 11, adjust the
JAVA_HOMEpath accordingly. -
Apply the changes:
To make the changes take effect without logging out and back in, run:
bash
source ~/.bashrc
Internet Connectivity
Your Amazon Linux instance needs to be able to connect to the internet to download the SquirrelSQL installer and any necessary dependencies. Ensure that your security groups and network configurations on AWS allow outbound HTTP/HTTPS traffic.
Downloading and Installing Apache SquirrelSQL
With the Java environment set up, we can now proceed with downloading and installing SquirrelSQL. The installation process is straightforward and involves downloading the SquirrelSQL distribution and extracting it to a suitable location.
Obtaining the SquirrelSQL Installer
-
Visit the Official SquirrelSQL Website:
Open a web browser on your local machine and navigate to the official SquirrelSQL website. The download page is typically found under a “Download” or “Get SquirrelSQL” section. -
Choose the Latest Version:
Download the latest stable release of SquirrelSQL. You’ll usually find a ZIP archive for Linux/macOS systems. Look for a file named something likesquirrelsql-x.y.z-standard.zip, wherex.y.zrepresents the version number. -
Transfer the Installer to Amazon Linux:
You have a few options to get the downloaded ZIP file onto your Amazon Linux instance:-
SCP (Secure Copy Protocol): If you have SSH access to your instance, you can use
scpfrom your local machine:scp /path/to/your/downloaded/squirrelsql-x.y.z-standard.zip ec2-user@your-ec2-public-ip:/home/ec2-user/Replace
/path/to/your/downloaded/with the actual path on your local machine andyour-ec2-public-ipwith your instance’s public IP address or DNS name. -
Wget (if you download directly on the server): You can often find direct download links for the latest versions. If so, you can download it directly on your Amazon Linux instance using
wget:
First, find a direct download link from the SquirrelSQL website (e.g., by right-clicking on the download link and copying the address). Then, on your Amazon Linux instance:
bash
wget http://downloads.sourceforge.net/project/squirrel-sql/snapshot/squirrelsql-x.y.z-standard.zip
(Note: The exact URL might change. Always refer to the official website for the latest links.)
-
Extracting the SquirrelSQL Files
Once the ZIP file is on your Amazon Linux instance, you need to extract its contents.
-
Navigate to the Download Directory:
Change your current directory to where you downloaded or transferred the ZIP file. If you transferred it to your home directory (~), you’d do:cd ~ -
Extract the Archive:
Use theunzipcommand to extract the SquirrelSQL files. Ifunzipis not installed, you can install it usingsudo yum install unzip -y.
bash
unzip squirrelsql-x.y.z-standard.zip
This will create a directory namedsquirrelsql-x.y.z(or similar) containing all SquirrelSQL files.
Running SquirrelSQL for the First Time
After extraction, you can launch SquirrelSQL.
-
Navigate to the SquirrelSQL Directory:
Change your directory to the extracted SquirrelSQL folder:cd squirrelsql-x.y.z -
Launch SquirrelSQL:
Execute the SquirrelSQL startup script. The script is typically namedsquirrel.sh:./squirrel.shThe first time you run SquirrelSQL, it might prompt you about creating a user configuration directory. It’s recommended to allow it to create this directory (usually within your home directory, like
~/.squirrelsql).SquirrelSQL should now launch, presenting you with its graphical user interface.
Configuring Database Drivers and Connections

The core functionality of SquirrelSQL lies in its ability to connect to various databases. This requires downloading and configuring the appropriate JDBC drivers.
Understanding JDBC Drivers
JDBC (Java Database Connectivity) is an API that allows Java programs to interact with databases. Each type of database (MySQL, PostgreSQL, Oracle, SQL Server, etc.) requires a specific JDBC driver to translate Java calls into database-specific commands.
SquirrelSQL doesn’t come with all JDBC drivers pre-installed, as this would make the distribution very large. You need to download the driver for each database you intend to connect to and inform SquirrelSQL where to find it.
Downloading JDBC Drivers
You can find JDBC drivers from various sources:
- Database Vendor Websites: The official websites of database systems (e.g., MySQL, PostgreSQL) often provide links to download their JDBC drivers.
- Maven Central Repository: A vast repository where most open-source Java libraries, including JDBC drivers, are hosted. You can search for drivers on websites like
search.maven.org.
Example: Downloading the MySQL JDBC Driver
Let’s assume you need to connect to a MySQL database.
- Search Maven Central: Go to
search.maven.organd search for “mysql jdbc driver”. - Select the Connector/J: You’ll likely find “MySQL Connector/J”. Choose a recent stable version.
- Download the JAR: Locate the download link for the
.jarfile. - Transfer to Amazon Linux: Use
scporwgetto transfer the downloadedmysql-connector-java-x.y.z.jarfile to your Amazon Linux instance. It’s a good practice to store drivers in a dedicated directory, for example, within your SquirrelSQL installation or a specific folder like~/jdbc_drivers.
Example: Downloading the PostgreSQL JDBC Driver
Similarly, for PostgreSQL:
- Search Maven Central: Search for “postgresql jdbc driver”.
- Select the PostgreSQL JDBC Driver: Choose the official driver.
- Download the JAR: Get the
.jarfile. - Transfer to Amazon Linux: Move it to your desired location on the server.
Adding Drivers to SquirrelSQL
Once you have the JDBC driver JAR files on your Amazon Linux instance, you need to configure SquirrelSQL to recognize them.
-
Launch SquirrelSQL:
Navigate to your SquirrelSQL installation directory (cd ~/squirrelsql-x.y.z) and run./squirrel.sh. -
Open the “SQL Drivers” Window:
In the SquirrelSQL main window, go toTools->New Driver. This will open the “SQL Drivers” dialog. -
Create a New Driver Entry:
- Click the
Newbutton. - Name: Give your driver a descriptive name (e.g., “MySQL”, “PostgreSQL”).
- URL: This is the connection string format for the database. SquirrelSQL often provides examples. For MySQL, it’s typically
jdbc:mysql://<host>:<port>/<database>. For PostgreSQL, it’sjdbc:postgresql://<host>:<port>/<database>. - Driver Class: This is the main class within the JDBC driver JAR that SquirrelSQL will use. Again, SquirrelSQL might offer suggestions, or you can find this in the driver’s documentation.
- MySQL:
com.mysql.cj.jdbc.Driver(for newer versions) orcom.mysql.jdbc.Driver(for older versions). - PostgreSQL:
org.postgresql.Driver
- MySQL:
- Click the
-
Add the Driver JAR File:
- In the “SQL Drivers” dialog, with your new driver selected, go to the
Extra Class Pathtab. - Click the
Addbutton. - Browse to the location on your Amazon Linux instance where you saved the JDBC driver JAR file (e.g.,
~/jdbc_drivers/mysql-connector-java-x.y.z.jar). - Select the JAR file and click
Open. The path to the JAR file should appear in the list.
- In the “SQL Drivers” dialog, with your new driver selected, go to the
-
Test the Driver (Optional but Recommended):
You can click theList Driversbutton to see if SquirrelSQL can find the driver class. -
Save the Driver:
ClickOKto save the new driver configuration.
Creating a Database Connection
Now that the driver is set up, you can create a connection to your database.
-
Launch SquirrelSQL:
Ensure SquirrelSQL is running. -
Open the “Aliases” Window:
In the main SquirrelSQL window, click theConnecticon (a plug or database symbol), or go toFile->New Connection Alias. -
Configure the Alias:
- Alias Name: A friendly name for this specific connection (e.g., “My Production RDS DB”).
- Driver: Select the driver you just configured from the dropdown list.
- URL: Enter the JDBC URL for your database. This will include your database host, port, and database name. For example:
jdbc:mysql://your-rds-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com:3306/your_database_name. - User Name: The username for connecting to your database.
- Password: The password for your database user.
- Other Properties (Optional): Depending on the database and driver, you might need to add specific properties here.
-
Test the Connection:
Click theTestbutton. If the details are correct and the database is accessible, you should see a success message. -
Save the Alias:
ClickOKto save the connection alias.
You can now select this alias from the main SquirrelSQL window and click Connect to establish a connection to your database.
Essential Post-Installation Tips and Best Practices
After successfully installing and configuring SquirrelSQL, there are several tips and best practices to enhance your experience and maintain your setup.
Managing Plugins
SquirrelSQL has a rich plugin architecture that allows you to extend its functionality. Plugins can add support for new data types, improve code completion, provide schema comparison tools, and much more.
-
Accessing Plugins:
In SquirrelSQL, go toHelp->About SquirrelSQL. In the “About” dialog, click on thePluginstab. This will show you installed plugins and available plugins (if SquirrelSQL can detect them). -
Installing New Plugins:
- Download the plugin JAR file from the SquirrelSQL website or a trusted source.
- Place the plugin JAR file in the
pluginsdirectory within your SquirrelSQL installation folder (e.g.,~/squirrelsql-x.y.z/plugins/). - Restart SquirrelSQL. The new plugin should now be available and listed in the “About” dialog.
Keeping SquirrelSQL Updated
As with any software, it’s important to keep SquirrelSQL updated to benefit from bug fixes, performance improvements, and new features.
-
Check for Updates:
Periodically visit the official SquirrelSQL website to check for the latest stable releases. -
Update Process:
The update process is generally similar to the initial installation:- Download the new ZIP archive.
- Extract it to a new directory (e.g.,
~/squirrelsql-x.y.z-new). - Copy your existing configuration files (especially the
configdirectory and any user-specific settings) from the old SquirrelSQL installation to the new one. - Update your launcher script or desktop shortcut to point to the new installation directory.
- You might need to re-add any custom JDBC drivers if they are not automatically picked up.
Security Considerations
When connecting to databases on cloud platforms like AWS, security is paramount.
- Secure Network Access: Ensure your Amazon EC2 instance and your database (e.g., Amazon RDS) are configured with appropriate security groups and network ACLs to restrict access to only necessary IP addresses and ports.
- Credential Management: Avoid hardcoding sensitive database credentials directly into scripts or configuration files if possible. SquirrelSQL stores aliases, and while this is generally safe for single-user environments, be mindful of who has access to your Amazon Linux instance and its home directory. Consider using password management tools or features if your organization mandates them.
- Principle of Least Privilege: Use database user accounts with only the necessary permissions for the tasks you need to perform through SquirrelSQL.

Performance Tuning
For very large databases or complex queries, you might consider some basic performance tuning:
- Sufficient JVM Heap Size: SquirrelSQL runs in a Java Virtual Machine (JVM). If you encounter “Out of Memory” errors, you might need to increase the JVM’s heap size. This can be done by modifying the
squirrel.shstartup script or by setting theSQUIRREL_OPTSenvironment variable before launching SquirrelSQL. For example, to set the maximum heap size to 1GB:
bash
export SQUIRREL_OPTS="-Xmx1024m"
./squirrel.sh
- Efficient Queries: Always strive to write efficient SQL queries. Use indexes, avoid
SELECT *, and optimize your joins. SquirrelSQL provides tools to analyze query execution plans.
By following these steps and best practices, you can effectively install, configure, and leverage Apache SquirrelSQL on your Amazon Linux environment for robust database management and analysis. Its flexibility and comprehensive feature set will undoubtedly make it a valuable asset in your tech toolkit.
aViewFromTheCave is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com. Amazon, the Amazon logo, AmazonSupply, and the AmazonSupply logo are trademarks of Amazon.com, Inc. or its affiliates. As an Amazon Associate we earn affiliate commissions from qualifying purchases.