How to use MySQL in Ruby on Rails on Ubuntu?
New Post has been published on http://blog.openwebsolutions.in/use-mysql-ruby-rails-ubuntu/
How to use MySQL in Ruby on Rails on Ubuntu?
Ruby on rails uses sqlite3 as a default database which is good for small application. If your project size is big, i.e. you need to handle large data throughout your project then MySQL database is a better option.
If your machine already has a MySQL, then there is no need to install it again. In case, if MySQL is not present in your local machine, you can install it through the following procedure:
Command for installing MySQL:
update apt-get first in your machine sudo apt-get update
next install mysql and it libraries sudo apt-get install mysql-server mysql-client libmysqlclient-dev*** Note: Durring installation, your local machine may ask the password for the root user
next, you should run 2 more command below sudo mysql_install_db sudo mysql_secure_installation
and finally, in your gemfile gem install mysql2
If you have MySQL already, please skip the above 4 points.
Now, open the terminal and type > rails new app -d mysql rails setup is created in your local machine > cd app
open the database.yml > nano config/database.yml
You will see the below code in your editor
# MySQL. Versions 5.1.10 and up are supported. # # Install the MySQL driver # gem install mysql2 # # Ensure the MySQL gem is defined in your Gemfile # gem ‘mysql2’ # # And be sure to use new-style password hashing: # https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html # default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch(“RAILS_MAX_THREADS”) 5 %> username: PUT YOUR USERNAME password: PUT YOUR PASSWORD socket: /var/run/mysqld/mysqld.sockdevelopment: <<: *default database: activeadmin_development# Warning: The database defined as “test” will be erased and # re-generated from your development database when you run “rake”. # Do not set this db to the same as development or production. test: <<: *default database: activeadmin_test
# As with config/secrets.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is # ever seen by anyone, they now have access to your database. # # Instead, provide the password as a unix environment variable when you boot # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database # for a full rundown on how to provide these environment variables in a # production deployment. # # On Heroku and other platform providers, you may have a full connection URL # available as an environment variable. For example: # # DATABASE_URL=”mysql2://myuser:mypass@localhost/somedatabase” # # You can use this database configuration with: # # production: # url: <%= ENV[‘DATABASE_URL’] %> # production: <<: *default database: activeadmin_production username: activeadmin password: <%= ENV[‘ACTIVEADMIN_DATABASE_PASSWORD’] %>
Change the username and password and save the database.yml file.
Run > rake db:create
Open your phpmyadmin, you can see the database which is newly created.











