Installer MySQL
Si vous n'avez pas encore installé MySQL, faites-le maintenant.
Tout d'abord, mettez à jour apt-get :
sudo apt-get update
Installez ensuite MySQL et ses bibliothèques de développement :
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
Lors de l'installation, votre serveur vous demandera de choisir et de confirmer un mot de passe pour l'utilisateur MySQL "root".
Une fois l'installation terminée, nous devons exécuter des commandes supplémentaires pour configurer en toute sécurité l'environnement MySQL. Tout d'abord, nous devons dire à MySQL de créer sa structure de répertoires de base de données pour stocker ses informations. Vous pouvez le faire en tapant la commande suivante
sudo mysql_install_db
Ensuite, nous voulons exécuter un script de sécurité simple qui supprimera certains paramètres par défaut dangereux et verrouillera l'accès au système de base de données. Exécutez la commande suivante pour démarrer le script interactif :
sudo mysql_secure_installation
Il vous sera demandé d'entrer le mot de passe que vous avez défini pour le compte root MySQL. Ensuite, il vous demandera si vous souhaitez modifier votre mot de passe. Si vous êtes satisfait de votre mot de passe actuel, saisissez- n
le à l'invite.
Pour les questions restantes, vous devez accepter les valeurs par défaut en appuyant sur "ENTER" à chaque invite. Cela supprimera certains exemples d'utilisateurs et de bases de données, désactivera les connexions root à distance et chargera ces nouvelles règles afin que MySQL honore immédiatement nos modifications.
MySQL est maintenant installé, mais nous devons encore installer le gem MySQL.
Installer les gemmes MySQL
Avant que votre application Rails puisse se connecter à un serveur MySQL, vous devez installer l'adaptateur MySQL. Cette fonctionnalité est fournie sur mysql2
le GEM.
En tant qu'utilisateur de Rails mysql2
, installez le gem comme ceci :
gem install mysql2
Maintenant, votre application Rails peut utiliser la base de données MySQL.
Créer une nouvelle application Rails
Créez une nouvelle application Rails dans votre répertoire personnel. Utilisez cette -d mysql
option pour configurer MySQL comme base de données, en veillant à remplacer les mots en surbrillance par le nom de votre application :
-
cd ~
-
rails new appname -d mysql
Allez ensuite dans le répertoire de l'application :
cd appname
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 pouvez définir 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 l'application.
Ouvrez le fichier de configuration de la base de données de l'application dans votre éditeur de texte préféré. Nous utiliserons vi :
vi config/database.yml
Sous cette default
section, recherchez la ligne indiquant "mot de passe :" et ajoutez le mot de passe à la fin de la ligne. Cela devrait ressembler à ceci (remplacez la partie en surbrillance par votre mot de passe root MySQL) :
password: mysql_root_password
Sauvegarder et quitter.
Créer une base de données d'applications
Créez votre application development
et test
votre base de données avec 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 "appname", elle créera des bases de données nommées "appname_development" et "appname_test".
Si vous obtenez une erreur indiquant "Accès refusé pour l'utilisateur root'@'localhost' (en utilisant le mot de passe : OUI) Veuillez fournir le mot de passe root pour votre installation MySQL", appuyez sur Ctrl-c
Quitter. Revoyez ensuite la section précédente (Configuration de la connexion à la base de données) pour vous assurer que le mot de passe est entré database.yml
correctement. Après vous être assuré que le mot de passe est correct, essayez de recréer la base de données d'application.
test de configuration
Le moyen le plus simple de tester si une application est capable d'utiliser une 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 la commande suivante :
rails server
Cela démarrera l'application Rails sur localhost 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 de le faire est de la lier à l'adresse IP publique de votre serveur. Regardez d'abord l'adresse IP publique de votre serveur, puis rails server
utilisez-la avec :
rails server --binding=server_public_IP
Vous devriez maintenant pouvoir accéder à votre application Rails dans un navigateur Web via l'adresse IP publique de votre serveur sur le port 3000 :
http://server_public_IP:3000
Si vous voyez la page "Bienvenue à la connexion" Ruby on Rails, votre application est correctement configurée et connectée à la base de données MySQL.