新建以MySql为数据库的Rails项目

本文主要记录如何新建以MySql为数据库的Rails项目,以及过程中出现错误的解决方案

一、新建以MySql为数据库的Rails项目:

$ rails new weibo -d mysql

二、发现报错,查看终端中错误信息如下:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
Gem files will remain installed in /home/kolbe/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/mysql2-0.3.17 for inspection.

三、试着安装mysql2的gem:

$ gem install mysql2

四、发现还是报错,错误信息如下:

ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.
Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers.  Check the mkmf.log file for more details.  You may need configuration options.

五、错误提示可能缺少相关必要的libraries,于是去stackoverflow中找答案(Error installing mysql2: Failed to build gem native extension)里面的解决方案是:

$ sudo apt-get install libmysql-ruby libmysqlclient-dev

注:上述两个包的详情可到,ubuntu网站查看(http://packages.ubuntu.com)

1)libmysql-ruby的简介信息:

MySQL module for Ruby

This is an API module that allows to access MySQL database from programs in Ruby programming language. Usually, it will be pulled in automatically by packages providing Ruby programs which need this capability, you only need to install it directly if you intend to write such programs yourself.

This package is a dependency package, which depends on the package containing actual Ruby MySQL module for the default Ruby version (currently 1.8).

2)libmysqlclient-dev的简介:

MySQL database development files

MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use.

This package includes development libraries and header files.

六、按解决方案中执行 $ sudo apt-get install libmysql-ruby libmysqlclient-dev 后:

1)重建项目:

$ rails new weibo -d mysql

2)启动项目:

$ rails server

3)访问项目:

http://localhost:3000

4)页面报错:

Mysql2::Error
Access denied for user ‘root‘@‘localhost‘ (using password: NO)

七、提示说接入被拒绝,显然是没有配置rails中的数据库配置文件,进入rails项目中的config目录,打开database.yml文件

可以看到第6行中的password为空,故添加本机中的mysql下的root用户的password,打开终端,按Ctrl+c终止rails项目,接着重启项目

1 default: &default
2   adapter: mysql2
3   encoding: utf8
4   pool: 5
5   username: root
6   password:
7   socket: /var/run/mysqld/mysqld.sock

八、重新启动项目:

1)重启项目:

$ rails server

2)访问项目:

http://localhost:3000

3)页面报错:

ActiveRecord::NoDatabaseError
Unknown database ‘weibo_development‘Run `$ bin/rake db:create db:migrate` to create your database

4)显然还是数据库配置文件中的错误,提示没有‘weibo_development‘数据库,导致数据库迁移失败,还是到项目中的config下打开database.yml文件

1 development:
2   <<: *default
3   database: weibo_development

九、可以看到,测试环境下用的是weibo_development数据库,这才想起本机的mysql还没有新建该数据库,故进入终端执行:

1)进入MySql:

$ mysql -u root -p
Enter password:

2)新建数据库:

mysql> create database weibo_development;

3)提示信息:

Query OK, 1 row affected (0.00 sec)

4)执行show databases查看已有的数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| weibo_development  |
+--------------------+
4 rows in set (0.00 sec)

5)可以看到数据库已经新建成功,接着输入exit退出mysql

mysql> exit
Bye

十、重新启动项目,并访问项目:

1)重启项目:

$ rails server

2)访问项目:

http://localhost:3000

3)成功提示:

Welcome aboard
You’re riding Ruby on Rails!
时间: 2024-10-05 19:28:17

新建以MySql为数据库的Rails项目的相关文章

IDEA新建SpringBoot+MySQL+MyBatis+Lombok+Spring Boot DevTools项目

一,IDEA新建SpringBoot+MySQL+MyBatis+Lombok+Spring Boot DevTools项目 1,新建项目的选中项 2,新建后我们需要配置勾选这个自动编译 3,按住shift+alt+ctrl+/,然后选中registry 4,然后选中这个选项 5,然后在 pom.xml文件添加以下代码,开启热部署工具,不配置不生效 <build> <plugins> <plugin> <groupId>org.springframework

如何新建rails项目

这里新建的rails应用就叫news, (1)新建文件夹 $ mkdir news (2)指定本项目的ruby版本 cd news touch .ruby-version vim .ruby-version (3)使用rbenv的gemset,这样就可以把gem包都安装到项目目录的.bundle文件夹下了,(也可以给这个文件夹随意起其他名字,官网用的.gems) 具体的可以看 https://github.com/jf/rbenv-gemset git clone git://github.co

三、自动化测试平台搭建-django-如何用mysql数据库做web项目

前景:django自带的数据库是sqlite3,这是一种轻量级数据库,一般用于手机中,web项目用的大多数还是mysql,这次做一个项目'图书-英雄'信息管理 1.在家目录下的Desktop创建一个文件夹,在这个文件夹下创建一个名为pytest1虚拟环境(第一篇已经说过怎么安装虚拟环境) (1)cd ~/Desktop (2)mkdir project_1 (3)mkvietualenv -p python3.5 pytest1  #创建虚拟环境 (4)workon pytest1 #进入虚拟环

mysql 迁移数据库到 oracle (sql注意问题)

http://ykdn2010.iteye.com/blog/1511349 一. 项目已用到 oracle 函数的转换 1.  Oracle 中的 TO_DATE (),TO_CHAR () 示例: select * from admadjustmoney t where t.sendtime> to_date(?,'yyyy-mm-dd      hh24:mi:ss') and t.sendtime< to_date(?,'yyyy-mm-dd hh24:mi:ss') 转换后: SEL

MySQL(关系型数据库管理系统)

MySQL 关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用于访问数据库的

seam2.2根据已有数据库(postgresql)生成项目

首先呢,这是我向同哥请教的一个文题,然后同哥把整个过程给我解答了一遍,谢谢同哥的乃森及引针啦---- seam2.2根据已有数据库(postgresql)生成项目 一,建数据库 进入pgAdmin新建一个数据库然后用eclipse的插件ErMaster导出sql或者是自己手写sql新建数据表 ,这里新建了一个名为test的数据库 里面有两个表,member和department,为多对一的关系,注意不要忘了设置主键 二,进入seam目录运行 ./seam setup ./seam create-

MySQL主从数据库同步延迟问题解决(转)

最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器. MySQL主从同步故障-Slave_SQL_Running: No http://www.linuxidc.com/Linux/2014-0

maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion&

windows下MySQL更改数据库文件目录及1045,1067错误

MySQL安装时不能选择数据库文件的安装位置, 也没有可用的直接更改数据库目录的工具,要想更改数据目录,方法如下: MySQL安装并配置完毕,默认的数据哭安装目录为 C:/ProgramData/MySQL/MySQL Server 5.1/data(vist或者win7下) C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/(xp下), 下面以win7为例介绍: 1.正常安装并配置M