Читая ваш последний комментарий, я заметил, что у вас появилась новая ошибка:
#<Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)>
Вы оставили поле пароля в среде разработки пустым. Все, что вам нужно сделать, это ввести пароль тем же паролем, который вы установили при установке mysql2, он должен это сделать.
Если вы не можете вспомнить свой пароль, проверьте это руководство:
Продолжая работу с руководством, вы должны:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
Оказавшись внутри MySQL, вы должны ввести:
use mysql;
update user set authentication_string=password('NEWPASSWORD') where user='root';
flush privileges;
exit
Это должно сработать. Если вы когда-нибудь захотите снова войти в систему MySQL, вы должны ввести:
mysql -u root -p NEWPASSWORD
-p
означает пароль.
Я бы не рекомендовал использовать ваш пароль непосредственно в файл database.yml. Безопаснее установить переменную среды с вашим паролем, а затем использовать ее в database.yml, например:
username: <%= ENV.fetch("username") %>
password: <%= ENV.fetch("password") %>
Если это так и вы используете Linux, вы должны обновить переменные среды под /etc/environment
. Под /etc/environment
должно быть что-то вроде этого:
username=MYSQL_USERNAME_HERE
password=MYSQL_PASSWORD_HERE