Ruby on Rails utiliza SQLite3 como colchoneta de datos predeterminada. Si acertadamente Sqlite funciona muy acertadamente con Rails, a veces no es suficiente para su aplicación Rails. Si desea escalabilidad, paralelismo, centralización y control, debería probar bases de datos más robustas como MySQL o PostgreSQL. Esta finalidad le mostrará cómo usar MySQL con la aplicación Ruby on Rails en Ubuntu Linux.
Tabla de Contenidos
1. Instale MySQL en Ubuntu
MySQL está acondicionado en los repositorios tipificado de la mayoría de las distribuciones tipo Linux y Unix.
Para instalar MySQL en Debian, Ubuntu y sus derivados, haga lo posterior:
$ sudo apt install mysql-server mysql-client libmysqlclient-dev
La libmysqlclient-dev
El paquete contiene los archivos necesarios para clasificar mysql2
Tesoro. Ruby on Rails usado mysql2
Renuevo para conectarse a MySQL al configurar una aplicación Rails.
1.1. Configurar la contraseña de root de MySQL
A continuación, configure la contraseña del agraciado raíz de MySQL ejecutando el posterior comando:
$ sudo mysql_secure_installation
Ingresar «Y» Para configurar el componente VALIDATE PASSWORD:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y
Seleccione el nivel de comprobación de contraseña. Las comprobaciones de contraseña disponibles son bajo, medio y musculoso. Aquí elijo la comprobación de contraseña de bajo nivel ingresando cero (0).
There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
A continuación, ingrese la contraseña de root de MySQL dos veces. La contraseña debe ser segura y contener al menos 8 caracteres. prensa Y. sigue delante:
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
A continuación, se le hará una serie de preguntas. Arte Y. y presione ENTER para cada pregunta. Esto eliminará usuarios anónimos, no permitirá el inicio de sesión de usuarios remotos y eliminará la colchoneta de datos de prueba.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done!
¡Hecho! Hemos establecido la contraseña del agraciado root de MySQL.
1.2. Instale el regulador MySQL
Instale el regulador MySQL llamado mysql2
Renuevo que la aplicación Rails puede usar para conectarse a la colchoneta de datos MySQL.
$ gem install mysql2
¡Todo pronto! Las aplicaciones Rails ahora pueden conectarse al servidor de colchoneta de datos MySQL.
Sigamos delante y creemos una nueva aplicación Rails usando la colchoneta de datos MySQL.
2. Utilice MySQL con la aplicación Ruby on Rails
Cómo crear una nueva aplicación Rails emplazamiento ostechnixapp
y utilice la colchoneta de datos MySQL como colchoneta de datos predeterminada. Haz lo posterior:
$ rails new ostechnixapp -d mysql
Esto creará una aplicación Rails emplazamiento ostechnixapp en un directorio llamado ostechnixapp
e instale las dependencias de gemas mencionadas anteriormente Gemfile
Con bundle install
.
Luego de crear el ostechnixapp
Aplicación, cambie a su directorio:
$ cd ostechnixapp/
Edite el archivo de configuración de la colchoneta de datos de la aplicación:
$ vi config/database.yml
En el rango predeterminado, reemplace MySQL root
Contraseña de agraciado con la previamente creada:
[...] default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") 5 %> username: root password: Password123#@! socket: /var/run/mysqld/mysqld.sock [...]
Guarde y falleba el archivo.
Ahora cree la nueva colchoneta de datos para su aplicación Rails con el posterior comando:
$ rake db:create
Esto creará dos bases de datos con el nombre de su aplicación Rails. Por ejemplo, si el nombre de la aplicación es ostechnixapp, se creará ostechnixapp_development
y ostechnixapp_test
.
Puede comprobar si las bases de datos además se crearon correctamente desde MySQL.
Inicie sesión en MySQL como root
Becario:
$ mysql -u root -p
Verifique que las bases de datos se hayan creado ingresando el posterior comando:
mysql> show databases;
Salida de muestra:
+--------------------------+
| Database |
+--------------------------+
| information_schema |
| mysql |
| ostechnixapp_development |
| ostechnixapp_test |
| performance_schema |
| sys |
+--------------------------+
6 rows in set (0.01 sec)
mysql>
Salga del indicador de MySQL.
Ahora inicie su servidor web Rails con el posterior comando:
$ rails server -b 0.0.0.0
Esto iniciará su aplicación Rails en el puerto tipificado 3000
. Aquí hemos pasado el argumento -b 0.0.0.0
para alcanzar a la aplicación Rails desde cualquier computadora en la red recinto.
Puede alcanzar a su página de prueba de Rails en su navegador web navegando a la URL: http://ip-address:3000
Si desea utilizar un puerto diferente, pase -pag Marque inmediato con el número de puerto como se muestra a continuación:
$ rails server -b 0.0.0.0 -p 8080
Ahora puede alcanzar a su aplicación Rails usando esta URL: http://ip-address:8080
3. Elimina la aplicación Rails.
Si usó la colchoneta de datos SQLite predeterminada, puede eliminar la aplicación Rails simplemente eliminando el directorio de la aplicación.
$ rm -fr ostechnixapp
Si ha utilizado MySQL, primero debe eliminar las bases de datos asociadas a su aplicación con el posterior comando:
$ rake db:drop
Y luego elimine el directorio de la aplicación:
$ rm -fr ostechnixapp
Conclusión
En este tutorial hemos explicado por qué necesitamos usar bases de datos de modelos cliente / servidor para nuestra aplicación Rails y cómo construir una aplicación Rails usando la colchoneta de datos MySQL. Igualmente vimos cómo eliminar una aplicación Rails.
Si tiene varias copias de la aplicación Rails ejecutándose al mismo tiempo, varias aplicaciones y usuarios que utilizan la misma colchoneta de datos, aléjese de Sqlite y pruebe las bases de datos maniquí cliente / servidor como MySQL. Si desea almacenamiento de datos recinto para aplicaciones individuales, Sqlite es más que suficiente.
Ojeada relacionada: