3

所以我正在将我的开发环境和生产环境迁移到 postgresql,以便我可以部署到 Heroku。安装 mysql2psql gem 后,初始化(postgresql)database.yml 文件 - 我被困在运行 mysql2psql 的地方。运行它后,我得到以下信息:

/Library/Ruby/Gems/1.8/gems/mysql2psql-0.1.0/bin/../lib/mysql2psql/mysql_reader.rb:153:in `query': Query cache is disabled; restart the server with query_cache_type=1 to enable it 

所以问题是如何重新启动我的mysql2服务器并指定query_cache_type = 1?

我尝试使用以下命令启动服务器,但没有成功:

mysql --query_cache_type=1; 

在尝试了几个类似的命令后,我尝试启动服务器,然后在会话中执行它:

mysql> SET GLOBAL query_cache_type = 1;

但可惜我得到:

ERROR 1651 (HY000): Query cache is disabled; restart the server with query_cache_type=1 to enable it

这确实是一个语法问题:我使用什么命令来启动带有选项 query_cache_type=1 的 sql 服务器?

4

2 回答 2

10

在 Mac OS X 10.8 上,my.cnf 文件可能位于文件夹 /usr/local/mysql-5.6.10-osx10.7-x86_64 中

在终端中搜索

$ find / -name my.cnf

在您的系统上找到它。

通过在末尾添加此行来编辑您的 my.cnf 文件

query_cache_type=1

如果您已经安装了 MySQL 首选项窗格(http://dev.mysql.com/doc/refman/5.1/en/macosx-installation-prefpane.html),或者在终端中通过写入重新启动您的 mysqld

$ sudo /usr/local/mysql/support-files/mysql.server restart

然后登录到mysql

$ mysql -h localhost -u root -p

和写

mysql> SET GLOBAL query_cache_size=40000;

如果你然后运行

$ mysql2psql

在 Rails 应用程序文件夹中,它应该转换您的数据库。

于 2013-12-07T14:39:24.377 回答
1

只需将其设置在您的 my.cnf 文件中,通常位于 /etc 中?然后重新启动。

编辑:

您还需要设置一个 query_cache_size,如果这两个设置之一设置为零,那么它将不会被启用。

于 2013-03-14T14:42:38.740 回答