Connect with Ruby

SingleStore 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 SingleStore cluster.

  • Port: default is 3306

  • User: root

  • Password

  • Database

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

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

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

Connect with Ruby on Rails

To connect with Ruby on Rails, configure your SingleStore.

Open config/database.yml and edit the development adapter to use MySQL. You will need to have the SingleStore 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 |
+---------------+---------------------------------------------------------------------------------------+

SingleStore 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

Last modified: December 14, 2022

Was this article helpful?