【问题标题】:MySQL Gem, Ubuntu & UTF8MySQL Gem、Ubuntu 和 UTF8
【发布时间】:2009-08-31 20:34:28
【问题描述】:

我有一个在 Rails 1.2.3 中完成的 web 应用程序,我刚刚将它迁移到 rails 2.2.2 并且在部署时应用程序坏了。事实证明我需要安装 MySQL gem,因为 rails 2.2.2 需要这个。

所以,我确实安装了它,但我必须使用“sudo gem install mysql -- -with-mysql-config”(根据http://brantinteractive.com/2007/02/16/getting-the-mysql-gem-installed-on-ubuntu/)安装,这似乎可以解决问题。我在 Ubuntu 6.06.2 LTS Dapper 上。

该应用仍无法在生产环境中启动。所以我启动了脚本/控制台生产,这就是返回的结果:

Loading production environment (Rails 2.2.2)
Character set 'utf8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index' file
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:548:in `real_connect':Mysql::Error: Can't initialize character set utf8 (path: /usr/share/mysql/charsets/)
>>

我对这个错误进行了一些搜索,有人说我正在使用的 mysql 客户端(MySQL gem!)没有使用 UTF8 连接。我不知道如何以任何其他方式安装此 gem,以便正确安装。有什么想法吗?

【问题讨论】:

  • 实际上已经安装了一个 mysql-client 库。请检查那是什么版本。还有你运行的是什么版本的 MySQL?
  • 好吧,在我上面发布的那个教程链接上,我在安装 gem 之前运行了“apt-get install libmysqlclient12-dev”。在安装 gem 之前,我必须这样做。 MySQL 版本是 5.0.22。
  • 您的 database.yml 中是否明确设置了语言环境?
  • 是的,我在 database.yml 中将编码设置为 UTF8。
  • 好的,我安装了 libmysqlclient15-dev,它删除了我已经安装的 libmysqlclient12-dev。我卸载了 gem 并使用“sudo gem install mysql --with-mysql-config”重新安装了它——现在我可以启动脚本/控制台而不会出错。我克隆了我的生产切片,所以我可以在没有太多后果的情况下进行实验。到目前为止有效!所以测试将部署回生产我的 rails 2.2.2 升级。如果有效,将报告。我不太了解 libmysqlclient12-dev vs libmysqlclient15-dev 是什么,除了它必须是最新版本。

标签: mysql ruby-on-rails ubuntu rubygems


【解决方案1】:

我建议检查安装MySql版本的兼容版本,如mysql-2.7.3.gem,与mysql 5.1或更高版本兼容,但与5.0有问题。 其次检查你的mysql是否安装正确,如mysql提示尝试创建数据库。 然后如果这两个问题都解决了,只需验证 mysql 安装的套接字路径并将其添加到您的 database.yml 文件中。

socket /var/tmp/mysql/mysql.sock.

【讨论】:

    【解决方案2】:

    已确认。在 libmysqlclient12-dev 之上安装 libmysqlclient15-dev 就可以了。

    【讨论】:

      【解决方案3】:

      按照这两个步骤安装 mysql gem 2.7

      sudo apt-get install ruby​​-dev

      sudo gem install mysql –v 2.7

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多