Skip to main content

Connect with Ruby

SingleStoreDB is wire-compliant with MySQL. To connect to your database with Ruby, you can use:

  • Standard Ruby

  • Ruby on Rails

Connect with Standard Ruby

For a complete example, including samples of CRUD operations, see GitHub.

Prerequisites

  • Ruby (version 2.6.x or 3.x)

  • mysql2 gem

Connection Details

To connect your Ruby application to your cluster, you'll need the following:

  • Host: the endpoint or IP Address of your SingleStoreDB cluster.

  • Port: default is 3306

  • User: root

  • Password

  • Database

Here is an example of a Ruby connection for a SingleStoreDB cluster:

client = Mysql2::Client.new(
        :host => "localhost", 
        :username => "root", 
        :password => "<root password>", 
        :database => "test"
        )

For more examples, see Getting started with SingleStoreDB stored procedures and Ruby.

Connect with Ruby on Rails

To connect with Ruby on Rails, configure your SingleStoreDB.

Open config/database.yml and edit the development adapter to use MySQL. You will need to have the SingleStoreDB socket which can be found using the query show variables like 'socket'.

$ mysql -u root -h 127.1 -P 3306 -e "show variables like 'socket'"
****
+---------------+---------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+---------------------------------------------------------------------------------------+
| socket | /var/lib/memsql-ops/data/installs/MI85eaf8fca04849888be7f1a9a596210e/data/memsql.sock |
+---------------+---------------------------------------------------------------------------------------+

SingleStoreDB can run queries using the mysql2 connector in controller code. Calling execute returns a mysql2 result, which can be converted to an array and easily displayed:

class WelcomeController < ApplicationController
  def index
    render plain: ActiveRecord::Base.connection.execute('show databases').to_a.join(' ')
  end
end