This article focuses on how to create a new rails project with MySQL as a database and a solution for errors in the process
A. Create a new Rails project with MySQL database:
$ rails New weibo-d MySQL
Second, found an error, check the terminal errors are as follows:
Gem::ext::builderror:error:failed to build gem native extension. Gem files would remain installed in/home/kolbe/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/mysql2-0.3.17 for Inspection.
Third, try to install MYSQL2 gem:
$ gem Install MYSQL2
Four, the discovery or error, the wrong message is as follows:
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. Need configuration options.
Five, error hints may be missing relevant necessary libraries, so go to StackOverflow find the answer (error installing mysql2:failed to build gem native extension The solution is:
$ sudo apt-get install Libmysql-ruby Libmysqlclient-dev
Note: The details of the above two packages can be reached, Ubuntu website view (http://packages.ubuntu.com)
1) Libmysql-ruby profile information:
MySQL module for rubythis are an API module, allows to access MySQL database from programs in Ruby programming language . Usually, it'll be pulled in automatically by packages providing Ruby programs which need this capability, you only need To install the IT directly if you intend to write such programs yourself. This was a dependency package, which depends on the package containing actual Ruby MySQL module for the default Rub Y version (currently 1.8).
2) Introduction of Libmysqlclient-dev:
MySQL database Development Filesmysql is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (structured Query Language) is the most popular database query Language. The main goals of MySQL is speed, robustness and ease of use. This package includes development libraries and header files.
Six, follow the solution in execute $ sudo apt-get install Libmysql-ruby Libmysqlclient-dev after:
1) Reconstruction Project:
$ rails New weibo-d MySQL
2) Start the project:
$ Rails Server
3) access to the project:
http://localhost:3000
4) Page Error:
Mysql2::erroraccess denied for user ' root ' @ ' localhost ' (using Password:no)
Seven, it is suggested that access is denied, it is clear that the database configuration file in Rails is not configured, enter the Config directory in the Rails project, open the Database.yml file
You can see that the password in line 6th is empty, so add the password of the root user under MySQL in this machine, open the terminal, press CTRL + C to terminate the Rails project, and then restart the project
1 default: &default2 adapter:mysql23 encoding:utf84 pool:55 username:root6 password:7 Socket:/var/run/mysqld/mysqld.sock
Viii. Restart the project:
1) Restart the project:
$ Rails Server
2) access to the project:
http://localhost:3000
3) Page Error:
Activerecord::nodatabaseerrorunknown database ' weibo_development ' Run ' $ bin/rake db:create db:migrate ' to create your Database
4) It is clear that the error in the database configuration file does not indicate a ' weibo_development ' database, which causes the database migration to fail or to open the Database.yml file under config in the project
1 development:2 <<: *default3 database:weibo_development
Nine, you can see that the test environment is using the Weibo_development database, this just think of this machine MySQL has not created the database, so enter the terminal execution:
1) Enter MySQL:
$ mysql-u root-penter Password:
2) Create a new database:
mysql> CREATE DATABASE weibo_development;
3) Prompt Information:
Query OK, 1 row Affected (0.00 sec)
4) Execute Show databases to view the existing database:
Mysql> Show databases;+--------------------+| Database |+--------------------+| information_schema | | mysql | | performance_schema | | weibo_development |+--------------------+4 rows in Set (0.00 sec)
5) You can see that the database has been created successfully, then enter exit to exit MySQL
Mysql> Exitbye
Ten. Restart the project and visit the project:
1) Restart the project:
$ Rails Server
2) access to the project:
http://localhost:3000
3) Tips for success:
Welcome Aboardyou ' re riding Ruby on rails!
Create a new rails project with MySQL as a database