用户
 找回密码
 入住 CI 中国社区
搜索
查看: 12142|回复: 35
收起左侧

在SAE上遇到the --read-only

[复制链接]
发表于 2013-3-29 14:30:29 | 显示全部楼层 |阅读模式
本帖最后由 ZZB 于 2013-3-29 14:39 编辑
  1. Error Number: 1290

  2. The MySQL server is running with the --read-only option so it cannot execute this statement
复制代码


有没有人遇到类似的问题呢?我使用的是社区发布的CodeIgniter 2.1.3 for SAE

这是跟主从库有关?SAE不是会自己判断读写然后选择主从库吗?

使用社区发布的CodeIgniter 2.1.3 for SAE 还需要再怎么修改吗?在model中直接使用$this->load->database();对吗?

下面是我的部分代码
application\config\database.php
PHP复制代码
$active_group = 'default';$active_record = TRUE;
 
$db['default']['hostname'] = SAE_MYSQL_HOST_M;//主库
$db['default']['hostname_s'] = SAE_MYSQL_HOST_S;//从库
$db['default']['username'] = SAE_MYSQL_USER;
$db['default']['password'] = SAE_MYSQL_PASS;
$db['default']['database'] = SAE_MYSQL_DB;
$db['default']['port'] = SAE_MYSQL_PORT;
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = ''; //SAE数据库缓存, 使用kvdb进行缓存. 此配置值为key前缀, 例如 "dbcache_". 若不设置, 则不缓存
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
复制代码


 楼主| 发表于 2013-3-29 14:43:57 | 显示全部楼层
我直接注释掉从库那句
发表于 2013-4-1 11:55:29 | 显示全部楼层
直接使用 $this->load->database(); 是没问题的。
你的意思是有从库那句话就报错?
你不想使用从库?
 楼主| 发表于 2013-4-1 14:48:28 | 显示全部楼层
Hex 发表于 2013-4-1 11:55
直接使用 $this->load->database(); 是没问题的。
你的意思是有从库那句话就报错?
你不想使用从库? ...

如果从库那句不注释掉,那么在写入操作时会数据库the --read-only,没法写入。
发表于 2013-4-1 15:01:15 | 显示全部楼层
本帖最后由 月夜风 于 2013-4-1 15:06 编辑

本地测试环境? 在实际SAE中是没有这个问题的。

我用本地环境是用MiniSAE那个, 也挺方便的

PS : SAE的系统是不会自动判断读写来选择主从库的
发表于 2013-4-1 15:02:24 | 显示全部楼层
ZZB 发表于 2013-4-1 14:48
如果从库那句不注释掉,那么在写入操作时会数据库the --read-only,没法写入。 ...

你执行了什么 SQL 语句?
貌似是和 SAE 的 MySQL 服务器有关系。
 楼主| 发表于 2013-4-1 16:14:09 | 显示全部楼层
月夜风 发表于 2013-4-1 15:01
本地测试环境? 在实际SAE中是没有这个问题的。

我用本地环境是用MiniSAE那个, 也挺方便的

直接在SAE上面测试的。
如果SAE不会自动判断的话,那么我们在进行读写操作时应该怎么处理呢?
 楼主| 发表于 2013-4-1 16:15:17 | 显示全部楼层
Hex 发表于 2013-4-1 15:02
你执行了什么 SQL 语句?
貌似是和 SAE 的 MySQL 服务器有关系。

只是一句insert而已,
读正常,
只有insert、update、del操作才会爆出数据库只写
发表于 2013-4-1 16:19:49 | 显示全部楼层
ZZB 发表于 2013-4-1 16:15
只是一句insert而已,
读正常,
只有insert、update、del操作才会爆出数据库只写 ...

从表面看,貌似是从库不允许写,从库是 read-only 的。
具体我还得回去看看代码。
你也可以看看相关源码,呵呵
 楼主| 发表于 2013-4-1 16:27:44 | 显示全部楼层
Hex 发表于 2013-4-1 16:19
从表面看,貌似是从库不允许写,从库是 read-only 的。
具体我还得回去看看代码。
你也可以看看相关源码 ...

我现在就是在application\config\database.php 注释掉了从库地址,暂时还一切正常。但如果可以,我还是希望可以使用从库的。

本版积分规则