Search code examples
strapi

Connecting to MySql DB in strapi


I can't seem to understand the documentation in http://strapi.io/documentation/configuration#databases

How to connect to MySqlDB? Where in databases.json do i set all my db settings like user: root, pwd: secret123, host: 192.12.2.123, etc.?


Solution

  • MySQL adapter for the Sails framework and Waterline ORM. Allows you to use MySQL via your models to store and retrieve data. Also provides a query() method for a direct interface to execute raw SQL commands.

    Install from NPM.

    In your app:

    $ npm install sails-mysql
    

    Sails Configuration

    Add the mysql config to the config/connections.js file. Basic options:

    module.exports.connections = {
      mysql: {
        module    : 'sails-mysql',
        host      : 'localhost',
        port      : 3306,
        user      : 'username',
        password  : 'password',
        database  : 'MySQL Database Name'
    
        // OR (explicit sets take precedence) 
        module    : 'sails-mysql',
        url       : 'mysql2://USER:PASSWORD@HOST:PORT/DATABASENAME'
    
        // Optional 
        charset   : 'utf8',
        collation : 'utf8_swedish_ci'
      }
    };
    

    And then change default model configuration to the config/models.js:

    module.exports.models = {
      connection: 'mysql'
    };
    

    Run tests

    You can set environment variables to override the default database config for the tests, e.g.:

    $ WATERLINE_ADAPTER_TESTS_PASSWORD=yourpass npm test
    Default settings are:
    
    {
      host: process.env.WATERLINE_ADAPTER_TESTS_HOST || 'localhost',
      port: process.env.WATERLINE_ADAPTER_TESTS_PORT || 3306,
      user: process.env.WATERLINE_ADAPTER_TESTS_USER || 'root',
      password: process.env.WATERLINE_ADAPTER_TESTS_PASSWORD || '',
      database: process.env.WATERLINE_ADAPTER_TESTS_DATABASE || 'sails_mysql',
      pool: true,
      connectionLimit: 10,
      waitForConnections: true
    }
    

    Reference: https://www.npmjs.com/package/sails-mysql