Comment utiliser MySQL avec votre application Ruby on Rails sur Ubuntu 14.04

introduction

Ruby on Rails utilise sqlite3 comme base de données par défaut, ce qui fonctionne très bien dans de nombreux cas, mais peut ne pas être suffisant pour votre application. Si votre application nécessite l’évolutivité, la centralisation et le contrôle (ou toute autre fonctionnalité) d’une base de données SQL client / serveur, telle que https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql -a-comparaison-de-systèmes de gestion de base de données relationnelle [PostgreSQL ou MySQL], vous devrez effectuer quelques étapes supplémentaires pour le rendre opérationnel.

Ce tutoriel vous montrera comment configurer un environnement de développement Ruby on Rails qui permettra à vos applications d’utiliser une base de données MySQL, sur un serveur Ubuntu 14.04. Nous allons d’abord expliquer comment installer MySQL et le joyau de l’adaptateur MySQL. Ensuite, nous vous montrerons comment créer une application rails qui utilise MySQL comme serveur de base de données.

Conditions préalables

Ce tutoriel nécessite un environnement de développement Ruby on Rails fonctionnel. Si vous ne l’avez pas déjà, vous pouvez suivre le tutoriel dans ce lien: https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 [Comment installer Ruby on Rails avec rbenv sur Ubuntu 14.04].

Vous devrez également avoir accès à un compte superutilisateur ou + sudo + afin de pouvoir installer le logiciel de base de données MySQL.

Une fois que vous êtes prêt, installons MySQL.

Installer MySQL

Si MySQL n’est pas déjà installé, faisons-le maintenant.

Tout d’abord, mettez à jour apt-get:

sudo apt-get update

Puis installez MySQL et ses bibliothèques de développement:

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Pendant l’installation, votre serveur vous demandera de sélectionner et de confirmer un mot de passe pour l’utilisateur «racine» de MySQL.

Une fois l’installation terminée, nous devons exécuter quelques commandes supplémentaires pour que notre environnement MySQL soit configuré de manière sécurisée. Premièrement, nous devons dire à MySQL de créer sa structure de répertoires de base de données dans laquelle il stockera ses informations. Vous pouvez le faire en tapant:

sudo mysql_install_db

Ensuite, nous voulons exécuter un script de sécurité simple qui supprime certains paramètres par défaut dangereux et verrouille un peu l’accès à notre système de base de données. Démarrez le script interactif en exécutant:

sudo mysql_secure_installation

Il vous sera demandé de saisir le mot de passe que vous avez défini pour le compte racine MySQL. Ensuite, il vous sera demandé si vous souhaitez changer ce mot de passe. Si votre mot de passe actuel vous convient, tapez «+ n +» à l’invite.

Pour le reste des questions, vous devez simplement appuyer sur la touche «Entrée» à travers chaque invite pour accepter les valeurs par défaut. Cela supprimera des exemples d’utilisateurs et de bases de données, désactivera les connexions à la racine distante et chargera ces nouvelles règles afin que MySQL respecte immédiatement les modifications que nous avons apportées.

MySQL est maintenant installé, mais nous devons toujours installer le joyau de MySQL.

Installer MySQL Gem

Avant que votre application Rails puisse se connecter à un serveur MySQL, vous devez installer l’adaptateur MySQL. La gem + mysql2 + fournit cette fonctionnalité.

En tant qu’utilisateur de Rails, installez la gem + mysql2 +, comme ceci:

gem install mysql2

Désormais, vos applications Rails peuvent utiliser des bases de données MySQL.

Créer une nouvelle application Rails

Créez une nouvelle application Rails dans votre répertoire personnel. Utilisez l’option + -d mysql + pour définir MySQL comme base de données et assurez-vous de remplacer le mot en surbrillance par le nom de votre application:

cd ~
rails new  -d mysql

Puis déplacez-vous dans le répertoire de l’application:

cd

L’étape suivante consiste à configurer la connexion à la base de données de l’application.

Configurer la connexion à la base de données

Si vous avez suivi les instructions d’installation de MySQL dans ce tutoriel, vous définissez un mot de passe pour l’utilisateur root de MySQL. La connexion racine MySQL sera utilisée pour créer les bases de données de test et de développement de votre application.

Ouvrez le fichier de configuration de la base de données de votre application dans votre éditeur de texte préféré. Nous allons utiliser vi:

vi config/database.yml

Dans la section + default +, recherchez la ligne «mot de passe:» et ajoutez le mot de passe à la fin. Cela devrait ressembler à quelque chose comme ça (remplacez la partie surlignée par votre mot de passe root MySQL):

password:

Sauvegarder et quitter.

Créer des bases de données d’application

Créez vos bases de données d’applications + développement et` + test` en utilisant cette commande rake:

rake db:create

Cela créera deux bases de données sur votre serveur MySQL. Par exemple, si le nom de votre application est "nomapplication", des bases de données appelées "appname_development" et "appname_test" seront créées.

Si vous obtenez une erreur indiquant «Accès refusé pour l’utilisateur« root »@« localhost »(avec le mot de passe: YES), indiquez le mot de passe root pour votre installation MySQL», appuyez sur les touches + Ctrl-c + pour quitter. Revenez ensuite à la sous-section précédente (Configurer la connexion à la base de données) pour vous assurer que le mot de passe dans + database.yml + est correct. Après vous être assuré que le mot de passe est correct, essayez de créer à nouveau les bases de données d’application.

Test de configuration

Le moyen le plus simple de vérifier que votre application est capable d’utiliser la base de données MySQL est d’essayer de l’exécuter.

Par exemple, pour exécuter l’environnement de développement (par défaut), utilisez cette commande:

rails server

Cela démarrera votre application Rails sur votre hôte local sur le port 3000.

Si votre application Rails se trouve sur un serveur distant et que vous souhaitez y accéder via un navigateur Web, un moyen simple consiste à la lier à l’adresse IP publique de votre serveur. Tout d’abord, cherchez l’adresse IP publique de votre serveur, puis utilisez-la avec la commande + rails server + comme ceci:

rails server --binding=

Vous devriez maintenant pouvoir accéder à votre application Rails dans un navigateur Web via l’adresse IP publique du serveur sur le port 3000:

http://:3000

Si vous voyez la page «Bienvenue à bord» de Ruby on Rails, votre application est correctement configurée et connectée à la base de données MySQL.

Conclusion

Vous êtes maintenant prêt à commencer le développement de votre application Ruby on Rails, avec MySQL comme base de données, sur Ubuntu 14.04!

Bonne chance!