Menu

Installation

Shawn Yates

CIERA demo MySQL installation guide

This page is a copy/paste-friendly guide for installing CIERA against a demo MySQL database dump named ciera_demo.sql so a tester can evaluate the system locally.

What this installs

  • A local MySQL database named ciera_demo loaded from ciera_demo.sql.
  • A MySQL login named CIERA with password CIERA for demo testing.
  • A local CIERA build configured through the shared App.config connection string.

Demo-only warning: The credentials below match the values already used by the project configuration and are intended only for local demo/test machines. Use unique credentials for shared, production, or internet-accessible databases.

Prerequisites

Install these on a Windows test workstation:

  1. MySQL Server running on port 3306.
  2. MySQL command-line client (mysql) available from PowerShell or Command Prompt.
  3. Visual Studio 2022 with the .NET desktop development workload.
  4. .NET Framework 4.8 Developer Pack.
  5. The CIERA source code and the demo dump file ciera_demo.sql.

CIERA is a Visual Basic/.NET Framework solution. The projects target .NET Framework 4.8, and the solution contains the Launcher, SetGenVB, SparcQry dependency, and test projects.

1. Get the source code and demo dump ready

  1. Clone or copy the CIERA repository to a local folder, for example:

powershell C:\src\CIERA

  1. Copy ciera_demo.sql into the repository root:

powershell C:\src\CIERA\ciera_demo.sql

  1. Open a PowerShell window in the repository root:

powershell cd C:\src\CIERA

2. Create and load the demo MySQL database

Run the following commands from PowerShell or Command Prompt. Replace root with a MySQL administrator account if your local server uses a different admin user.

mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS ciera_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p ciera_demo < ciera_demo.sql

If the dump already contains a CREATE DATABASE or USE statement, import it with:

mysql -u root -p < ciera_demo.sql

3. Create a demo database user

Create a local demo user that matches the credentials expected by the sample CIERA configuration:

mysql -u root -p -e "CREATE USER IF NOT EXISTS 'CIERA'@'localhost' IDENTIFIED BY 'CIERA'; GRANT ALL PRIVILEGES ON ciera_demo.* TO 'CIERA'@'localhost'; FLUSH PRIVILEGES;"

If testers will connect from another machine, also create or grant a host-specific user, for example:

mysql -u root -p -e "CREATE USER IF NOT EXISTS 'CIERA'@'%' IDENTIFIED BY 'CIERA'; GRANT ALL PRIVILEGES ON ciera_demo.* TO 'CIERA'@'%'; FLUSH PRIVILEGES;"

Security note: Only use 'CIERA'@'%' on an isolated demo network. Prefer a specific client hostname or IP address whenever possible.

4. Confirm the database connection works

Test that the demo user can connect and see tables:

mysql -h localhost -P 3306 -u CIERA -pCIERA -e "SHOW TABLES;" ciera_demo

You should see the tables imported from ciera_demo.sql. If the command fails, fix the MySQL server, firewall, user, or password before continuing.

5. Configure CIERA to use ciera_demo

CIERA projects link to the shared repository-level App.config, so update the cieraConnection connection string there before building or running.

  1. Open this file:

text C:\src\CIERA\App.config

  1. In the <connectionStrings> section, replace the active cieraConnection entry with this local demo connection:

xml <add name="cieraConnection" providerName="MySql.Data.MySqlClient" connectionString="server=localhost; port=3306; database=ciera_demo; uid=CIERA; pwd=CIERA; SslMode=none; Connection Timeout=99999" />

  1. Save the file.

For a database hosted on another machine, replace localhost with the database server name or IP address:

<add name="cieraConnection"
     providerName="MySql.Data.MySqlClient"
     connectionString="server=YOUR_MYSQL_SERVER; port=3306; database=ciera_demo; uid=CIERA; pwd=CIERA; SslMode=none; Connection Timeout=99999" />

6. Restore NuGet packages

Use Visual Studio or command line.

Option A: Visual Studio

  1. Open CIERA.sln.
  2. Right-click the solution.
  3. Select Restore NuGet Packages.

Option B: Command line

From the repository root:

nuget restore CIERA.sln

7. Build CIERA

Option A: Visual Studio

  1. Open CIERA.sln in Visual Studio.
  2. Select Debug or Release.
  3. Select Build > Build Solution.

Option B: Developer Command Prompt

From a Visual Studio Developer Command Prompt in the repository root:

msbuild CIERA.sln /t:Restore,Build /p:Configuration=Debug

If msbuild is not found, open Developer Command Prompt for VS 2022 or use Visual Studio to build.

8. Run the application

From Visual Studio:

  1. Set CIERA Launcher or SetGenVB as the startup project, depending on what you want to test.
  2. Press F5 to debug or Ctrl+F5 to run without debugging.
  3. Confirm the application starts and can load data from the demo database.

From the build output folder, run one of the generated executables, for example:

.\Launcher\bin\Debug\CIERA Launcher.exe

or:

.\SetGenVB\bin\Debug\SetGenVB.exe

9. Quick smoke test checklist

After the application opens:

  • Confirm there are no database connection errors on startup.
  • Open a list, search, or other database-backed screen.
  • Confirm demo germplasm/list data from ciera_demo appears.
  • Create or edit only disposable demo data unless your dump should remain unchanged.

Troubleshooting

Access denied for user 'CIERA'@'localhost'

Re-run the user creation/grant command in step 3 and verify the password in App.config is CIERA.

Unknown database 'ciera_demo'

Create the database and import the dump again:

mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS ciera_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p ciera_demo < ciera_demo.sql

The app still tries to connect to an old server

Make sure the active, uncommented cieraConnection entry in the repository-level App.config points to database=ciera_demo. Rebuild the solution after saving App.config so the updated configuration is copied to the output folder.

MySQL is installed but mysql is not recognized

Add the MySQL bin directory to your PATH, or run commands with the full path, for example:

& "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root -p

Remote tester cannot connect

Check all of the following:

  • The MySQL server allows TCP/IP connections on port 3306.
  • Windows Firewall allows inbound MySQL traffic from the tester's machine.
  • The MySQL user host is correct, such as 'CIERA'@'tester-host' or 'CIERA'@'%' for isolated demos.
  • App.config uses the server hostname/IP instead of localhost.

Resetting the demo database

To return to a clean demo state, drop and reload the database:

mysql -u root -p -e "DROP DATABASE IF EXISTS ciera_demo; CREATE DATABASE ciera_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p ciera_demo < ciera_demo.sql

Then restart CIERA.