小编lor*_*orm的帖子

MySQL不正确的日期时间值:'0000-00-00 00:00:00'

我最近接手了一个10年前创建的旧项目.它使用MySQL 5.1.

除此之外,我需要将默认字符集从latin1更改为utf8.

举个例子,我有这样的表:

  CREATE TABLE `users` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `first_name` varchar(45) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
    `last_name` varchar(45) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
    `username` varchar(127) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
    `email` varchar(127) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
    `pass` varchar(20) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
    `active` char(1) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT 'Y',
    `created` datetime NOT NULL,
    `last_login` datetime DEFAULT NULL,
    `author` varchar(1) …
Run Code Online (Sandbox Code Playgroud)

mysql

125
推荐指数
13
解决办法
22万
查看次数

如何在Rails应用程序中看到ENV vars?

我正在接管一个旧的Rails应用程序.一年没人接触过它.最后一位开发者在2015年4月离职,我无法联系他.我确实有ssh访问服务器,我可以访问Github仓库.

我不知道任何用户名/密码.

如果我ssh到服务器并且我捕获了database.yml文件,我会看到类似的东西:

  staging:
        adapter: mysql2
        encoding: utf8
        pool: 5
        socket: /var/lib/mysql/mysql.sock
        database: o_wawa_stage
        username: wawa_stage
        password: <%= ENV['STAGE_DATABASE_PASSWORD'] %>
        host: access.dmedia.com
Run Code Online (Sandbox Code Playgroud)

如果我运行"printenv"命令,那么我没有看到任何这些变量.我假设它们只是由Rails环境加载.

我想我可以编辑模板,用一堆"put"语句吐出值,但我认为必须有一个更明显的方法来做到这一点,除了打印公众可以看到的数据?

如果我尝试运行"rails console",我会得到:

  Rails Error: Unable to access log file. Please ensure that /var/www/haha/production/releases/20150118213616/log/development.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/www/haha/production/releases/20150118213616/log/development.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
Run Code Online (Sandbox Code Playgroud)

我在这个盒子上没有sudo,所以我无法解决这个错误.

env ruby-on-rails environment-variables

12
推荐指数
2
解决办法
1万
查看次数

AWS实例上的MongoDB,原因:错误:61连接被拒绝

Mongo 3.2版

我在AWS的一个实例上设置了MongoDB.

然后我将其添加到安全组,作为防火墙的例外.具体来说,我将其设置为客户TCP规则,端口27017除外.

如果我ssh到实例并执行:

  netstat -pl
Run Code Online (Sandbox Code Playgroud)

我可以在输出中看到:

tcp 0 0 localhost:27017 : LISTEN 2025/mongod

所以mongodb正在运行,它正在侦听端口27017,并且防火墙添加了27017的例外.

但在我的本地Mac上,当我尝试连接时,我收到一个错误:

  mongo ec2-154-52-32-196.compute-1.amazonaws.com:27017/vvvvv -u ccccc -p xxxx

  MongoDB shell version: 3.2.6
  connecting to: ec2-54-152-232-96.compute-1.amazonaws.com:27017/vvvvv
  2016-05-06T09:52:07.281-0400 W NETWORK  [thread1] Failed to connect to 54.152.232.96:27017, reason: errno:61       Connection refused
  2016-05-06T09:52:07.281-0400 E QUERY    [thread1] Error: couldn't connect to server       ec2-54-152-232-96.compute-1.amazonaws.com:27017, connection attempt failed :
  connect@src/mongo/shell/mongo.js:231:14
  @(connect):1:6

  exception: connect failed
Run Code Online (Sandbox Code Playgroud)

我还需要做什么才能连接?

[[更新]]

所以我:

  emacs /etc/mongod.conf 
Run Code Online (Sandbox Code Playgroud)

我添加0.0.0.0:

  net:
    port: 27017
    bindIp: 127.0.0.1,0.0.0.0
Run Code Online (Sandbox Code Playgroud)

然后:

  service mongod restart
  mongod stop/waiting
  mongod …
Run Code Online (Sandbox Code Playgroud)

mongodb amazon-web-services

7
推荐指数
3
解决办法
3776
查看次数