1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in
Version 19 (modified by moorman, 5 years ago)

--

Project MySQL service

SourceForge.net provides MySQL database services on a opt-in basis.

These database services may be used for a variety of things, including:

We encourage developers new to MySQL to familiarize themselves with the MySQL manual. Since the database servers are shared among many projects, appropriate application performance tuning should be performed by the project to avoid impacting other projects.

Projects developing applications on MySQL are additionally encouraged to check out the book, "High Performance MySQL".

Features

  • Service is based on MySQL 5.0.x on the x86_64 architecture and supports standard features, with the following caveats:
    • We discourage use of pconnect due to the way we distribute load among our server pool. Please use standard connects.
    • We discourage use of INSERT DELAYED due server load risks.
    • Query runtime is capped at 120 seconds. Queries that exceed the cap will be killed.
  • Project databases are accessible from the project web servers.
  • Project databases are accessible from the interactive shell servers. The command-line MySQL client is installed on the shell servers.
  • A centralized install of phpMyAdmin is provided to ease database management.
  • Direct access is provided over the Internet, enabled on a time-limited basis using a self-service interface.
  • Three database users are provided for each database, one for each access level: admin, read/write, and read-only.
  • Projects may create multiple databases (under the namespace provided to the project) using their admin database account.

Access

phpMyAdmin is provided as an easy-to-use web-based interface to your MySQL database.

Project MySQL databases may be accessed from Project web, from the Shell service or over the Internet using the following details:

MySQL host

MySQL service is split to database servers based on the first letter of the project's UNIX name. This will be denoted as LETTER in the following documentation.

The hostname for our MySQL server is mysql-LETTER.sourceforge.net

For example, if the project's UNIX name is "leaf", the LETTER value for this project would be "l". The MySQL database server for the leaf project is mysql-l.sourceforge.net

Database naming

To ensure database namespace is unique for each project, databases created by a project all use a project-specific prefix. This prefix uses a combination of the LETTER and the group ID for the project, in the form {LETTER}{GROUP ID}_* Multiple databases may be created by a project.

Continuing our example: Since the "leaf" project's group ID is 13751, their database names would be prefixed by: l13751_ The leaf project can create multiple databases as needed, such as l13751_cmsdata and l13751_apptest.

The admin user is used to create new databases for your project.

Authentication

Each project is provided three database users, each with a specific level of permissions.

UserPermissions
{LETTER}{GROUP ID}roRead-only (SELECT)
{LETTER}{GROUP ID}rwRead/write (Above plus INSERT, DELETE, UPDATE)
{LETTER}{GROUP ID}adminRead/write (Above plus administrative capabilities)

Continuing our example, the "leaf" project's three users are: l13751ro, l13751rw, and l13751admin.

Passwords are set individually for these accounts from the project database administration page. Before an account can be used, an initial password must be set by the project administrator.

Management

FIXME

Opt In and Password

The database service is no longer opt-in, a password must be configured for each of the database users to create and access the project databases. There are no preconfigured databases for a project, they must be created using the database admin user by a project member.

Backups

SourceForge.net performs routine backups for all of our servers and will restore from these backups in the event of catastrophic server failure. We encourage projects to make their own backups of their MySQL data as that data restore can be performed by the project in the event of accidental data destruction by a member of the project team or exploit of their database via project web.

Backups may be performed using phpMyAdmin or using mysqldump as follows:

mysqldump --host=mysql-{LETTER}.sourceforge.net \
  --user={LETTER}{GROUP ID}admin -p --opt \
  {LETTER}{GROUP ID}_{DATABASENAME} | gzip --fast > dumpfile.mysql.gz

Getting Help