【问题标题】:How do I initialize a MySQL database?如何初始化 MySQL 数据库?
【发布时间】:2011-09-04 16:42:53
【问题描述】:

我已经尝试了终端中的命令。 MySQL 已安装,但我不知道如何为我正在开发的 rails 应用程序初始化数据库

【问题讨论】:

  • 您到底尝试了什么,哪里失败了?错误信息是什么?
  • -bash: mysql: command not found
  • 好的,请安装并启动mysql,然后重试。如果这不是生产环境,你也可以使用 SQLite,更容易让它工作。
  • 哦,你还需要有 MySQL gem,gentoo 中的 mysql-ruby 和 gem 列表中的“mysql”。 Rails 3 使用名为 gem IIRC 的 mysql2。
  • 再次安装时提示操作不允许。

标签: mysql ruby-on-rails unix macos


【解决方案1】:

我假设您使用的是 Linux。如果你不是,请这样说。我只在 Ubuntu 上遵循了这些步骤,而且我知道在 OS X 上设置 MySQL 的过程要困难得多。顺便说一句,请下次提供更多详细信息。

首先,您必须安装 MySQL。您需要安装 MySQL 和 Ruby 连接器。 Rails 可能附带一个用于 MySQL 的 Ruby 连接器。我不相信安装这个有任何负面影响。要安装 MySQL 和 Ruby 连接器,请在终端窗口中执行以下命令:

sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysql-ruby libmysqlclient-dev

在此过程中,应要求您设置 root 密码。这将在以后派上用场。下一步是将 mysql gem 添加到您的依赖项列表中。为此,将以下行添加到您的 Gemfile:

宝石'mysql'

然后运行

捆绑安装

安装 mysql gem。接下来,您必须将数据库适配器更改为 mysql。您可以通过打开 config/database.yml 来完成此操作,并且在每个环境下应该有一个行列表适配器:XXXX,您应该将其更改为

适配器:mysql

您还需要在此处配置您的数据库访问权限。这是一个示例:

development:
  adapter: mysql
  database: YourApp_development
  username: root
  password: root_password
  host: localhost
  pool: 5
  timeout: 5000

确保将 root_password 替换为您配置 mysql 使用的密码。您还可以创建其他 MySQL 用户来使用,但这超出了这个问题的范围。现在,通过在终端窗口中键入以下内容来确保 MySQL 服务器正在运行:

/etc/init.d/mysql启动

然后运行rake db:create

希望对您有所帮助。

【讨论】:

  • 如果我想在初始化期间加载数据库转储怎么办?
【解决方案2】:

假设你在开发环境,否则你需要添加值为RAILS_ENV=production的环境变量。

rake db:create # creates the databases (if privileged)
rake db:migrate # runs migrations from db/migrate

【讨论】:

    猜你喜欢
    • 2019-06-26
    • 2021-10-20
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    相关资源
    最近更新 更多